آزمایشگاه: NCC Site to Cloud با دستگاه SD-WAN

۱. مقدمه

نمای کلی

در این آزمایش، برخی از ویژگی‌های مرکز اتصال شبکه (Network Connectivity Center) را بررسی خواهید کرد.

مرکز اتصال شبکه (NCC) یک مدل صفحه کنترل هاب و اقماری برای مدیریت اتصال شبکه در Google Cloud است. منبع هاب یک مدل مدیریت اتصال متمرکز برای اتصال اقماری‌ها فراهم می‌کند. NCC در حال حاضر از منابع شبکه زیر به عنوان اقماری‌ها پشتیبانی می‌کند:

  • پیوست‌های VLAN
  • لوازم خانگی روتر
  • وی‌پی‌ان HA

Codelabs نیاز به استفاده از راهکار flexiWAN SaaS SD-WAN دارد که استقرار و مدیریت WAN را ساده می‌کند.

آنچه خواهید ساخت

در این آزمایشگاه کد، شما یک توپولوژی هاب و اسپوک SD-WAN خواهید ساخت تا سایت‌های شعبه از راه دور را که از شبکه ستون فقرات گوگل برای ارتباط سایت به ابر عبور می‌کنند، شبیه‌سازی کنید.

  1. شما یک جفت ماشین مجازی GCE پیکربندی شده برای عامل flexiWAN SD-WAN را در VPC هاب مستقر خواهید کرد که نشان دهنده سرگروه‌های ترافیک ورودی و خروجی به GCP است.
  2. دو روتر SD-WAN از راه دور flexiWAN را برای نمایش VPC دو سایت شعبه مختلف مستقر کنید
  3. برای آزمایش مسیر داده، سه ماشین مجازی GCE را برای شبیه‌سازی روی کلاینت‌های اولیه و سرور میزبانی‌شده روی GCP پیکربندی خواهید کرد.

۲۶۶۹f7a724db9d89.png

آنچه یاد خواهید گرفت

  • استفاده از NCC برای اتصال دفاتر شعب از راه دور با استفاده از یک راهکار WAN متن‌باز مبتنی بر نرم‌افزار
  • تجربه عملی با یک راهکار WAN مبتنی بر نرم‌افزار متن‌باز

آنچه نیاز دارید

  • آشنایی با شبکه GCP VPC
  • آشنایی با Cloud Router و مسیریابی BGP

۲. اهداف

  • راه‌اندازی محیط GCP
  • پیاده‌سازی نمونه‌های flexiWAN Edge در GCP
  • یک هاب NCC و flexiWAN Edge NVA به عنوان رابط ایجاد کنید.
  • پیکربندی و مدیریت نمونه‌های flexiWAN با استفاده از flexiManage
  • پیکربندی تبادل مسیر BGP بین vpc-app-svcs و flexiWAN NVA
  • ایجاد یک سایت از راه دور که یک شعبه از راه دور مشتری یا یک مرکز داده را شبیه‌سازی می‌کند
  • ایجاد یک تونل IPSEC بین سایت راه دور و NVA
  • تأیید کنید که لوازم خانگی با موفقیت مستقر شده‌اند
  • اعتبارسنجی انتقال داده سایت به فضای ابری
  • منابع استفاده شده را پاکسازی کنید

این آموزش نیاز به ایجاد یک حساب کاربری رایگان flexiManage برای احراز هویت، راه‌اندازی و مدیریت نمونه‌های flexiEdge دارد.

قبل از اینکه شروع کنی

استفاده از کنسول ابری گوگل و پوسته ابری

برای تعامل با GCP، در طول این آزمایش از هر دو کنسول ابری گوگل و پوسته ابری استفاده خواهیم کرد.

کنسول ابری گوگل

کنسول ابری از طریق آدرس https://console.cloud.google.com قابل دسترسی است.

برای آسان‌تر کردن پیکربندی Network Connectivity Center، موارد زیر را در Google Cloud تنظیم کنید:

در کنسول گوگل کلود، در صفحه انتخاب پروژه، یک پروژه گوگل کلود را انتخاب یا ایجاد کنید.

Cloud Shell را اجرا کنید. این Codelab از $variables برای کمک به پیاده‌سازی پیکربندی gcloud در Cloud Shell استفاده می‌کند.

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=[YOUR-PROJECT-NAME]
echo $projectname

نقش‌های IAM

NCC برای دسترسی به APIهای خاص به نقش‌های IAM نیاز دارد. حتماً کاربر خود را با نقش‌های IAM NCC در صورت نیاز پیکربندی کنید.

نام نقش

توضیحات

مجوزها

اتصال شبکه.مدیر شبکه

به مدیران شبکه اجازه می‌دهد تا هاب و اسپوک‌ها را مدیریت کنند.

اتصال شبکه.هاب‌ها. اتصال شبکه.اسپوک‌ها.

networkconnectivity.networkSpokeManager

امکان افزودن و مدیریت اسپوک‌ها در یک هاب را فراهم می‌کند. برای استفاده در VPC اشتراکی که در آن پروژه میزبان مالک هاب است، اما سایر مدیران در پروژه‌های دیگر می‌توانند اسپوک‌هایی را برای پیوست‌های خود به هاب اضافه کنند.

اتصال شبکه.اسپوک.**

اتصال شبکه.کاربر شبکهاتصال شبکه.بیننده شبکه

به کاربران شبکه اجازه می‌دهد تا ویژگی‌های مختلف هاب و اسپوک را مشاهده کنند.

اتصال شبکه.هاب‌ها.دریافت اتصال شبکه.هاب‌ها.لیست اتصال شبکه.پره‌ها.دریافت اتصال شبکه.لیست اتصال شبکه.پره‌ها.لیست اتصال شبکه.پره‌ها.لیست تجمیعی

۳. راه‌اندازی محیط آزمایشگاهی شبکه

نمای کلی

در این بخش، شبکه‌های VPC و قوانین فایروال را پیاده‌سازی خواهیم کرد.

a716849cffa67d48.png

شبکه‌های سایت شعبه On-Prem را شبیه‌سازی کنید

این شبکه VPC شامل زیرشبکه‌هایی برای نمونه‌های ماشین مجازی داخلی است.

شبکه‌ها و زیرشبکه‌های سایت داخلی را ایجاد کنید:

gcloud compute networks create site1-vpc \
--subnet-mode custom

gcloud compute networks create s1-inside-vpc \
--subnet-mode custom

gcloud compute networks subnets create site1-subnet \
--network site1-vpc \
--range 10.10.0.0/24 \
--region us-central1

gcloud compute networks subnets create s1-inside-subnet \
--network s1-inside-vpc \
--range 10.10.1.0/24 \
--region us-central1

قوانین فایروال site1-vpc را طوری ایجاد کنید که موارد زیر را مجاز بداند:

  • SSH، داخلی، IAP
  • ESP، UDP/500، UDP/4500
  • محدوده ۱۰.۰.۰.۰/۸
  • محدوده ۱۹۲.۱۶۸.۰.۰/۱۶
gcloud compute firewall-rules create site1-ssh \--network site1-vpc \
--allow tcp:22

gcloud compute firewall-rules create site1-internal \
--network site1-vpc \
--allow all \
--source-ranges 10.0.0.0/8

gcloud compute firewall-rules create site1-cloud \
--network site1-vpc \
--allow all \
--source-ranges 192.168.0.0/16

gcloud compute firewall-rules create site1-vpn \
--network site1-vpc \
--allow esp,udp:500,udp:4500 \
--target-tags router

gcloud compute firewall-rules create site1-iap \
--network site1-vpc --allow tcp:22 --source-ranges=35.235.240.0/20

قوانین فایروال s1-inside-vpc را طوری ایجاد کنید که موارد زیر را مجاز بداند:

  • SSH، داخلی، IAP
  • محدوده ۱۰.۰.۰.۰/۸
  • محدوده ۱۹۲.۱۶۸.۰.۰/۱۶
gcloud compute firewall-rules create s1-inside-ssh \
--network s1-inside-vpc \
--allow tcp:22

gcloud compute firewall-rules create s1-inside-internal \
--network s1-inside-vpc \
--allow all \
--source-ranges 10.0.0.0/8

gcloud compute firewall-rules create s1-inside-cloud \
--network s1-inside-vpc  \
--allow all \
--source-ranges 192.168.0.0/16

gcloud compute firewall-rules create s1-inside-iap \
--network site2-vpc --allow tcp:22 --source-ranges=35.235.240.0/20

برای اهداف آزمایشی، نمونه‌های s1-inside-vm و s2-inside-vm را ایجاد کنید.

gcloud compute instances create s1-vm \
--zone=us-central1-a \
--machine-type=e2-micro \
--network-interface subnet=s1-inside-subnet,private-network-ip=10.10.1.3,no-address

شبیه‌سازی محیط شبکه ابری GCP

برای فعال کردن ترافیک سایت به سایت بین منطقه‌ای از طریق شبکه hub-vpc و اسپوک‌ها، باید مسیریابی سراسری را در شبکه hub-vpc فعال کنید. برای اطلاعات بیشتر به NCC route exchange مراجعه کنید.

  1. ایجاد شبکه و زیرشبکه‌های hub-vpc :
gcloud compute networks create hub-vpc \
--subnet-mode custom \
--bgp-routing-mode=global

gcloud compute networks subnets create hub-subnet1 \
--network hub-vpc \
--range 10.1.0.0/24 \
--region us-central1

gcloud compute networks subnets create hub-subnet2 \
--network hub-vpc \
--range 10.2.0.0/24 \
--region us-east4
  1. ایجاد شبکه و زیرشبکه‌های workload-vpc :
gcloud compute networks create workload-vpc \
--subnet-mode custom \
--bgp-routing-mode=global

gcloud compute networks subnets create workload-subnet1 \
--network workload-vpc \
--range 192.168.235.0/24 \
--region us-central1
  1. قوانین فایروال Hub-VPC را طوری ایجاد کنید که موارد زیر را مجاز بداند:
  • اس‌اس‌اچ
  • ESP، UDP/500، UDP/4500
  • محدوده داخلی 10.0.0.0/8 (که پورت TCP 179 مورد نیاز برای جلسه BGP از روتر ابری به دستگاه روتر را پوشش می‌دهد)
gcloud compute firewall-rules create hub-ssh \
--network hub-vpc \
--allow tcp:22

gcloud compute firewall-rules create hub-vpn \
--network hub-vpc \
--allow esp,udp:500,udp:4500 \
--target-tags router

gcloud compute firewall-rules create hub-internal \
--network hub-vpc \
--allow all \
--source-ranges 192.168.0.0/16

gcloud compute firewall-rules create hub-iap \
--network hub-vpc --allow tcp:22 --source-ranges=35.235.240.0/20
  1. قوانین فایروال Workload-VPC را طوری ایجاد کنید که موارد زیر را مجاز بداند:
  • اس‌اس‌اچ
  • محدوده داخلی ۱۹۲.۱۶۸.۰.۰/۱۶ (که پورت TCP ۱۷۹ مورد نیاز برای جلسه BGP از روتر ابری به دستگاه روتر را پوشش می‌دهد)
gcloud compute firewall-rules create workload-ssh \
--network workload-vpc \
--allow tcp:22

gcloud compute firewall-rules create workload-internal \
--network workload-vpc \
--allow all \
--source-ranges 192.168.0.0/16

gcloud compute firewall-rules create workload-onprem \
--network hub-vpc \
--allow all \
--source-ranges 10.0.0.0/8

gcloud compute firewall-rules create workload-iap \
--network workload-vpc --allow tcp:22 --source-ranges=35.235.240.0/20
  1. فعال کردن Cloud NAT در workload-VPC تا به workload1-vm اجازه دهد با ایجاد یک Cloud Router و NAT Gateway بسته‌ها را دانلود کند.
gcloud compute routers create cloud-router-usc-central-1-nat \
    --network workload-vpc \
    --region us-central1
gcloud compute routers nats create cloudnat-us-central1 \
    --router=cloud-router-usc-central-1-nat \
    --auto-allocate-nat-external-ips \
    --nat-all-subnet-ip-ranges \
    --region us-central1
  1. workload1-vm را in "us-central1-a" in workload-VPC ایجاد کنید، از این میزبان برای تأیید اتصال سایت به ابر استفاده خواهید کرد.
gcloud compute instances create workload1-vm \
    --project=$projectname \
    --machine-type=e2-micro \
    --image-family debian-10 \
    --image-project debian-cloud \
    --zone us-central1-a \
    --private-network-ip 192.168.235.3 \
        --no-address \
    --subnet=workload-subnet1 \
    --metadata startup-script="#! /bin/bash
      sudo apt-get update
      sudo apt-get install apache2 -y
      sudo service apache2 restart
      echo 'Welcome to Workload VM1 !!' | tee /var/www/html/index.html
      EOF"

۴. راه‌اندازی روی دستگاه‌های Prem برای SD-WAN

80061623e9950756.png

ایجاد ماشین مجازی On-Prem برای SDWAN (لوازم خانگی)

در بخش بعدی، site1-nva را ایجاد خواهیم کرد که به عنوان روترهای داخلی عمل می‌کند.

ایجاد نمونه‌ها

دستگاه site1-router را با نام site1-nva ایجاد کنید.

gcloud compute instances create site1-nva \
--zone=us-central1-a \
--machine-type=e2-medium \
--network-interface subnet=site1-subnet \
--network-interface subnet=s1-inside-subnet,no-address \
--create-disk=auto-delete=yes,boot=yes,device-name=flex-gcp-nva-1,image=projects/ubuntu-os-cloud/global/images/ubuntu-1804-bionic-v20220901,mode=rw,size=20,type=projects/$projectname/zones/us-central1-a/diskTypes/pd-balanced \
--no-shielded-secure-boot \
--shielded-vtpm \
--shielded-integrity-monitoring \
--reservation-affinity=any \
--can-ip-forward

۵. نصب flexiWAN در site1-nva

یک اتصال SSH به site1-nva باز کنید، در صورت اتمام مهلت، دوباره امتحان کنید

gcloud compute ssh site1-nva --zone=us-central1-a

نصب flexiWAN در site1-nva

sudo su 

sudo curl -sL https://deb.flexiWAN.com/setup | sudo bash -
apt install flexiWAN-router -y

ماشین مجازی را برای ثبت صفحه کنترل flexiWAN آماده کنید.

پس از اتمام نصب flexiWAN، دستور fwsystem_checker را اجرا کنید تا ماشین مجازی برای عملیات flexiWAN آماده شود. این دستور نیازمندی‌های سیستم را بررسی کرده و به رفع خطاهای پیکربندی در سیستم شما کمک می‌کند.

  • برای پیکربندی سریع و بی‌صدا، گزینه 2 را انتخاب کنید
  • بعد از آن با 0 خارج شوید.
  • پنجره پوسته ابری را نبندید.
root@site-1-nva-1:/home/user# fwsystem_checker
 
<output snipped>

        [0] - quit and use fixed parameters
         1  - check system configuration
         2  - configure system silently
         3  - configure system interactively
         4  - restore system checker settings to default
        ------------------------------------------------
Choose: 2

<output snipped>

        [0] - quit and use fixed parameters
         1  - check system configuration
         2  - configure system silently
         3  - configure system interactively
         4  - restore system checker settings to default
        ------------------------------------------------
Choose: 0
Please wait..
Done.
=== system checker ended ====

جلسه را برای مراحل زیر باز بگذارید

۶. ثبت site1-nva با کنترلر SD-WAN

این مراحل برای تکمیل آماده‌سازی flexiWAN مورد نیاز است. NVA از کنسول flexiManage مدیریت می‌شود. قبل از ادامه، مطمئن شوید که سازمان flexiWAN راه‌اندازی شده است.

با ورود به حساب کاربری flexiManage، با استفاده از یک توکن امنیتی، flexiWAN NVA تازه مستقر شده را با flexiManage تأیید اعتبار کنید. همین توکن را می‌توان در تمام دستگاه‌های روتر دوباره استفاده کرد.

موجودی → توکن‌ها را انتخاب کنید، یک توکن ایجاد کنید و کپی آن را انتخاب کنید.

12c173b589d220ee.png

به Cloud Shell (site1-nva) برگردید و با انجام مراحل زیر، توکن را در دایرکتوری /etc/flexiWAN/agent/token.txt قرار دهید.

nano /etc/flexiWAN/agent/token.txt
#Paste the generated token obtain from flexiManage
#Exit session with CTRL+X and Select Y to save then enter

۲۲e1cf5bad3d3086.png

روترهای سایت را در کنسول flexiManage فعال کنید

برای فعال کردن site1-nva روی کنترلر، به کنسول flexiManage وارد شوید.

در پنل سمت چپ، گزینه‌ی «موجودی → دستگاه‌ها» را انتخاب کنید ، روی دستگاه «ناشناخته» کلیک کنید.

f7719c28f78e907a.png

نام میزبان site1-nva را وارد کنید و با کشیدن دکمه به سمت راست، دستگاه را تأیید کنید.

9a6c6c45e1cad732.png

برگه « رابط‌ها» را انتخاب کنید

ستون « اختصاص داده شده » را پیدا کنید و روی « خیر » کلیک کنید و تنظیمات را به « بله » تغییر دهید

a8772059968af13e.png

تب فایروال را انتخاب کنید و برای اضافه کردن یک قانون فایروال ورودی، روی علامت "+" کلیک کنید.

رابط WAN را برای اعمال قانون ssh همانطور که در زیر توضیح داده شده است، انتخاب کنید.

df03b8a6c817ccd2.png

روی « به‌روزرسانی دستگاه » کلیک کنید

۹۶b9feb77b8517cd.png

site1-nva را از کنترلر flexiWAN شروع کنید. به Inventory → Devices → site1-nva برگردید و 'Start Device' را انتخاب کنید.

708215cf91ffc09.png

وضعیت - همگام‌سازی

918d72eeacc386fa.png

وضعیت - همگام‌سازی شده

۵۱۳۵۰۹۶dbff۴۹۸۱۹.png

نشانگر هشدار در مسیر عیب‌یابی → اعلان‌ها قابل مشاهده است. پس از مشاهده، همه را انتخاب کرده و سپس به عنوان خوانده شده علامت‌گذاری کنید.

9e79db3572f91925.png

۷. راه‌اندازی هاب SDWAN Appliances

در بخش بعدی، روترهای هاب (hub-r1) را همانطور که قبلاً با مسیرهای سایت اجرا شده بود، با کنترلر flexiWAN ایجاد و ثبت خواهید کرد.

یک تب جدید باز کنید و یک جلسه Cloud Shell ایجاد کنید، متغیر $variables را برای کمک به پیاده‌سازی پیکربندی gcloud به‌روزرسانی کنید.

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=[YOUR-PROJECT-NAME]
echo $projectname

ایجاد نمونه‌های NVA هاب

دستگاه hub-r1 را ایجاد کنید:

gcloud compute instances create hub-r1 \
--zone=us-central1-a \
--machine-type=e2-medium \
--network-interface subnet=hub-subnet1 \
--network-interface subnet=workload-subnet1,no-address \
--can-ip-forward \
--create-disk=auto-delete=yes,boot=yes,device-name=flex-gcp-nva-1,image=projects/ubuntu-os-cloud/global/images/ubuntu-1804-bionic-v20220901,mode=rw,size=20,type=projects/$projectname/zones/us-central1-a/diskTypes/pd-balanced \
--no-shielded-secure-boot \
--shielded-vtpm \
--shielded-integrity-monitoring \
--reservation-affinity=any

۸. نصب flexiWAN روی Hub Instances برای hub-r1

یک اتصال SSH به hub-r1 باز کنید

gcloud compute ssh hub-r1 --zone=us-central1-a

عامل flexiWAN را روی هر دو hub-r1 نصب کنید

sudo su
sudo curl -sL https://deb.flexiWAN.com/setup | sudo bash -
apt install flexiWAN-router -y

ماشین‌های مجازی hub-r1 را برای ثبت flexiWAN آماده کنید.

پس از اتمام نصب flexiWAN، دستور fwsystem_checker اجرا کنید تا ماشین مجازی برای عملیات flexiWAN آماده شود. این دستور نیازمندی‌های سیستم را بررسی کرده و به رفع خطاهای پیکربندی در سیستم شما کمک می‌کند.

root@hub-r1:/home/user# fwsystem_checker
  • برای پیکربندی سریع و بی‌صدا، گزینه 2 را انتخاب کنید
  • بعد از آن با 0 خارج شوید.
  • پنجره پوسته ابری را نبندید.

۹. ماشین‌های مجازی hub-r1 را روی کنترلر FlexManage ثبت کنید

با ورود به حساب flexiManage، با استفاده از یک توکن امنیتی، flexiWAN NVA تازه مستقر شده را با flexiManage تأیید اعتبار کنید.

  • موجودی → توکن‌ها را انتخاب کنید و توکن را کپی کنید.

به Cloud Shell (hub-r1) برگردید و با انجام مراحل زیر، توکن را در دایرکتوری /etc/flexiWAN/agent/token.txt قرار دهید.

nano /etc/flexiWAN/agent/token.txt
#Paste the generated token obtain from flexiManage
#Exit session with CTRL+X and Select Y to save then enter

روترهای هاب hub-r1 را در کنسول flexiManage فعال کنید

وارد کنسول flexiManage شوید

  • به موجودی → دستگاه‌ها بروید
  • پیدا کنید و توجه داشته باشید که نام میزبان برای hub-r1 "ناشناخته" است.

1a88ffa4409ad3c0.png

دستگاه ناشناخته را با نام میزبان hub-r1 انتخاب کنید

  • نام میزبان hub-r1 را وارد کنید
  • دستگاه را تأیید کنید ، دکمه چرخان را به سمت راست بکشید.

برگه رابط‌ها را انتخاب کنید

  • ستون "اختصاص داده شده" را پیدا کنید
  • در کنار ردیف رابط، روی «خیر» کلیک کنید تا تنظیمات به «بله» تغییر کند.

برگه فایروال را انتخاب کنید

  • برای افزودن قانون فایروال ورودی، روی « + » کلیک کنید
  • رابط WAN را برای ارث بری از قانون انتخاب کنید
  • پورت ۲۲ SSH را با پروتکل TCP مجاز کنید
  • روی « به‌روزرسانی دستگاه » کلیک کنید

دستگاه hub-r1 را برای SD-WAN از کنترلر flexiWAN راه‌اندازی کنید.

  • بازگشت به موجودی → دستگاه‌ها → hub-r1

« شروع دستگاه » را انتخاب کنید

  • منتظر بمانید تا همگام‌سازی کامل شود و وضعیت « در حال اجرا » را یادداشت کنید

۱۰. مرکز اتصال شبکه در مرکز GCP

a5a454f4a30df82e.png

فعال کردن سرویس‌های API

اگر هنوز API اتصال شبکه فعال نشده است، آن را فعال کنید:

gcloud services enable networkconnectivity.googleapis.com

ایجاد مرکز NCC

gcloud network-connectivity hubs create ncc-hub
Create request issued for: [ncc-hub]
Waiting for operation [projects/user-3p-dev/locations/global/operations/operation-1668793629598-5edc24b7ee3ce-dd4c765b-5ca79556] to complete...done.     
Created hub [ncc-hub]

هر دو دستگاه روتر را به عنوان یک NCC spoke پیکربندی کنید

آدرس URL و IP هر دو hub-r1 را پیدا کنید و خروجی را یادداشت کنید. در مرحله بعدی به این اطلاعات نیاز خواهید داشت.

حتماً آدرس IP نمونه hub-r1 را یادداشت کنید.

gcloud compute instances describe hub-r1 \
--zone=us-central1-a \
--format="value(selfLink.scope(projects))"

gcloud compute instances describe hub-r1 --zone=us-central1-a | grep "networkIP"

networkIP vnic مربوط به hub-r1 را به عنوان یک اسپوک اضافه کنید. به طور پیش‌فرض، انتقال داده سایت به سایت غیرفعال است.

gcloud network-connectivity spokes linked-router-appliances create s2c-wrk-cr1 \
--hub=ncc-hub \
--router-appliance=instance="https://www.googleapis.com/compute/projects/$projectname/zones/us-central1-a/instances/hub-r1",ip=192.168.235.4 \
--region=us-central1 \
--site-to-site-data-transfer

پیکربندی روتر ابری برای برقراری BGP با Hub-R1

در مرحله بعد، روتر ابری را ایجاد کنید و زیرشبکه VPC با حجم کار ۱۹۲.۱۶۸.۲۳۵.۰/۲۴ را اعلام کنید.

روتر ابری را در us-central1 ایجاد کنید که با hub-r1 با BGP ارتباط برقرار کند.

gcloud compute routers create wrk-cr1 \
--region=us-central1 \
--network=workload-vpc \
--asn=65002 \
--set-advertisement-groups=all_subnets

با پیکربندی دستگاه‌های روتر به عنوان NCC Spoke، این امر روتر ابری را قادر می‌سازد تا BGP را روی رابط‌های مجازی مذاکره کند.

دو رابط روی روتر ابری ایجاد کنید که پیام‌های BGP را با hub-r1 رد و بدل کنند.

آدرس‌های IP از زیرشبکه بار کاری انتخاب می‌شوند و در صورت نیاز می‌توان آنها را تغییر داد.

gcloud compute routers add-interface wrk-cr1 \
--region=us-central1 \
--subnetwork=workload-subnet1 \
--interface-name=int0 \
--ip-address=192.168.235.101 

gcloud compute routers add-interface wrk-cr1 \
--region=us-central1 \
--subnetwork=workload-subnet1 \
--interface-name=int1 \
--ip-address=192.168.235.102 \
--redundant-interface=int0

رابط روتر ابری را طوری پیکربندی کنید که BGP را با vNIC-1 مربوط به hub-r1 برقرار کند، آدرس IP نظیر را با آدرس IP مربوط به networkIP مربوط به hub-r1 به‌روزرسانی کنید. توجه داشته باشید که آدرس IP یکسانی برای int0 و int1 استفاده می‌شود.

gcloud compute routers add-bgp-peer wrk-cr1 \
    --peer-name=hub-cr1-bgp-peer-0 \
    --interface=int0 \
    --peer-ip-address=192.168.235.4 \
    --peer-asn=64111 \
    --instance=hub-r1 \
    --instance-zone=us-central1-a \
    --region=us-central1

gcloud compute routers add-bgp-peer wrk-cr1 \
    --peer-name=hub-cr1-bgp-peer-1 \
    --interface=int1 \
    --peer-ip-address=192.168.235.4 \
    --peer-asn=64111 \
    --instance=hub-r1 \
    --instance-zone=us-central1-a \
    --region=us-central1

وضعیت BGP را بررسی کنید، در این مرحله از کدنویسی، BGP در حالت "connect state" قرار دارد زیرا روتر شبکه برای BGP پیکربندی نشده است.

gcloud compute routers get-status wrk-cr1 --region=us-central1

۱۱. پیکربندی دستگاه‌های روتر هاب برای BGP

پیکربندی hub-r1 برای BGP

حتماً به کنسول flexiManage وارد شوید

به مسیر InventoryDeviceshub-r1 بروید و دستگاهی را که HostName:hub-r1 دارد انتخاب کنید.

  • روی برگه «مسیریابی» کلیک کنید
  • روی «پیکربندی BGP» کلیک کنید
  • غیرفعال کردن «توزیع مجدد مسیرهای OSPF»
  • hub-r1 را برای BGP با این پارامترها پیکربندی کنید و روی "ذخیره" کلیک کنید.

8d470056f620717f.png

تب « رابط‌ها » را انتخاب کنید، رابط LAN را پیدا کنید، ستون « مسیریابی » را پیدا کنید

  • برای باز کردن منو و انتخاب BGP به عنوان پروتکل مسیریابی، روی « هیچکدام » کلیک کنید.

۸۲۳۱۰aab05e9e414.png

  • در بالای صفحه، روی «به‌روزرسانی دستگاه» کلیک کنید

۱۲. تبادل مسیر BGP بین دستگاه‌های روتر

ایجاد ASN محلی برای سایت‌های دورافتاده

یک BGP ASN محلی برای site1-nva پیکربندی کنید، پس از پیکربندی، یک تونل IPSEC بین سایت‌های راه دور و روترهای هاب برقرار خواهیم کرد.

دستگاهی را با HostName:site1-nva انتخاب کنید.

  • روی برگه «مسیریابی» کلیک کنید
  • روی «پیکربندی BGP» کلیک کنید
  • غیرفعال کردن «توزیع مجدد مسیرهای OSPF»
  • ASN محلی ۷۲۶۹ → ذخیره
  • دستگاه را به‌روزرسانی کنید
  • تب رابط‌ها → مسیریابی → BGP
  • دستگاه را به‌روزرسانی کنید

پیکربندی تونل‌های VPN بین دستگاه‌های Site1 و Hub1

حتماً به کنسول flexiManage وارد شوید

  • به موجودی → دستگاه‌ها بروید
  • برای ساخت یک تونل VPN بین این جفت NVA، کادر کنار نام میزبان site1-nva و hub-r1 را انتخاب کنید.
  • روی اقدامات → ایجاد تونل‌ها کلیک کنید و موارد زیر را پیکربندی کنید

d870b4049a0e7fcf.png

c50d794442c0bdd0.png

  • ایجاد تونل‌ها را انتخاب کنید

تأیید کنید که "site1-nva" مسیرهای زیرشبکه‌های 192.168.235.0/24 و 192.168.236.0/24 را یاد گرفته است.

  • موجودی → دستگاه‌ها → سایت1-nva را انتخاب کنید و روی برگه «مسیریابی» کلیک کنید.

در مثال خروجی زیر، flexiWAN به طور خودکار تونل را با استفاده از آدرس IP میزبان 10.100.0.6 ایجاد کرد. cef8dee200ac600a.png

۱۳. اتصال مسیر داده را تأیید کنید

اتصال سایت به ابر را از طریق prem تأیید کنید

به نمودار مراجعه کنید، تأیید کنید که مسیر داده بین s1-vm و workload1-vm

e96022cff4642f9.png

پیکربندی مسیرهای استاتیک VPC برای سایت به ابر

Site1-VPC مستقر در محل، یک شبکه مرکز داده مستقر در محل را شبیه‌سازی می‌کند.

هر دو دستگاه روتر Site-1-nva از اتصال VPN برای دسترسی به شبکه هاب استفاده می‌کنند.

برای مورد استفاده از سایت به فضای ابری**،** مسیرهای ایستا به مقصد 192.168.0.0/16 با استفاده از دستگاه روتر به عنوان گام بعدی برای رسیدن به شبکه‌ها در شبکه ابری GCP ایجاد کنید.

روی s1-inside-vpc، یک مسیر ثابت برای مقصد ابری (192.168.0.0/16) ایجاد کنید:

gcloud compute routes create site1-subnet-route  \
--network=s1-inside-vpc \
--destination-range=192.168.0.0/16  \
--next-hop-instance=site1-nva \
--next-hop-instance-zone=us-central1-a

در cloudshell، آدرس IP مربوط به workload1-vmnee را جستجو کنید. برای آزمایش اتصال از " s1-vm " به این آدرس نیاز خواهید داشت.

gcloud compute instances describe workload1-vm --zone=us-central1-a | grep "networkIP"

از طریق SSH به " s1-vm" متصل شوید و با استفاده از دستور " curl" یک نشست TCP به آدرس IP مربوط به workload1-VM برقرار کنید.

s1-vm:~$ curl 192.168.235.3 -vv
*   Trying 192.168.235.3:80...
* Connected to 192.168.235.3 (192.168.235.3) port 80 (#0)
> GET / HTTP/1.1
> Host: 192.168.235.3
> User-Agent: curl/7.74.0
> Accept: */*
> 
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Wed, 07 Dec 2022 15:12:08 GMT
< Server: Apache/2.4.54 (Debian)
< Last-Modified: Tue, 06 Dec 2022 00:57:46 GMT
< ETag: "1f-5ef1e4acfa1d9"
< Accept-Ranges: bytes
< Content-Length: 31
< Content-Type: text/html
< 
Page served from: workload1-vm
* Connection #0 to host 192.168.235.3 left intact

۱۴. تمیز کردن

منابع On Prem را حذف کنید

به پوسته ابری وارد شوید و نمونه‌های ماشین مجازی را در شبکه‌های سایت‌های هاب و شعبه حذف کنید

#onprem instances
gcloud compute instances delete s1-vm --zone=us-central1-a --quiet


#delete on prem firewall rules
gcloud compute firewall-rules delete site1-ssh --quiet
gcloud compute firewall-rules delete site1-internal --quiet
gcloud compute firewall-rules delete site1-cloud --quiet
gcloud compute firewall-rules delete site1-vpn  --quiet
gcloud compute firewall-rules delete site1-iap --quiet


#delete on prem subnets
gcloud compute networks subnets delete site1-subnet --quiet
gcloud compute networks subnets delete s1-inside-subnet --quiet
gcloud compute networks subnets delete s1-inside-subnet --quiet


#delete on prem vpcs
gcloud compute networks delete site1-vpc --quiet
gcloud compute networks delete s1-inside-vpc --quiet

منابع Cloud Hub را حذف کنید

به پوسته ابری وارد شوید و نمونه‌های ماشین مجازی را در شبکه‌های سایت‌های هاب و شعبه حذف کنید

#delete ncc spokes
gcloud network-connectivity spokes delete s2c-wrk-cr1 --region us-central1 --quiet

#delete ncc hub
gcloud network-connectivity hubs delete ncc-hub --quiet


#delete hub instances
gcloud compute instances delete hub-r1 --zone=us-central1-a --quiet


#delete hub firewall rule
gcloud compute firewall-rules delete hub-ssh --quiet
gcloud compute firewall-rules delete hub-vpn --quiet
gcloud compute firewall-rules delete hub-internal --quiet
gcloud compute firewall-rules delete hub-iap --quiet

gcloud compute firewall-rules create workload-ssh --quiet
gcloud compute firewall-rules create workload-internal --quiet
gcloud compute firewall-rules create workload-onprem --quiet
gcloud compute firewall-rules create workload-iap --quiet

#delete hub subnets
gcloud compute networks subnets delete workload-subnet1 --quiet

gcloud compute networks subnets delete hub-subnet1 --quiet

#delete hub vpcs
gcloud compute networks delete workload-vpc --quiet
gcloud compute networks delete hub-vpc --quiet

۱۵. تبریک می‌گویم!

شما آزمایشگاه مرکز اتصال شبکه را به پایان رسانده‌اید!

آنچه را که پوشش دادید

  • یکپارچه‌سازی WAN تعریف‌شده توسط نرم‌افزار برای سایت NCC به فضای ابری

مراحل بعدی

©Google, LLC یا شرکت‌های وابسته به آن. تمامی حقوق محفوظ است. توزیع نکنید.