1. 簡介
總覽
在本研究室中,您將探索 Network Connectivity Center 的部分功能。
Network Connectivity Center (NCC) 是 Google Cloud 中網路連線管理的軸輻式控制層模型。中樞資源提供集中式連線管理模型,可用於連結輪輻。NCC 目前支援以輪輻的形式使用下列網路資源:
- VLAN 連結
- 路由器設備
- 高可用性 VPN
程式碼研究室需要使用 flexiWAN SaaS SD-WAN 解決方案來簡化 WAN 部署與管理作業。flexWAN 是開放原始碼的 SD-WAN 和 SASE 解決方案。
建構項目
在本程式碼研究室中,您將建構中樞和輪輻的 SD-WAN 拓撲來模擬遠端分支網站,以便從 Google 的骨幹網路週遊據點到雲端和站台與站台通訊。
- 您將部署針對「flexiWAN」設定的一組 GCE VM中樞虛擬私有雲中的 SD-WAN 代理程式,代表傳送至 GCP 的傳入和傳出流量標頭。
- 部署兩個遠端 FlexiWAN SD-WAN 路由器,代表兩個不同的分支站點虛擬私有雲
- 進行資料路徑測試時,您會設定三個 GCE VM,在託管於 GCP 的地端部署用戶端和伺服器中模擬
課程內容
- 使用 NCC 以開放原始碼的軟體定義 WAN 解決方案建立遠端分公司辦公室的互連網路
- 具備開放原始碼軟體定義的 WAN 解決方案相關經驗
軟硬體需求
- 瞭解 GCP 虛擬私有雲網路
- Cloud Router 和 BGP 轉送的知識
- 本程式碼研究室需要 6 個虛擬私有雲。請檢查「配額:網路」和「要求新增網路」(如有需要),下方螢幕截圖如下:
2. 目標
- 設定 GCP 環境
- 在 GCP 中部署 FlexiWAN Edge 執行個體
- 建立 NCC 中樞和 flexiWAN Edge NVA 做為輪輻
- 使用 flexiManage 設定及管理 FlexiWAN 執行個體
- 設定 vpc-app-svcs 和 flexiWAN NVA 之間的 BGP 路徑交換
- 建立遠端站點,模擬客戶遠端分公司或資料中心
- 建立遠端站點和 NVA 之間的 IPSEC 通道
- 確認設備部署成功
- 驗證網站到雲端資料移轉
- 驗證網站之間的資料轉移驗證
- 清除已使用的資源
在這個教學課程中,您必須建立免費的 flexiManage 帳戶 ,以便驗證、登入及管理 FlexiEdge 執行個體。
事前準備
使用 Google Cloud 控制台和 Cloud Shell
本研究室中會同時使用 Google Cloud 控制台和 Cloud Shell,以便與 GCP 互動。
Google Cloud Console
如要前往 Cloud 控制台,請前往 https://console.cloud.google.com。
在 Google Cloud 中設定下列項目,以便輕鬆設定 Network Connectivity Center:
前往 Google Cloud 控制台的專案選取器頁面,選取或建立 Google Cloud 專案。
啟動 Cloud Shell。本程式碼研究室會使用 $variables,協助在 Cloud Shell 中實作 gcloud 設定。
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=[YOUR-PROJECT-NAME]
echo $projectname
IAM 角色
NCC 需要 IAM 角色才能存取特定 API。請務必視需要為使用者設定 NCC IAM 角色。
角色名稱 | 說明 | 權限 |
networkconnectivity.networkAdmin | 可讓網路管理員管理中樞和輪輻。 | networkconnectivity.hubs.networkconnectivity.spokes.。 |
networkconnectivity.networkSpokeManager | 可在中樞中新增及管理輪輻。要在共用虛擬私有雲中使用,代管專案擁有 Hub,但其他專案中的其他管理員則可將輪輻新增至中樞。 | networkconnectivity.spokes.** |
networkconnectivity.networkUsernetworkconnectivity.networkViewer | 允許網路使用者查看中樞和輪輻的不同屬性。 | networkconnectivity.hubs.getnetworkconnectivity.hubs.listnetworkconnectivity.spokes.getnetworkconnectivity.spokes.listnetworkconnectivity.spokes.aggregatedList |
3. 設定網路研究室環境
總覽
在本節中,我們會部署虛擬私有雲網路和防火牆規則。
模擬內部部署的分行網站網路
這個虛擬私有雲網路含有地端部署 VM 執行個體的子網路。
建立地端部署網站網路和子網路:
gcloud compute networks create site1-vpc \
--subnet-mode custom
gcloud compute networks create site2-vpc \
--subnet-mode custom
gcloud compute networks create s1-inside-vpc \
--subnet-mode custom
gcloud compute networks create s2-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 site2-subnet \
--network site2-vpc \
--range 10.20.0.0/24 \
--region us-east4
gcloud compute networks subnets create s1-inside-subnet \
--network s1-inside-vpc \
--range 10.10.1.0/24 \
--region us-central1
gcloud compute networks subnets create s2-inside-subnet \
--network s2-inside-vpc \
--range 10.20.1.0/24 \
--region us-east4
建立 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
建立 site2-vpc 防火牆規則以允許:
- SSH、內部、IAP
- 範圍是 10.0.0.0/8
- 範圍:192.168.0.0/16
gcloud compute firewall-rules create site2-ssh \
--network site2-vpc \
--allow tcp:22
gcloud compute firewall-rules create site2-internal \
--network site2-vpc \
--allow all \
--source-ranges 10.0.0.0/8
gcloud compute firewall-rules create site2-cloud \
--network site1-vpc \
--allow all \
--source-ranges 192.168.0.0/16
gcloud compute firewall-rules create site2-vpn \
--network site1-vpc \
--allow esp,udp:500,udp:4500 \
--target-tags router
gcloud compute firewall-rules create site2-iap \
--network site2-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
建立 s2-inside-vpc 防火牆規則來允許下列項目:
- SSH、內部、IAP
- 範圍是 10.0.0.0/8
- 範圍:192.168.0.0/16
gcloud compute firewall-rules create s2-inside-ssh \
--network s2-inside-vpc \
--allow tcp:22
gcloud compute firewall-rules create s2-inside-internal \
--network s2-inside-vpc \
--allow all \
--source-ranges 10.0.0.0/8
gcloud compute firewall-rules create s2-inside-cloud \
--network s2-inside-vpc \
--allow all \
--source-ranges 192.168.0.0/16
gcloud compute firewall-rules create s2-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
gcloud compute instances create s2-vm \
--zone=us-east4-b \
--machine-type=e2-micro \
--network-interface subnet=s2-inside-subnet,private-network-ip=10.20.1.3,no-address
模擬 GCP Cloud 網路環境
如要啟用透過 hub-vpc
網路和輪輻的跨區域站點流量,您必須在 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
gcloud compute networks subnets create workload-subnet2 \
--network workload-vpc \
--range 192.168.236.0/24 \
--region us-east4
- 建立中樞虛擬私有雲防火牆規則來允許下列項目:
- SSH
- ESP、UDP/500、UDP/4500
- 內部 10.0.0.0/8 範圍 (涵蓋從雲端路由器到路由器設備的 BGP 工作階段所需的 TCP 通訊埠 179)
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
- 建立工作負載-虛擬私有雲防火牆規則,藉此進行下列操作:
- SSH
- 內部 192.168.0.0/16 範圍 (涵蓋從雲端路由器到路由器設備的 BGP 工作階段所需的 TCP 通訊埠 179)
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 --project=$projectname firewall-rules create allow-from-site-1-2 --direction=INGRESS --priority=1000 --network=workload-vpc --action=ALLOW --rules=all --source-ranges=10.10.1.0/24,10.20.1.0/24
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
- 在 Workload-VPC 中,啟用 Cloud NAT,允許 Workload1-vm 透過建立 Cloud Router 和 NAT 閘道下載套件
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 的 Prem 裝置
建立 SDWAN 適用的地端部署 VM (應用方式)
在下一節中,我們會建立 site1-nva 和 site2-nva 路由器設備做為內部部署路由器。
可建立執行個體
建立名為 site1-nva 的 site1-router
設備
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
建立名為 site2-nva 的 site2-router 設備
gcloud compute instances create site2-nva \
--zone=us-east4-b \
--machine-type=e2-medium \
--network-interface subnet=site2-subnet \
--network-interface subnet=s2-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-east4-a/diskTypes/pd-balanced \
--no-shielded-secure-boot \
--shielded-vtpm \
--shielded-integrity-monitoring \
--reservation-affinity=any \
--can-ip-forward
5. 在 site1-nva 上安裝 flexiWAN
如果逾時,請開啟與 site1-nva 的 SSH 連線
gcloud compute ssh site1-nva --zone=us-central1-a
在 site1-nva 上安裝 flexiWAN
sudo su
sudo curl -sL https://deb.flexiwan.com/setup | sudo bash -
apt install flexiwan-router -y
為 VM 準備 FliWAN 控制層註冊作業。
flexiWAN 安裝完成後,執行 fwsystem_checker 指令來檢查系統設定。這個指令會檢查系統需求,並協助您修正系統中的設定錯誤。
- 選取「
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. 使用 SD-WAN 控制器註冊 site1-nva
您需要執行這些步驟,才能完成 FlexiWAN NVA 的佈建作業。這項作業會透過 flexiManage Console 管理。請務必先為 FlexiWAN 機構設定完畢,再進行後續步驟。
登入 flexiManage 帳戶,使用 flexiManage 使用安全權杖,驗證新部署的 flexiWAN NVA。可在所有路由器設備中重複使用相同的權杖。
依序選取「Inventory」→「Tokens」建立權杖,然後選取複製
返回 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
在彈性管理主控台中啟用 Site Router
登入 Flex 管理主控台,在控制器上啟用 site1-nva
在左側面板中依序點選「選取廣告空間」→「裝置」,然後按一下「不明」裝置
輸入 site1-nva 的主機名稱,然後將滑桿向右滑動,即可核准裝置。
選取 [Interfaces] (介面) 分頁標籤
尋找「已指派」資料欄,然後按一下「No」。將設定變更為 [是]
選取「防火牆」分頁,然後按一下「+」符號,新增「內送防火牆」規則
選取 WAN 介面以套用下方所述的 SSH 規則
按一下「更新裝置」。
從 flexiWAN 控制器啟動 site1-nva。返回「廣告空間」→「裝置」→「site1-nva」,然後選取「啟動裝置」
狀態 - 同步處理中
狀態 - 已同步處理
您可以在「疑難排解」→「通知」中查看警告指標。查看完畢後,選取全部並標示為已讀
7. 在 site2-nva 上安裝 flexiWAN
開啟新分頁並建立 Cloud Shell 工作階段,然後將 $variables 更新為輔助 gcloud 設定
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=[YOUR-PROJECT-NAME]
echo $projectname
如果逾時,請開啟與 site2-nva 的 SSH 連線
gcloud compute ssh site2-nva --zone=us-east4-b
在 site2-nva 上安裝 flexiWAN
sudo su
sudo curl -sL https://deb.flexiwan.com/setup | sudo bash -
apt install flexiwan-router -y
為 VM 準備 FliWAN 控制層註冊作業。
flexiWAN 安裝完成後,執行 fwsystem_checker 指令來檢查系統設定。這個指令會檢查系統需求,並協助您修正系統中的設定錯誤。
- 選取「
2
」選項,即可快速設定靜音模式 - 使用 0 之後再結束。
- 請勿關閉 Cloud Shell 視窗。
root@site2-nva:/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 ====
8. 使用 SD-WAN 控制器註冊 site2-nva
您需要執行這些步驟,才能完成 FlexiWAN NVA 的佈建作業。這項作業會透過 flexiManage Console 管理。請務必先為 FlexiWAN 機構設定完畢,再進行後續步驟。
登入 flexiManage 帳戶,使用 flexiManage 使用安全權杖,驗證新部署的 flexiWAN NVA。可在所有路由器設備中重複使用相同的權杖。
選取「廣告空間」→「符記」,建立符記並選取「複製」
返回 Cloud Shell (site2-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
透過彈性管理主控台啟用 Site Router
登入 Flex 管理主控台,在控制器上啟用 site2-nva
在左側面板中依序點選「選取廣告空間」→「裝置」,然後按一下「不明」裝置
輸入 site2-nva 的主機名稱,然後將滑桿向右滑動,即可核准裝置。
選取 [Interfaces] (介面) 分頁標籤
尋找「已指派」資料欄,然後按一下「No」。將設定變更為 [是]
選取「防火牆」分頁,然後按一下「+」符號,新增「傳入防火牆」規則。選取 WAN 介面以套用下方所述的 SSH 規則
按一下「更新裝置」。
從 flexiWAN 控制器啟動 site2-nva。返回「廣告空間」→「裝置」→「site2-nva」,然後選取「啟動裝置」
Satus - 同步中
狀態 - 已同步處理
您可以在「疑難排解」→「通知」中查看警告指標。查看完畢後,選取全部並標示為已讀
9. 設定中樞 SDWAN 設備
在下一節中,您將使用 FlexiWAN 控制器建立及註冊 Hub 路由器 (hub-r1 和 hub-r2),方法和先前與工地路徑一併執行的方式相同。
開啟新分頁並建立 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
建立 hub-r2 設備:
gcloud compute instances create hub-r2 \
--zone=us-east4-b \
--machine-type=e2-medium \
--network-interface subnet=hub-subnet2 \
--network-interface subnet=workload-subnet2,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-east4-a/diskTypes/pd-balanced \
--no-shielded-secure-boot \
--shielded-vtpm \
--shielded-integrity-monitoring \
--reservation-affinity=any
10. 在 hub-r1 的 Hub 執行個體上安裝 flexiWAN
開啟連至 hub-r1 的 SSH 連線
gcloud compute ssh hub-r1 --zone=us-central1-a
在 hub-r1 上安裝 flexiWAN 代理程式
sudo su
sudo curl -sL https://deb.flexiwan.com/setup | sudo bash -
apt install flexiwan-router -y
準備 hub-r1 VM,以進行 flexiWAN 註冊。
flexiWAN 安裝完成後,執行 fwsystem_checker 指令來檢查系統設定。這個指令會檢查系統需求,並協助您修正系統中的設定錯誤。
root@hub-r1:/home/user# fwsystem_checker
- 選取「
2
」選項,即可快速設定靜音模式 - 使用 0 之後再結束。
- 請勿關閉 Cloud Shell 視窗。
11. 在 FlexiManage 控制器上註冊 hub-r1 VM
登入 flexiManage 帳戶,使用 flexiManage 使用安全權杖,驗證新部署的 flexiWAN NVA。
- 依序選取「Inventory」→「Tokens」並複製權杖
返回 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
12. 在 hub-r2 的 Hub 執行個體上安裝 flexiWAN
開啟與 hub-r2 的 SSH 連線
gcloud compute ssh hub-r2 --zone=us-east4-b
在 hub-r2 上安裝 flexiWAN 代理程式
sudo su
sudo curl -sL https://deb.flexiwan.com/setup | sudo bash -
apt install flexiwan-router -y
準備 hub-r2 VM,以進行 flexiWAN 註冊。
flexiWAN 安裝完成後,執行 fwsystem_checker 指令來檢查系統設定。這個指令會檢查系統需求,並協助您修正系統中的設定錯誤。
root@hub-r2:/home/user# fwsystem_checker
- 選取「
2
」選項,即可快速設定靜音模式 - 使用 0 之後再結束。
- 請勿關閉 Cloud Shell 視窗。
13. 在 FlexiManage 控制器上註冊 hub-r2 VM
登入 flexiManage 帳戶,使用 flexiManage 使用安全權杖,驗證新部署的 flexiWAN NVA。
- 依序選取「Inventory」→「Tokens」並複製權杖
返回 Cloud Shell (hub-r2),執行下列指令,將權杖貼到 /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
在 Flex Management Console 中啟用 Hub 路由器 hub-r1
登入彈性管理主控台
- 依序前往「廣告空間」→「裝置」。
- 尋找並記下 hub-r1 和 hub-r2 的主機名稱為 "unknown
輸入主機名稱為 hub-r1 的不明裝置。
- 輸入 hub-r1 的主機名稱
- 核准裝置,將旋鈕向右滑動。
選取「Interfaces」分頁標籤
- 找出「已指派」欄
- 按一下介面列旁邊的「否」,將設定變更為「是」
選取「防火牆」分頁標籤
- 按一下「+」新增至傳入防火牆規則
- 選取要沿用規則的 WAN 介面
- 允許採用 TCP 通訊協定的 SSH 通訊埠 22
- 按一下「更新裝置」。
從 flexiWAN 控制器啟動 SD-WAN 的 hub-r1 設備
- 返回「Inventory → Devices」→ hub-r1。
選取「Start Device」。
- 等待同步處理完成,並記下「執行中」狀態
在 Flex Management Console 中啟用 Hub 路由器 hub-r2
輸入主機名稱為 hub-r2 的不明裝置。
- 輸入 hub-r2 的主機名稱
- 核准裝置,將撥盤向右滑動。
選取「介面」分頁標籤
- 找出「已指派」欄
- 按一下介面列旁邊的「否」,將設定變更為「是」
選取「防火牆」分頁
- 按一下「+」新增至傳入防火牆規則
- 選取要沿用規則的 WAN 介面
- 允許使用 TCP 通訊協定的 SSH 通訊埠 22
- 按一下「新增規則」。
- 按一下「更新裝置」。
從 flexiWAN 控制器啟動 SD-WAN 的 hub-r2 設備
- 返回「Inventory → Devices」→ hub-r2,然後選取「Start Device」。
- 等待同步處理完成,並記下「執行中」狀態
14. GCP Hub 上的 Network Connectivity Center
啟用 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 輪輻
找出 hub-r1 和 hub-r2 的 URI 和 IP 位址,並記下輸出內容。下個步驟將會用到這項資訊。
請務必記下 hub-r1 和 hub-r2 執行個體的 IP 位址 (192.168.x.x)。
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"
gcloud compute instances describe hub-r2 \
--zone=us-east4-b \
--format="value(selfLink.scope(projects))"
gcloud compute instances describe hub-r2 --zone=us-east4-b | grep "networkIP"
將 hub-r1 的 vnic networkIP
(192.168.x.x) 新增為輪輻,並啟用站台資料移轉功能
gcloud network-connectivity spokes linked-router-appliances create s2s-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
將 hub-r2 的 vnic networkIP
(192.168.x.x) 新增為輪輻,並啟用站台資料移轉功能
gcloud network-connectivity spokes linked-router-appliances create s2s-wrk-cr2 \
--hub=ncc-hub \
--router-appliance=instance=/projects/$projectname/zones/us-east4-b/instances/hub-r2,ip=192.168.236.101 \
--region=us-east4 \
--site-to-site-data-transfer
設定 Cloud Router 以透過 Hub-R1 建立 BGP
在下一個步驟中,請建立 Cloud Router 並宣告工作負載虛擬私有雲子網路 192.168.235.0/24
在 us-central1 中建立 Cloud Router 路由器,以便與 hub-r1 進行通訊
gcloud compute routers create wrk-cr1 \
--region=us-central1 \
--network=workload-vpc \
--asn=65002 \
--set-advertisement-groups=all_subnets \
--advertisement-mode=custom
將路由器設備設為 NCC 輪輻後,Cloud Router 路由器就能協調虛擬介面上的 BGP。
在雲端路由器上建立兩個介面,用於透過 hub-r1 交換 BGP 訊息。
系統會從工作負載子網路中選取 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 介面以透過 hub-r1 的 vNIC-1 建立 BGP,並且將 peer-ip 位址更新為 hub-r1 networkIP
的 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 設定網路路由器設備
gcloud compute routers get-status wrk-cr1 --region=us-central1
設定 Workload-cr2,透過 Hub-R2 建立 BGP
在下一個步驟中,請建立 Cloud Router 並宣告工作負載虛擬私有雲子網路 192.168.236.0/24
在 us-east4 中建立要與 hub-r2 通訊的 Cloud Router 路由器
gcloud compute routers create wrk-cr2 \
--region=us-east4 \
--network=workload-vpc \
--asn=65002 \
--set-advertisement-groups=all_subnets \
--advertisement-mode=custom
在雲端路由器上建立一對介面,用於透過 hub-r2 交換 BGP 訊息,再從工作負載子網路選取 IP 位址,但可以視需要變更
gcloud compute routers add-interface wrk-cr2 \
--region=us-east4 \
--subnetwork=workload-subnet2 \
--interface-name=int0 \
--ip-address=192.168.236.5
gcloud compute routers add-interface wrk-cr2 \
--region=us-east4 \
--subnetwork=workload-subnet2 \
--interface-name=int1 \
--ip-address=192.168.236.6 \
--redundant-interface=int0
設定 Cloud Router 介面以透過 hub-r2 的 vNIC-1 建立 BGP,並且將 peer-ip 位址更新為 hub-r1 networkIP
的 IP 位址。請注意,int0 和int1。
gcloud compute routers add-bgp-peer wrk-cr2 \
--peer-name=hub-cr2-bgp-peer-0 \
--interface=int0 \
--peer-ip-address=192.168.236.101 \
--peer-asn=64112 \
--instance=hub-r2 \
--instance-zone=us-east4-b \
--region=us-east4
gcloud compute routers add-bgp-peer wrk-cr2 \
--peer-name=hub-cr2-bgp-peer-1 \
--interface=int1 \
--peer-ip-address=192.168.236.101 \
--peer-asn=64112 \
--instance=hub-r2 \
--instance-zone=us-east4-b \
--region=us-east4
在程式碼研究室的這個階段,確認 BGP 狀態是「連線狀態」因為尚未針對 BGP 設定網路路由器設備
gcloud compute routers get-status wrk-cr2 --region=us-east4
15. 設定 BGP 的 Hub 路由器設備
設定 BGP 的 hub-r1
務必登入 FlexiManage Console
依序前往「Inventory」→「Devices」→「hub-r1」,然後選取含有「HostName:hub-r1」的裝置
- 按一下「轉送」分頁標籤
- 按一下「BGP Configuration」
- 停用「ReDistribution OSPF Routes」
- 使用這些參數設定 BGP 的 hub-r1,然後按一下「Save」
選取 [Interfaces] (介面)分頁標籤,找到 LAN 介面,然後找到「轉送」欄
- 按一下「無」開啟選單,選取 BGP 做為轉送通訊協定。
- 按一下頁面頂端的「更新裝置」。
設定 BGP 的 hub-r2
務必登入 FlexiManage Console
依序前往「Inventory」→「Device」→「hub-r2」,選取含有「HostName:hub-r2」的裝置
- 按一下「轉送」分頁標籤
- 按一下「BGP Configuration」
- 停用「ReDistribution OSPF Routes」
- 使用這些參數為 BGP 設定 hub-r2,然後按一下「儲存」
選取 [Interfaces] (介面)分頁標籤,找到 LAN 介面,然後找到「轉送」欄
- 按一下「無」即可開啟下拉式選單,選取 BGP 做為轉送通訊協定
- 按一下頁面頂端的「更新裝置」。
選取「轉送」Tab 鍵
- 確認 hub-r2 已從 wrk-cr2 取得 BGP 路徑
16. 路由器設備之間的 BGP 路徑交換
建立遠端站點的本機 ASN
為 site1-nva 和 site2-nva 設定本機 BGP ASN,一旦設定完成,我們就會在遠端站台和中樞路由器之間建立 IPSEC 通道。
選取含有 HostName:site1-nva 的裝置
- 按一下「轉送」分頁標籤
- 按一下「BGP Configuration」
- 停用「ReDistribution OSPF Routes」
- 已啟用 BGP
- 本機 ASN 7269 → 儲存
- 更新裝置
- 介面分頁 → LAN → 轉送 → BGP
- 更新裝置
選取含有 HostName:site2-nva 的裝置
- 按一下「轉送」分頁標籤
- 按一下「BGP Configuration」
- 停用「ReDistribution OSPF Routes」
- 已啟用 BGP
- 本機 ASN 7270 → 儲存
- 更新裝置
- 介面分頁 → LAN → 轉送 → BGP
- 更新裝置
設定站點和中樞裝置之間的 VPN 通道
務必登入 FlexiManage Console
- 依序前往「廣告空間」→「裝置」。
- 選取 site1-nva 和 hub-r1 的主機名稱旁的方塊,即可在這組 NVA 之間建立 VPN 通道
- 按一下「動作」→「建立通道」,然後設定以下項目:
- 選取「建立通道」。
- 移除 site1-nva 和 ub-r1 的勾號
選取適當的參數,重複執行在 site2-nva 和 hub-r2 之間建立通道的步驟
確認每組 NVA 之間已建立兩組通道。
- 選取左側面板中的「廣告空間」然後按一下「通道」。然後找出「狀態」欄
驗證「site1-nva」已取得子網路 192.168.235.0/24 和 192.168.236.0/24 的路徑
- 依序選取「廣告空間」→「裝置」→「site1-nva」,然後按一下「轉送」分頁標籤
在下方的輸出內容範例中,flexiWAN 會自動使用主機 IP 位址「10.100.0.6」建立通道
17. 驗證資料路徑連線能力
驗證網站從地端部署系統連至雲端的連線
請參閱圖表,確認 s1-vm 與 workload1-vm 之間的資料路徑
設定網站到雲端的虛擬私有雲靜態路徑
內部部署的 Site1-VPC 和 Site2-VPC 會模擬內部部署的資料中心網路。
Site-1-nva 和 site-2-nva 路由器設備都使用 VPN 連線來連接中樞網路。
關於站台至雲端的用途**,** 使用路由器設備做為下一個躍點,連線至 GCP 雲端網路中的網路,建立連至 192.168.0.0/16 目的地的靜態路徑。
在 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
在 s2-inside-vpc 上,為雲端目的地 (192.168.0.0/16) 建立靜態路徑:
gcloud compute routes create site2-subnet-route \
--network=s2-inside-vpc \
--destination-range=192.168.0.0/16 \
--next-hop-instance=site2-nva \
--next-hop-instance-zone=us-east4-b
在 Cloud Shell 中,查詢 「workload1-vm」的 IP 位址。您需要具備這項權限,才能測試「s1-vm」的連線能力。
gcloud compute instances describe workload1-vm --zone=us-central1-a | grep "networkIP"
如果逾時,請開啟與 s1-vm 的 SSH 連線。如果逾時,請再試一次
gcloud compute ssh s1-vm --zone=us-central1-a
透過 SSH 連至「s1-vm」,並使用「curl」指令建立連至 Workload1-VM IP 位址的 TCP 工作階段。
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
驗證網站與網站之間的連線能力
請參閱圖表,確認 s1-vm 與 s2-vm 之間的資料路徑
設定站點的虛擬私有雲靜態路徑
如要使用 GCP 的全球網路在網站 1 和網站 2 之間轉送站台對站點流量,您必須使用內部部署路由器設備做為下一個躍點,建立連至遠端站點目的地的靜態路徑。
在後續步驟中,工作負載虛擬私有雲將採用 NCC,以支援站台對站台資料移轉功能。
在 s1-inside-vpc 上,建立連至 site2-subnet (10.20.1.0/24) 的靜態路徑:
gcloud compute routes create site1-sn1-route \
--network=s1-inside-vpc \
--destination-range=10.20.1.0/24 \
--next-hop-instance=site1-nva \
--next-hop-instance-zone=us-central1-a
在 s2-inside-vpc 上,建立連至 site1-subnet (10.10.1.0/24) 的靜態路徑:
gcloud compute routes create site2-sn1-route \
--network=s2-inside-vpc \
--destination-range=10.10.1.0/24 \
--next-hop-instance=site2-nva \
--next-hop-instance-zone=us-east4-b
在 Cloud Shell 中,查詢「s2-vm」的 IP 位址。您需要這個電視 ID,才能測試 S1-vm 的連線能力。
gcloud compute instances describe s2-vm --zone=us-east4-b | grep networkIP
如果逾時後再試一次,請開啟與 s1-vm 的 SSH 連線
gcloud compute ssh s1-vm --zone=us-central1-a
透過 SSH 連至「s1-vm」和「ping」「s2-vm」的 IP 位址。
s1-vm:~$ ping 10.20.1.3
PING 10.20.1.3 (10.20.1.3) 56(84) bytes of data.
64 bytes from 10.20.1.3: icmp_seq=1 ttl=60 time=99.1 ms
64 bytes from 10.20.1.3: icmp_seq=2 ttl=60 time=94.3 ms
64 bytes from 10.20.1.3: icmp_seq=3 ttl=60 time=92.4 ms
64 bytes from 10.20.1.3: icmp_seq=4 ttl=60 time=90.9 ms
64 bytes from 10.20.1.3: icmp_seq=5 ttl=60 time=89.7 ms
18. 清除
登入 Cloud Shell,刪除中樞和分支版本網站網路中的 VM 執行個體
#on prem instances
gcloud compute instances delete s1-vm --zone=us-central1-a --quiet
gcloud compute instances delete s2-vm --zone=us-east4-b --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
gcloud compute firewall-rules delete site2-ssh --quiet
gcloud compute firewall-rules delete site2-internal --quiet
gcloud compute firewall-rules delete site2-cloud --quiet
gcloud compute firewall-rules delete site2-vpn --quiet
gcloud compute firewall-rules delete site2-iap --quiet
gcloud compute firewall-rules delete allow-from-site-1-2 --quiet
gcloud compute firewall-rules delete s2-inside-cloud s2-inside-internal s2-inside-ssh --quiet
gcloud compute firewall-rules delete s1-inside-cloud s1-inside-iap s1-inside-internal s1-inside-ssh s2-inside-cloud s2-inside-iap s2-inside-internal s2-inside-ssh --quiet
#delete ncc spokes
gcloud network-connectivity spokes delete s2s-wrk-cr1 --region us-central1 --quiet
gcloud network-connectivity spokes delete s2s-wrk-cr2 --region us-east4 --quiet
#delete ncc hub
gcloud network-connectivity hubs delete ncc-hub --quiet
#delete the cloud router
gcloud compute routers delete wrk-cr1 --region=us-central1 --quiet
gcloud compute routers delete wrk-cr2 --region=us-east4 --quiet
#delete the instances
gcloud compute instances delete hub-r1 --zone=us-central1-a --quiet
gcloud compute instances delete hub-r2 --zone=us-east4-b --quiet
gcloud compute instances delete workload1-vm --zone=us-central1-a --quiet
gcloud compute instances delete site1-nva --zone=us-central1-a --quiet
gcloud compute instances delete site2-nva --zone=us-east4-b --quiet
#delete on prem subnets
gcloud compute networks subnets delete hub-subnet1 s1-inside-subnet site1-subnet workload-subnet1 --region=us-central1 --quiet
gcloud compute networks subnets delete hub-subnet2 s2-inside-subnet site2-subnet workload-subnet2 --region=us-east4 --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 delete workload-ssh --quiet
gcloud compute firewall-rules delete workload-internal --quiet
gcloud compute firewall-rules delete workload-onprem --quiet
gcloud compute firewall-rules delete workload-iap --quiet
#delete on vpcs
gcloud compute networks delete hub-vpc s1-inside-vpc s2-inside-vpc site2-vpc workload-vpc --quiet
19. 恭喜!
您已完成 Network Connectivity Center 研究室!
涵蓋內容
- 為 NCC 網站設定軟體定義 WAN 整合作業
- 為 NCC 網站設定軟體定義 WAN 整合
後續步驟
©Google, LLC 或其關係企業。版權所有。請勿散佈。