1. บทนำ
ภาพรวม
ในบทแนะนำนี้ คุณจะได้สำรวจฟีเจอร์บางอย่างของศูนย์การเชื่อมต่อเครือข่าย
ศูนย์การเชื่อมต่อเครือข่าย (NCC) เป็นรูปแบบ Control Plane แบบฮับและ Spoke สำหรับการจัดการการเชื่อมต่อเครือข่ายใน Google Cloud ทรัพยากรฮับเป็นโมเดลการจัดการการเชื่อมต่อแบบรวมศูนย์เพื่อเชื่อมต่อกับ Spoke ปัจจุบัน NCC รองรับทรัพยากรเครือข่ายต่อไปนี้เป็น Spoke
- ไฟล์แนบ VLAN
- อุปกรณ์เราเตอร์
- VPN ความพร้อมใช้งานสูง
Codelabs กำหนดให้ต้องใช้ โซลูชัน SD-WAN ของ flexiWAN SaaS ซึ่งทำให้การติดตั้งใช้งานและการจัดการ WAN ง่ายขึ้น
สิ่งที่คุณจะสร้าง
ในโค้ดแล็บนี้ คุณจะได้สร้างโทโปโลยีฮับและ Spoke ของ SD-WAN เพื่อจำลองไซต์สาขาระยะไกลที่จะข้ามเครือข่ายแบ็กโบนของ Google เพื่อการสื่อสารจากไซต์ไปยังระบบคลาวด์
- คุณจะติดตั้งใช้งาน VM ของ GCE 2 เครื่องที่กำหนดค่าสำหรับตัวแทน SD-WAN ของ flexiWAN ใน VPC ฮับซึ่งแสดงถึงส่วนหัวสำหรับการรับส่งข้อมูลขาเข้าและขาออกไปยัง GCP
- ติดตั้งใช้งานเราเตอร์ SD-WAN ของ flexiWAN ระยะไกล 2 ตัวเพื่อแสดงถึง VPC ของสาขา 2 แห่งที่แตกต่างกัน
- สำหรับการทดสอบเส้นทางข้อมูล คุณจะต้องกำหนดค่า GCE VM 3 เครื่องเพื่อจำลองไคลเอ็นต์และเซิร์ฟเวอร์ในองค์กรที่โฮสต์ใน GCP
สิ่งที่คุณจะได้เรียนรู้
- การใช้ 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 และกฎไฟร์วอลล์ใช้งานได้
จำลองเครือข่ายของไซต์สาขาในองค์กร
เครือข่าย 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
- สร้างเครือข่าย
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
- สร้างเครือข่าย
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
- สร้างกฎไฟร์วอลล์ของฮับ-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
- สร้างกฎไฟร์วอลล์สำหรับเวิร์กโหลด-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
- เปิดใช้ 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
- สร้าง
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
สร้าง 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 คุณอาจนำโทเค็นเดียวกันไปใช้กับอุปกรณ์เราเตอร์ทั้งหมดได้
เลือกพื้นที่โฆษณา → โทเค็น สร้างโทเค็น แล้วเลือกสำเนา
กลับไปที่ 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
เปิดใช้งานเราเตอร์เว็บไซต์ในคอนโซล flexiManage
เข้าสู่ระบบคอนโซล flexiManage เพื่อเปิดใช้งาน site1-nva ในคอนโทรลเลอร์
ในแผงด้านซ้าย ให้เลือกพื้นที่โฆษณา → อุปกรณ์ แล้วคลิกอุปกรณ์ที่"ไม่รู้จัก"
ป้อนชื่อโฮสต์ของ site1-nva และอนุมัติอุปกรณ์โดยเลื่อนปุ่มหมุนไปทางขวา
เลือกแท็บ "อินเทอร์เฟซ"
ค้นหาคอลัมน์ "มอบหมาย" แล้วคลิก "ไม่" แล้วเปลี่ยนการตั้งค่าเป็น "ใช่"
เลือกแท็บไฟร์วอลล์ แล้วคลิกเครื่องหมาย "+" เพื่อเพิ่มกฎไฟร์วอลล์ขาเข้า
เลือกอินเทอร์เฟซ WAN เพื่อใช้กฎ SSH ตามที่อธิบายไว้ด้านล่าง
คลิก "อัปเดตอุปกรณ์"
เริ่ม site1-nva จากตัวควบคุม flexiWAN กลับไปที่ Inventory → Devices → site1-nva เลือก "Start Device"
สถานะ - กำลังซิงค์
สถานะ - ซิงค์แล้ว
คุณสามารถดูตัวบ่งชี้คำเตือนได้ในส่วนแก้ปัญหา → การแจ้งเตือน เมื่อดูแล้ว ให้เลือกทั้งหมดแล้วทําเครื่องหมายว่าอ่านแล้ว
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"
เลือกอุปกรณ์ที่ไม่รู้จักซึ่งมีชื่อโฮสต์ hub-r1
- ป้อนชื่อโฮสต์ของ hub-r1
- อนุมัติอุปกรณ์โดยเลื่อนหน้าปัดไปทางขวา
เลือกแท็บอินเทอร์เฟซ
- ค้นหาคอลัมน์ "Assigned"
- ข้างแถวอินเทอร์เฟซ ให้คลิก"ไม่" เพื่อเปลี่ยนการตั้งค่าเป็น"ใช่"
เลือกแท็บไฟร์วอลล์
- คลิก "+" เพื่อเพิ่มกฎไฟร์วอลล์ขาเข้า
- เลือกอินเทอร์เฟซ WAN เพื่อรับค่ากฎ
- อนุญาตพอร์ต SSH 22 ด้วยโปรโตคอล TCP
- คลิก "อัปเดตอุปกรณ์"
เริ่มเครื่อง hub-r1 สำหรับ SD-WAN จากตัวควบคุมของ flexiWAN
- กลับไปที่ Inventory → Devices → hub-r1
เลือก "เริ่มอุปกรณ์"
- รอให้ซิงค์เสร็จสมบูรณ์และดูสถานะ "กำลังทำงาน"
10. Network Connectivity Center ใน GCP Hub
เปิดใช้บริการ 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 ด้วยพารามิเตอร์เหล่านี้ แล้วคลิก "บันทึก"
เลือกแท็บ "อินเทอร์เฟซ" ค้นหาอินเทอร์เฟซ LAN แล้วหาคอลัมน์ "การกำหนดเส้นทาง"
- คลิก "none" เพื่อเปิดเมนูเลือก BGP เป็นโปรโตคอลการกำหนดเส้นทาง
- คลิก "อัปเดตอุปกรณ์" ที่ด้านบนของหน้า
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 คู่นี้
- คลิกการดําเนินการ→สร้างอุโมงค์ แล้วกําหนดค่าต่อไปนี้
- เลือกสร้างอุโมงค์
ยืนยันว่า "site1-nva" เรียนรู้เส้นทางไปยังซับเน็ต 192.168.235.0/24 และ 192.168.236.0/24
- เลือกสินค้าคงคลัง → อุปกรณ์ → site1-nva แล้วคลิกแท็บ"การกำหนดเส้นทาง"
ในตัวอย่างเอาต์พุตด้านล่าง flexiWAN ได้สร้างอุโมงค์โดยอัตโนมัติโดยใช้ที่อยู่ IP ของโฮสต์ 10.100.0.6
13. ยืนยันการเชื่อมต่อเส้นทางข้อมูล
ยืนยันการเชื่อมต่อจากเว็บไซต์ไปยังระบบคลาวด์จากในองค์กร
ดูแผนภาพ ยืนยันว่าเส้นทางข้อมูลระหว่าง s1-vm กับ workload1-vm
กำหนดค่าเส้นทางแบบคงที่ของ 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 กับระบบคลาวด์
ขั้นตอนถัดไป
- ภาพรวมของ Network Connectivity Center
- เอกสารประกอบของ Network Connectivity Center
- แหล่งข้อมูล flexiWAN
- flexiWAN GitLab Repo
©Google, LLC หรือบริษัทในเครือ สงวนลิขสิทธิ์ ห้ามเผยแพร่