ห้องทดลอง: เว็บไซต์ NCC ไปยังระบบคลาวด์พร้อม SD-WAN Appliance

1. บทนำ

ภาพรวม

ในบทแนะนำนี้ คุณจะได้สำรวจฟีเจอร์บางอย่างของศูนย์การเชื่อมต่อเครือข่าย

ศูนย์การเชื่อมต่อเครือข่าย (NCC) เป็นรูปแบบ Control Plane แบบฮับและ Spoke สำหรับการจัดการการเชื่อมต่อเครือข่ายใน Google Cloud ทรัพยากรฮับเป็นโมเดลการจัดการการเชื่อมต่อแบบรวมศูนย์เพื่อเชื่อมต่อกับ Spoke ปัจจุบัน NCC รองรับทรัพยากรเครือข่ายต่อไปนี้เป็น Spoke

  • ไฟล์แนบ VLAN
  • อุปกรณ์เราเตอร์
  • VPN ความพร้อมใช้งานสูง

Codelabs กำหนดให้ต้องใช้ โซลูชัน SD-WAN ของ flexiWAN SaaS ซึ่งทำให้การติดตั้งใช้งานและการจัดการ WAN ง่ายขึ้น

สิ่งที่คุณจะสร้าง

ในโค้ดแล็บนี้ คุณจะได้สร้างโทโปโลยีฮับและ Spoke ของ SD-WAN เพื่อจำลองไซต์สาขาระยะไกลที่จะข้ามเครือข่ายแบ็กโบนของ Google เพื่อการสื่อสารจากไซต์ไปยังระบบคลาวด์

  1. คุณจะติดตั้งใช้งาน VM ของ GCE 2 เครื่องที่กำหนดค่าสำหรับตัวแทน SD-WAN ของ flexiWAN ใน VPC ฮับซึ่งแสดงถึงส่วนหัวสำหรับการรับส่งข้อมูลขาเข้าและขาออกไปยัง GCP
  2. ติดตั้งใช้งานเราเตอร์ SD-WAN ของ flexiWAN ระยะไกล 2 ตัวเพื่อแสดงถึง VPC ของสาขา 2 แห่งที่แตกต่างกัน
  3. สำหรับการทดสอบเส้นทางข้อมูล คุณจะต้องกำหนดค่า GCE VM 3 เครื่องเพื่อจำลองไคลเอ็นต์และเซิร์ฟเวอร์ในองค์กรที่โฮสต์ใน GCP

2669f7a724db9d89.png

สิ่งที่คุณจะได้เรียนรู้

  • การใช้ NCC เพื่อเชื่อมต่อสำนักงานสาขาระยะไกลโดยใช้โซลูชัน WAN แบบกำหนดโดยซอฟต์แวร์แบบโอเพนซอร์ส
  • ประสบการณ์การใช้งานจริงกับโซลูชัน WAN แบบ Software Defined ที่ใช้ซอฟต์แวร์โอเพนซอร์ส

สิ่งที่ต้องมี

  • ความรู้เกี่ยวกับเครือข่าย VPC ของ GCP
  • ความรู้เกี่ยวกับเราเตอร์ระบบคลาวด์และการกำหนดเส้นทาง BGP

2. วัตถุประสงค์

  • ตั้งค่าสภาพแวดล้อม GCP
  • ติดตั้งใช้งานอินสแตนซ์ flexiWAN Edge ใน GCP
  • สร้าง NCC Hub และ flexiWAN Edge NVA เป็น Spoke
  • กำหนดค่าและจัดการอินสแตนซ์ flexiWAN โดยใช้ flexiManage
  • กำหนดค่าการแลกเปลี่ยนเส้นทาง BGP ระหว่าง vpc-app-svcs กับ NVA ของ flexiWAN
  • สร้างเว็บไซต์ระยะไกลที่จำลองสาขาระยะไกลของลูกค้าหรือศูนย์ข้อมูล
  • สร้างอุโมงค์ IPSEC ระหว่างไซต์ระยะไกลกับ NVA
  • ยืนยันว่าติดตั้งใช้งานแอปพลิเคชันเรียบร้อยแล้ว
  • ตรวจสอบการโอนข้อมูลจากเว็บไซต์ไปยังระบบคลาวด์
  • ล้างทรัพยากรที่ใช้แล้ว

บทแนะนำนี้กำหนดให้สร้างบัญชี flexiManage ฟรีเพื่อตรวจสอบสิทธิ์ เริ่มต้นใช้งาน และจัดการอินสแตนซ์ flexiEdge

ก่อนเริ่มต้น

การใช้ Google Cloud Console และ Cloud Shell

เราจะใช้ทั้ง Google Cloud Console และ Cloud Shell ตลอดทั้งห้องทดลองนี้เพื่อโต้ตอบกับ GCP

Google Cloud Console

ไปที่คอนโซลระบบคลาวด์ได้ที่ https://console.cloud.google.com

ตั้งค่ารายการต่อไปนี้ใน Google Cloud เพื่อให้กำหนดค่าศูนย์การเชื่อมต่อเครือข่ายได้ง่ายขึ้น

ในคอนโซล Google Cloud ให้เลือกหรือสร้างโปรเจ็กต์ Google Cloud ในหน้าตัวเลือกโปรเจ็กต์

เปิด Cloud Shell Codelab นี้ใช้ตัวแปร $เพื่อช่วยให้การติดตั้งใช้งานการกําหนดค่า gcloud ใน Cloud Shell ง่ายขึ้น

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

บทบาท IAM

NCC กำหนดให้ต้องใช้บทบาท IAM เพื่อเข้าถึง API บางรายการ อย่าลืมกำหนดค่าผู้ใช้ด้วยบทบาท IAM ของ NCC ตามที่จำเป็น

ชื่อบทบาท

คำอธิบาย

สิทธิ์

networkconnectivity.networkAdmin

อนุญาตให้ผู้ดูแลระบบเครือข่ายจัดการฮับและ Spoke

networkconnectivity.hubs.networkconnectivity.spokes.

networkconnectivity.networkSpokeManager

อนุญาตให้เพิ่มและจัดการ Spoke ในฮับ สำหรับใช้ใน VPC ที่แชร์ซึ่งโปรเจ็กต์โฮสต์เป็นเจ้าของฮับ แต่ผู้ดูแลระบบคนอื่นๆ ในโปรเจ็กต์อื่นๆ สามารถเพิ่ม Spoke สำหรับไฟล์แนบของตนลงในฮับได้

networkconnectivity.spokes.**

networkconnectivity.networkUsernetworkconnectivity.networkViewer

อนุญาตให้ผู้ใช้เครือข่ายดูแอตทริบิวต์ต่างๆ ของฮับและ Spoke

networkconnectivity.hubs.getnetworkconnectivity.hubs.listnetworkconnectivity.spokes.getnetworkconnectivity.spokes.listnetworkconnectivity.spokes.aggregatedList

3. ตั้งค่าสภาพแวดล้อมห้องทดลองเครือข่าย

ภาพรวม

ในส่วนนี้ เราจะทำให้เครือข่าย VPC และกฎไฟร์วอลล์ใช้งานได้

a716849cffa67d48.png

จำลองเครือข่ายของไซต์สาขาในองค์กร

เครือข่าย VPC นี้มีซับเน็ตสำหรับอินสแตนซ์ VM ในองค์กร

สร้างเครือข่ายและซับเน็ตของไซต์ในสถานที่ดังนี้

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
  • ช่วง 10.0.0.0/8
  • ช่วง 192.168.0.0/16
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
  • ช่วง 10.0.0.0/8
  • ช่วง 192.168.0.0/16
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

จำลองสภาพแวดล้อมเครือข่าย Cloud ของ GCP

หากต้องการเปิดใช้การรับส่งข้อมูลแบบเว็บไซต์ต่อเว็บไซต์ข้ามภูมิภาคผ่านเครือข่าย hub-vpc และ Spoke คุณต้องเปิดใช้การกำหนดเส้นทางส่วนกลางในเครือข่าย hub-vpc อ่านเพิ่มเติมในการแลกเปลี่ยนเส้นทางของ NCC

  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. สร้างกฎไฟร์วอลล์ของฮับ-VPC เพื่ออนุญาตการดำเนินการต่อไปนี้
  • SSH
  • ESP, UDP/500, UDP/4500
  • ช่วงภายใน 10.0.0.0/8 (ซึ่งครอบคลุมพอร์ต TCP 179 ที่จําเป็นสําหรับเซสชัน BGP จาก Cloud Router ไปยังแอปเพลiance เราเตอร์)
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. สร้างกฎไฟร์วอลล์สำหรับเวิร์กโหลด-VPC เพื่ออนุญาตการดำเนินการต่อไปนี้
  • SSH
  • ช่วงภายใน 192.168.0.0/16 (ซึ่งครอบคลุมพอร์ต TCP 179 ที่จําเป็นสําหรับเซสชัน BGP จากเราเตอร์ระบบคลาวด์ไปยังแอปเพลiance เราเตอร์)
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"

4. ตั้งค่าเครื่องใช้ในบ้านสำหรับ SD-WAN

80061623e9950756.png

สร้าง VM ในองค์กรสำหรับ 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

5. ติดตั้ง 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

เตรียม VM สำหรับการลงทะเบียน Control Plane ของ flexiWAN

หลังจากติดตั้ง flexiWAN เสร็จแล้ว ให้เรียกใช้คําสั่ง fwsystem_checker เพื่อเตรียม VM สําหรับการดําเนินการของ flexiWAN คำสั่งนี้จะตรวจสอบข้อกำหนดของระบบและช่วยแก้ไขข้อผิดพลาดในการกำหนดค่าในระบบ

  • เลือกตัวเลือก 2 สำหรับการกําหนดค่าอย่างรวดเร็วและไม่มีเสียง
  • ออกหลังจากนั้นด้วย 0
  • อย่าปิดหน้าต่าง Cloud Shell
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 ====

โปรดเปิดเซสชันไว้เพื่อดำเนินการขั้นตอนต่อไปนี้

6. ลงทะเบียน site1-nva กับตัวควบคุม SD-WAN

ขั้นตอนเหล่านี้จำเป็นสำหรับการเตรียมความพร้อมของ NVA ของ flexiWAN ให้เสร็จสมบูรณ์ ซึ่งจะจัดการได้จากคอนโซล flexiManage ตรวจสอบว่าได้ตั้งค่าองค์กร flexiWAN แล้วก่อนดำเนินการต่อ

ตรวจสอบสิทธิ์ NVA ของ flexiWAN ที่ติดตั้งใช้งานใหม่ด้วย flexiManage โดยใช้โทเค็นความปลอดภัยโดยเข้าสู่ระบบบัญชี 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

22e1cf5bad3d3086.png

เปิดใช้งานเราเตอร์เว็บไซต์ในคอนโซล flexiManage

เข้าสู่ระบบคอนโซล flexiManage เพื่อเปิดใช้งาน site1-nva ในคอนโทรลเลอร์

ในแผงด้านซ้าย ให้เลือกพื้นที่โฆษณา → อุปกรณ์ แล้วคลิกอุปกรณ์ที่"ไม่รู้จัก"

f7719c28f78e907a.png

ป้อนชื่อโฮสต์ของ site1-nva และอนุมัติอุปกรณ์โดยเลื่อนปุ่มหมุนไปทางขวา

9a6c6c45e1cad732.png

เลือกแท็บ "อินเทอร์เฟซ"

ค้นหาคอลัมน์ "มอบหมาย" แล้วคลิก "ไม่" แล้วเปลี่ยนการตั้งค่าเป็น "ใช่"

a8772059968af13e.png

เลือกแท็บไฟร์วอลล์ แล้วคลิกเครื่องหมาย "+" เพื่อเพิ่มกฎไฟร์วอลล์ขาเข้า

เลือกอินเทอร์เฟซ WAN เพื่อใช้กฎ SSH ตามที่อธิบายไว้ด้านล่าง

df03b8a6c817ccd2.png

คลิก "อัปเดตอุปกรณ์"

96b9feb77b8517cd.png

เริ่ม site1-nva จากตัวควบคุม flexiWAN กลับไปที่ Inventory → Devices → site1-nva เลือก "Start Device"

708215cf91ffc09.png

สถานะ - กำลังซิงค์

918d72eeacc386fa.png

สถานะ - ซิงค์แล้ว

5135096dbff49819.png

คุณสามารถดูตัวบ่งชี้คำเตือนได้ในส่วนแก้ปัญหา → การแจ้งเตือน เมื่อดูแล้ว ให้เลือกทั้งหมดแล้วทําเครื่องหมายว่าอ่านแล้ว

9e79db3572f91925.png

7. ตั้งค่าอุปกรณ์ SD-WAN ของฮับ

ในส่วนต่อไปนี้ คุณจะต้องสร้างและลงทะเบียนเราเตอร์ฮับ (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

8. ติดตั้ง flexiWAN ในอินสแตนซ์ฮับสำหรับ hub-r1

เปิดการเชื่อมต่อ SSH กับ hub-r1

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

ติดตั้ง Agent flexiWAN ในทั้ง 2 อุปกรณ์ hub-r1

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

เตรียม VM hub-r1 สำหรับการลงทะเบียน flexiWAN

หลังจากติดตั้ง flexiWAN เสร็จแล้ว ให้เรียกใช้คําสั่ง fwsystem_checker เพื่อเตรียม VM สําหรับการดําเนินการของ flexiWAN คำสั่งนี้จะตรวจสอบข้อกำหนดของระบบและช่วยแก้ไขข้อผิดพลาดในการกำหนดค่าในระบบ

root@hub-r1:/home/user# fwsystem_checker
  • เลือกตัวเลือก 2 สำหรับการกําหนดค่าอย่างรวดเร็วและไม่มีเสียง
  • ออกหลังจากนั้นด้วย 0
  • อย่าปิดหน้าต่าง Cloud Shell

9. ลงทะเบียน VM hub-r1 ในคอนโทรลเลอร์ FlexManage

ตรวจสอบสิทธิ์ NVA ของ flexiWAN ที่ติดตั้งใช้งานใหม่ด้วย flexiManage โดยใช้โทเค็นความปลอดภัยโดยเข้าสู่ระบบบัญชี 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 คือ "unknown"

1a88ffa4409ad3c0.png

เลือกอุปกรณ์ที่ไม่รู้จักซึ่งมีชื่อโฮสต์ hub-r1

  • ป้อนชื่อโฮสต์ของ hub-r1
  • อนุมัติอุปกรณ์โดยเลื่อนหน้าปัดไปทางขวา

เลือกแท็บอินเทอร์เฟซ

  • ค้นหาคอลัมน์ "Assigned"
  • ข้างแถวอินเทอร์เฟซ ให้คลิก"ไม่" เพื่อเปลี่ยนการตั้งค่าเป็น"ใช่"

เลือกแท็บไฟร์วอลล์

  • คลิก "+" เพื่อเพิ่มกฎไฟร์วอลล์ขาเข้า
  • เลือกอินเทอร์เฟซ WAN เพื่อรับค่ากฎ
  • อนุญาตพอร์ต SSH 22 ด้วยโปรโตคอล TCP
  • คลิก "อัปเดตอุปกรณ์"

เริ่มเครื่อง hub-r1 สำหรับ SD-WAN จากตัวควบคุมของ flexiWAN

  • กลับไปที่ Inventory → Devices → hub-r1

เลือก "เริ่มอุปกรณ์"

  • รอให้ซิงค์เสร็จสมบูรณ์และดูสถานะ "กำลังทำงาน"

10. Network Connectivity Center ใน GCP Hub

a5a454f4a30df82e.png

เปิดใช้บริการ API

เปิดใช้ Network Connectivity 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]

กำหนดค่าอุปกรณ์เราเตอร์ทั้ง 2 เครื่องเป็น Spoke ของ NCC

ค้นหา URI และที่อยู่ 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"

เพิ่ม vnic networkIP ของ hub-r1 เป็น Spoke ระบบจะปิดใช้การโอนข้อมูลจากเว็บไซต์หนึ่งไปยังอีกเว็บไซต์หนึ่งโดยค่าเริ่มต้น

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

ในขั้นตอนถัดไป ให้สร้าง Cloud Router และประกาศเครือข่ายย่อย VPC ของภาระงาน 192.168.235.0/24

สร้างเราเตอร์ระบบคลาวด์ใน us-central1 ที่จะสื่อสารกับ BGP ด้วย hub-r1

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

การกำหนดค่าเครื่องเราเตอร์เป็น NCC Spoke จะช่วยให้เราเตอร์ระบบคลาวด์เจรจา BGP ในอินเทอร์เฟซเสมือนได้

สร้างอินเทอร์เฟซ 2 รายการบนเราเตอร์ระบบคลาวด์ที่จะแลกเปลี่ยนข้อความ 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

กำหนดค่าอินเทอร์เฟซ Cloud Router เพื่อตั้งค่า BGP กับ vNIC-1 ของ hub-r1 อัปเดต peer-ip-address ด้วยที่อยู่ 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 ณ จุดนี้ใน Code Lab BGP เป็น "สถานะเชื่อมต่อ" เนื่องจากยังไม่ได้กำหนดค่าเครื่องใช้ไฟฟ้าเราเตอร์เครือข่ายสำหรับ BGP

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

11. กำหนดค่าอุปกรณ์เราเตอร์ฮับสำหรับ BGP

กำหนดค่า hub-r1 สำหรับ BGP

โปรดตรวจสอบว่าคุณได้เข้าสู่ระบบคอนโซล flexiManage

ไปที่พื้นที่โฆษณาอุปกรณ์hub-r1 แล้วเลือกอุปกรณ์ที่มี HostName:hub-r1

  • คลิกแท็บ"การกำหนดเส้นทาง"
  • คลิก"การกำหนดค่า BGP"
  • ปิดใช้ "แจกจ่ายเส้นทาง OSPF อีกครั้ง"
  • กําหนดค่า hub-r1 สําหรับ BGP ด้วยพารามิเตอร์เหล่านี้ แล้วคลิก "บันทึก"

8d470056f620717f.png

เลือกแท็บ "อินเทอร์เฟซ" ค้นหาอินเทอร์เฟซ LAN แล้วหาคอลัมน์ "การกำหนดเส้นทาง"

  • คลิก "none" เพื่อเปิดเมนูเลือก BGP เป็นโปรโตคอลการกำหนดเส้นทาง

82310aab05e9e414.png

  • คลิก "อัปเดตอุปกรณ์" ที่ด้านบนของหน้า

12. การแลกเปลี่ยนเส้นทาง BGP ระหว่างแอปพลิเคชันเราเตอร์

สร้าง ASN ท้องถิ่นสำหรับไซต์ระยะไกล

กำหนดค่า BGP ASN ภายในสำหรับ site1-nva เมื่อกำหนดค่าแล้ว เราจะสร้างอุโมงค์ IPSEC ระหว่างไซต์ระยะไกลกับเราเตอร์ฮับ

เลือกอุปกรณ์ที่มี HostName:site1-nva

  • คลิกแท็บ"การกำหนดเส้นทาง"
  • คลิก"การกำหนดค่า BGP"
  • ปิดใช้ "แจกจ่ายเส้นทาง OSPF อีกครั้ง"
  • ASN ภายใน 7269 → บันทึก
  • อัปเดตอุปกรณ์
  • แท็บอินเทอร์เฟซ → การกำหนดเส้นทาง → BGP
  • อัปเดตอุปกรณ์

กำหนดค่าอุโมงค์ข้อมูล VPN ระหว่างเครื่อง Site1 กับ Hub1

โปรดตรวจสอบว่าคุณได้เข้าสู่ระบบคอนโซล flexiManage

  • ไปที่พื้นที่โฆษณา → อุปกรณ์
  • เลือกช่องข้างชื่อโฮสต์ของ site1-nva และ hub-r1 เพื่อสร้างอุโมงค์ VPN ระหว่าง NVA คู่นี้
  • คลิกการดําเนินการ→สร้างอุโมงค์ แล้วกําหนดค่าต่อไปนี้

d870b4049a0e7fcf.png

c50d794442c0bdd0.png

  • เลือกสร้างอุโมงค์

ยืนยันว่า "site1-nva" เรียนรู้เส้นทางไปยังซับเน็ต 192.168.235.0/24 และ 192.168.236.0/24

  • เลือกสินค้าคงคลัง → อุปกรณ์ → site1-nva แล้วคลิกแท็บ"การกำหนดเส้นทาง"

ในตัวอย่างเอาต์พุตด้านล่าง flexiWAN ได้สร้างอุโมงค์โดยอัตโนมัติโดยใช้ที่อยู่ IP ของโฮสต์ 10.100.0.6 cef8dee200ac600a.png

13. ยืนยันการเชื่อมต่อเส้นทางข้อมูล

ยืนยันการเชื่อมต่อจากเว็บไซต์ไปยังระบบคลาวด์จากในองค์กร

ดูแผนภาพ ยืนยันว่าเส้นทางข้อมูลระหว่าง s1-vm กับ workload1-vm

e96022cff4642fc9.png

กำหนดค่าเส้นทางแบบคงที่ของ VPC สำหรับ Site to Cloud

Site1-VPC ในองค์กรจำลองเครือข่ายศูนย์ข้อมูลในองค์กร

อุปกรณ์เราเตอร์ Site-1-nva ทั้ง 2 เครื่องใช้การเชื่อมต่อ VPN เพื่อเข้าถึงเครือข่ายฮับ

สำหรับ Use Case เว็บไซต์กับระบบคลาวด์** ให้สร้างเส้นทางแบบคงที่ไปยังปลายทาง 192.168.0.0/16 โดยใช้แอปพลิเคชันเราเตอร์เป็น Hop ถัดไปเพื่อเข้าถึงเครือข่ายในเครือข่ายคลาวด์ 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

ใน Cloud Shell ให้ค้นหาที่อยู่ 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

14. ล้าง

ลบทรัพยากรในองค์กร

เข้าสู่ระบบ Cloud Shell และลบอินสแตนซ์ VM ในเครือข่ายฮับและเครือข่ายไซต์สาขา

#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

เข้าสู่ระบบ Cloud Shell และลบอินสแตนซ์ VM ในเครือข่ายฮับและเครือข่ายไซต์สาขา

#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

15. ยินดีด้วย

คุณทำ Lab ของ Network Connectivity Center เสร็จแล้ว

สิ่งที่คุณครอบคลุม

  • การผสานรวม WAN แบบ Software Defined ที่กําหนดค่าไว้สําหรับเว็บไซต์ NCC กับระบบคลาวด์

ขั้นตอนถัดไป

©Google, LLC หรือบริษัทในเครือ สงวนลิขสิทธิ์ ห้ามเผยแพร่