Lab: Site NCC ke Site dengan Peralatan SD-WAN flexiWAN

1. Pengantar

Ringkasan

Di lab ini, Anda akan mempelajari beberapa fitur Network Connectivity Center.

Network Connectivity Center (NCC) adalah model bidang kontrol hub-and-spoke untuk pengelolaan konektivitas jaringan di Google Cloud. Resource hub menyediakan model pengelolaan konektivitas terpusat untuk menghubungkan spoke. NCC saat ini mendukung resource jaringan berikut sebagai spoke:

  • Lampiran VLAN
  • Router Appliance
  • VPN dengan ketersediaan tinggi (HA)

Codelab memerlukan penggunaan solusi SD-WAN SaaS flexiWAN yang menyederhanakan deployment dan pengelolaan WAN. flexWAN adalah solusi SD-WAN dan SASE open source.

Yang akan Anda bangun

Dalam codelab ini, Anda akan membangun topologi SD-WAN hub dan spoke untuk menyimulasikan situs cabang jarak jauh yang akan melintasi jaringan backbone Google untuk komunikasi situs ke cloud dan situs ke situs.

  1. Anda akan men-deploy sepasang VM GCE yang dikonfigurasi untuk agen SD-WAN "flexiWAN" di VPC hub yang merepresentasikan headend untuk traffic masuk dan keluar ke GCP.
  2. Men-deploy dua router SD-WAN flexiWAN jarak jauh untuk merepresentasikan dua VPC situs cabang yang berbeda
  3. Untuk pengujian jalur data, Anda akan mengonfigurasi tiga VM GCE untuk menyimulasikan klien dan server lokal yang dihosting di GCP

84e31c667a487f7a.png

Yang akan Anda pelajari

  • Menggunakan NCC untuk menghubungkan kantor cabang jarak jauh menggunakan solusi WAN yang ditentukan software open source
  • Pengalaman langsung dengan solusi WAN yang ditentukan software open source

Yang Anda butuhkan

  • Pengetahuan tentang jaringan VPC GCP
  • Pengetahuan tentang perutean BGP dan Cloud Router
  • Codelab memerlukan 6 VPC. Periksa Quota:Networks dan minta penambahan Jaringan jika diperlukan, lihat screenshot di bawah:

6bc606cb34bce7e8.png

2. Tujuan

  • Menyiapkan Lingkungan GCP
  • Men-deploy instance flexiWAN Edge di GCP
  • Membuat Hub NCC dan NVA Edge flexiWAN sebagai spoke
  • Mengonfigurasi dan mengelola instance flexiWAN menggunakan flexiManage
  • Mengonfigurasi pertukaran rute BGP antara vpc-app-svcs dan NVA flexiWAN
  • Membuat situs jarak jauh yang menyimulasikan cabang jarak jauh pelanggan atau pusat data
  • Buat Tunnel IPSEC antara situs jarak jauh dan NVA
  • Pastikan appliance berhasil di-deploy
  • Memvalidasi transfer data dari situs ke cloud
  • Memvalidasi transfer data site-to-site
  • Membersihkan resource yang digunakan

Tutorial ini memerlukan pembuatan akun flexiManage gratis untuk mengautentikasi, mengaktifkan, dan mengelola instance flexiEdge.

Sebelum memulai

Menggunakan Konsol Google Cloud dan Cloud Shell

Untuk berinteraksi dengan GCP, kita akan menggunakan Konsol Google Cloud dan Cloud Shell di sepanjang lab ini.

Konsol Google Cloud

Konsol Cloud dapat diakses di https://console.cloud.google.com.

Siapkan item berikut di Google Cloud untuk mempermudah konfigurasi Network Connectivity Center:

Di Konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

Luncurkan Cloud Shell. Codelab ini menggunakan $variables untuk membantu penerapan konfigurasi gcloud di Cloud Shell.

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

Peran IAM

NCC memerlukan peran IAM untuk mengakses API tertentu. Pastikan untuk mengonfigurasi pengguna Anda dengan peran IAM NCC sesuai kebutuhan.

Nama Peran

Deskripsi

Izin

networkconnectivity.networkAdmin

Memungkinkan administrator jaringan mengelola hub dan spoke.

networkconnectivity.hubs.networkconnectivity.spokes.

networkconnectivity.networkSpokeManager

Mengizinkan penambahan dan pengelolaan spoke di hub. Untuk digunakan di VPC Bersama tempat project host memiliki Hub, tetapi admin lain di project lain dapat menambahkan spoke untuk lampiran mereka ke Hub.

networkconnectivity.spokes.**

networkconnectivity.networkUsernetworkconnectivity.networkViewer

Mengizinkan pengguna jaringan melihat berbagai atribut hub dan spoke.

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

3. Menyiapkan Lingkungan Lab Jaringan

Ringkasan

Di bagian ini, kita akan men-deploy jaringan VPC dan aturan firewall.

377d97bf3066f259.png

Menyimulasikan Jaringan Situs Cabang Lokal

Jaringan VPC ini berisi subnet untuk instance VM lokal.

Buat jaringan dan subnet situs lokal:

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

Buat aturan firewall site1-vpc untuk mengizinkan:

  • SSH, internal, IAP
  • ESP, UDP/500, UDP/4500
  • Rentang 10.0.0.0/8
  • Rentang 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

Buat aturan firewall site2-vpc untuk mengizinkan:

  • SSH, internal, IAP
  • Rentang 10.0.0.0/8
  • Rentang 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

Buat aturan firewall s1-inside-vpc untuk mengizinkan:

  • SSH, internal, IAP
  • Rentang 10.0.0.0/8
  • Rentang 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

Buat aturan firewall s2-inside-vpc untuk mengizinkan:

  • SSH, internal, IAP
  • Rentang 10.0.0.0/8
  • Rentang 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

Untuk tujuan pengujian, buat instance s1-inside-vm dan 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

Simulasikan Lingkungan Jaringan Cloud GCP

Untuk mengaktifkan traffic situs-ke-situs lintas-region melalui jaringan hub-vpc dan Spoke, Anda harus mengaktifkan perutean global di jaringan hub-vpc. Baca selengkapnya di pertukaran rute NCC.

  1. Buat jaringan dan subnet 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. Buat jaringan dan subnet 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
  1. Buat aturan firewall Hub-VPC untuk mengizinkan:
  • SSH
  • ESP, UDP/500, UDP/4500
  • rentang internal 10.0.0.0/8 (yang mencakup TCP port 179 yang diperlukan untuk sesi BGP dari Cloud Router ke perangkat router)
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. Buat aturan firewall Workload-VPC untuk mengizinkan:
  • SSH
  • rentang internal 192.168.0.0/16 (yang mencakup TCP port 179 yang diperlukan untuk sesi BGP dari Cloud Router ke perlengkapan router)
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
  1. Aktifkan Cloud NAT di workload-VPC untuk mengizinkan workload1-vm mendownload paket dengan membuat Cloud Router dan 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. Buat workload1-vm in "us-central1-a" in workload-VPC, Anda akan menggunakan host ini untuk memverifikasi konektivitas site-to-cloud
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. Menyiapkan Peralatan On Prem untuk SD-WAN

ec754b89e375f3cc.png

Membuat VM Lokal untuk SDWAN (Perangkat)

Di bagian berikut, kita akan membuat perlengkapan router site1-nva dan site2-nva yang berfungsi sebagai router lokal.

Membuat Instance

Buat perlengkapan site1-router bernama 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

Buat perangkat site2-router bernama site2-nva

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. Instal flexiWAN di site1-nva

Buka koneksi SSH ke site1-nva, jika waktu tunggu habis, coba lagi

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

Instal flexiWAN di site1-nva

sudo su 

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

Siapkan VM untuk pendaftaran bidang kontrol flexiWAN.

Setelah penginstalan flexiWAN selesai, jalankan perintah fwsystem_checker untuk memeriksa konfigurasi sistem Anda. Perintah ini memeriksa persyaratan sistem dan membantu memperbaiki kesalahan konfigurasi di sistem Anda.

  • Pilih opsi 2 untuk konfigurasi cepat dan senyap
  • keluar setelahnya dengan 0.
  • Jangan tutup jendela 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 ====

Biarkan sesi tetap terbuka untuk langkah-langkah berikutnya

6. Mendaftarkan site1-nva dengan pengontrol SD-WAN

Langkah-langkah ini diperlukan untuk menyelesaikan penyediaan NVA flexiWAN yang dikelola dari Konsol flexiManage. Pastikan organisasi flexiWAN disiapkan sebelum melanjutkan.

Lakukan autentikasi NVA flexiWAN yang baru di-deploy dengan flexiManage menggunakan token keamanan dengan login ke Akun flexiManage. Token yang sama dapat digunakan kembali di semua perangkat router.

Pilih Inventaris → Token, buat token & pilih salin

12c173b589d220ee.png

Kembali ke Cloud Shell (site1-nva) dan tempelkan token ke direktori /etc/flexiwan/agent/token.txt dengan melakukan langkah-langkah berikut

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

Aktifkan Router Situs di Konsol flexiManage

Login ke Konsol flexiManage untuk mengaktifkan site1-nva di pengontrol

Di panel kiri, Pilih Inventaris → Perangkat, klik perangkat "Tidak diketahui"

f7719c28f78e907a.png

Masukkan nama host site1-nva dan Setujui perangkat dengan menggeser tombol ke kanan.

9a6c6c45e1cad732.png

Pilih Tab "Antarmuka"

Temukan Kolom "Ditetapkan", klik "Tidak", lalu ubah setelan menjadi "Ya"

a8772059968af13e.png

Pilih Tab Firewall, lalu klik tanda "+" untuk menambahkan aturan firewall masuk

Pilih antarmuka WAN untuk menerapkan aturan SSH seperti yang dijelaskan di bawah

df03b8a6c817ccd2.png

Klik "Perbarui Perangkat"

96b9feb77b8517cd.png

Mulai site1-nva dari pengontrol flexiWAN. Kembali ke Inventory → Devices → site1-nva, pilih ‘Start Device'

708215cf91ffc09.png

Status - Menyinkronkan

918d72eeacc386fa.png

Status - Disinkronkan

5135096dbff49819.png

Indikator peringatan dapat dilihat di bagian Pemecahan Masalah → Notifikasi. Setelah dilihat, pilih semua, lalu tandai sebagai sudah dibaca

9e79db3572f91925.png

7. Instal flexiWAN di site2-nva

Buka tab baru dan buat sesi Cloud Shell, perbarui $variables untuk membantu penerapan konfigurasi gcloud

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

Buka koneksi SSH ke site2-nva, jika terjadi waktu tunggu, coba lagi

gcloud compute ssh site2-nva --zone=us-east4-b

Instal flexiWAN di site2-nva

sudo su 

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

Siapkan VM untuk pendaftaran bidang kontrol flexiWAN.

Setelah penginstalan flexiWAN selesai, jalankan perintah fwsystem_checker untuk memeriksa konfigurasi sistem Anda. Perintah ini memeriksa persyaratan sistem dan membantu memperbaiki kesalahan konfigurasi di sistem Anda.

  • Pilih opsi 2 untuk konfigurasi cepat dan senyap
  • keluar setelahnya dengan 0.
  • Jangan tutup jendela 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. Mendaftarkan site2-nva dengan Pengontrol SD-WAN

Langkah-langkah ini diperlukan untuk menyelesaikan penyediaan NVA flexiWAN yang dikelola dari Konsol flexiManage. Pastikan organisasi flexiWAN disiapkan sebelum melanjutkan.

Lakukan autentikasi NVA flexiWAN yang baru di-deploy dengan flexiManage menggunakan token keamanan dengan login ke Akun flexiManage. Token yang sama dapat digunakan kembali di semua perangkat router.

Pilih Inventaris → Token, buat token & pilih salin

12c173b589d220ee.png

Kembali ke Cloud Shell (site2-nva) dan tempelkan token ke direktori /etc/flexiwan/agent/token.txt dengan melakukan hal berikut

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

Aktifkan Router Situs dari Konsol flexiManage

Login ke Konsol flexiManage untuk mengaktifkan site2-nva di pengontrol

Di panel kiri, Pilih Inventaris → Perangkat, klik perangkat "Tidak diketahui"

c98696cf67043ec2.png

Masukkan nama host site2-nva dan Setujui perangkat dengan menggeser tombol ke kanan.

de418da3f581e0bd.png

Pilih Tab "Antarmuka"

Temukan Kolom "Ditetapkan", klik "Tidak", lalu ubah setelan menjadi "Ya"

eee6a98dba7b2a04.png

Pilih Firewall Tab, lalu klik tanda "+" untuk menambahkan aturan firewall masuk. Pilih antarmuka WAN untuk menerapkan aturan SSH seperti yang dijelaskan di bawah

df03b8a6c817ccd2.png

Klik "Perbarui Perangkat"

96b9feb77b8517cd.png

Mulai site2-nva dari pengontrol flexiWAN. Kembali ke Inventory → Devices → site2-nva, pilih ‘Start Device'

c80291bb430dce7d.png

Status - Menyinkronkan

da9c08ebfbd1265e.png

Status - Disinkronkan

5135096dbff49819.png

Indikator peringatan dapat dilihat di bagian Pemecahan Masalah → Notifikasi. Setelah dilihat, pilih semua, lalu tandai sebagai sudah dibaca

2c21322b87d848b.png

9. Menyiapkan Peralatan SDWAN Hub

Di bagian berikut, Anda akan membuat dan mendaftarkan router Hub (hub-r1 & hub-r2) dengan Pengontrol flexiWAN seperti yang sebelumnya dilakukan dengan rute situs.

Buka tab baru dan buat sesi Cloud Shell, perbarui $variables untuk membantu penerapan konfigurasi gcloud

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

Membuat Instance NVA Hub

Buat perangkat 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

Buat peralatan 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. Menginstal flexiWAN di Instance Hub untuk hub-r1

Buka koneksi SSH ke hub-r1

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

Instal agen flexiWAN di kedua hub-r1

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

Siapkan VM hub-r1 untuk pendaftaran flexiWAN.

Setelah penginstalan flexiWAN selesai, jalankan perintah fwsystem_checker untuk memeriksa konfigurasi sistem Anda. Perintah ini memeriksa persyaratan sistem dan membantu memperbaiki kesalahan konfigurasi di sistem Anda.

root@hub-r1:/home/user# fwsystem_checker
  • Pilih opsi 2 untuk konfigurasi cepat dan senyap
  • keluar setelahnya dengan 0.
  • Jangan tutup jendela cloud shell.

11. Mendaftarkan VM hub-r1 di pengontrol flexiManage

Lakukan autentikasi NVA flexiWAN yang baru di-deploy dengan flexiManage menggunakan token keamanan dengan login ke Akun flexiManage.

  • Pilih Inventaris → Token, lalu salin token

Kembali ke Cloud Shell (hub-r1) dan tempel token ke direktori /etc/flexiwan/agent/token.txt dengan melakukan hal berikut

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. Menginstal flexiWAN di Instance Hub untuk hub-r2

Buka koneksi SSH ke hub-r2

gcloud compute ssh hub-r2 --zone=us-east4-b

Instal agen flexiWAN di kedua hub-r2

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

Siapkan VM hub-r2 untuk pendaftaran flexiWAN.

Setelah penginstalan flexiWAN selesai, jalankan perintah fwsystem_checker untuk memeriksa konfigurasi sistem Anda. Perintah ini memeriksa persyaratan sistem dan membantu memperbaiki kesalahan konfigurasi di sistem Anda.

root@hub-r2:/home/user# fwsystem_checker
  • Pilih opsi 2 untuk konfigurasi cepat dan senyap
  • keluar setelahnya dengan 0.
  • Jangan tutup jendela cloud shell.

13. Mendaftarkan VM hub-r2 di pengontrol flexiManage

Lakukan autentikasi NVA flexiWAN yang baru di-deploy dengan flexiManage menggunakan token keamanan dengan login ke Akun flexiManage.

  • Pilih Inventaris → Token, lalu salin token

Kembali ke Cloud Shell (hub-r2) dan tempel token ke direktori /etc/flexiwan/agent/token.txt dengan melakukan hal berikut

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

Aktifkan hub router Hub-r1 di Konsol flexiManage

Login ke Konsol flexiManage

  • Buka Inventaris → Perangkat
  • Temukan dan catat Hostname untuk hub-r1 dan hub-r2 yang keduanya "unknown"

1a88ffa4409ad3c0.png

Pilih Perangkat tidak dikenal dengan Nama Host hub-r1

  • Masukkan nama host hub-r1
  • Setujui perangkat, Geser tombol ke kanan.

Pilih Tab Interfaces

  • Menemukan Kolom "Ditetapkan"
  • Di samping baris antarmuka, klik "Tidak" untuk mengubah setelan menjadi "Ya"

Pilih Tab Firewall

  • Klik "+" untuk Menambahkan aturan firewall Masuk
  • Pilih antarmuka WAN untuk mewarisi aturan
  • Izinkan port SSH 22 dengan protokol TCP
  • Klik "Perbarui Perangkat"

Mulai appliance hub-r1 untuk SD-WAN dari pengontrol flexiWAN

  • Kembali ke Inventaris → Perangkat → hub-r1

Pilih 'Mulai Perangkat'

  • Tunggu hingga sinkronisasi selesai dan perhatikan status "running"

Mengaktifkan hub router Hub-r2 di Konsol flexiManage

Pilih Perangkat tidak dikenal dengan HostName hub-r2

  • Masukkan nama host hub-r2
  • Setujui perangkat, Geser tombol ke kanan.

Pilih Tab Antarmuka

  • Menemukan Kolom "Ditetapkan"
  • Di samping baris antarmuka, Klik "Tidak" untuk mengubah setelan menjadi "Ya"

Pilih Tab Firewall

  • Klik "+" untuk Menambahkan aturan firewall Masuk
  • Pilih antarmuka WAN untuk mewarisi aturan
  • Izinkan port SSH 22 dengan protokol TCP
  • Klik Tambahkan Aturan
  • Klik "Perbarui Perangkat"

Mulai appliance hub-r2 untuk SD-WAN dari pengontrol flexiWAN

  • Kembali ke Inventory → Devices → hub-r2, pilih ‘Start Device'
  • Tunggu hingga sinkronisasi selesai dan perhatikan status "running"

14. Network Connectivity Center di Hub GCP

802fe0ef1e98c563.png

Mengaktifkan Layanan API

Aktifkan Network Connectivity API jika belum diaktifkan:

gcloud services enable networkconnectivity.googleapis.com

Membuat Hub 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]

Mengonfigurasi kedua perangkat router sebagai spoke NCC

Temukan URI dan alamat IP untuk hub-r1 dan hub-r2, lalu catat outputnya. Anda akan memerlukan informasi ini di langkah berikutnya.

Pastikan untuk mencatat alamat IP (192.168.x.x) instance hub-r1 dan hub-r2.

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"

Tambahkan vnic hub-r1's networkIP (192.168.x.x) sebagai spoke dan aktifkan transfer data site-to-site

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

Tambahkan vnic hub-r2 networkIP (192.168.x.x) sebagai spoke dan aktifkan transfer data antarsitus

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

Konfigurasi Cloud Router untuk membuat BGP dengan Hub-R1

Pada langkah berikutnya, buat Cloud Router dan umumkan subnet VPC workload 192.168.235.0/24

Buat Cloud Router di us-central1 yang akan berkomunikasi dengan BGP dengan hub-r1

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

Dengan mengonfigurasi router appliance sebagai Spoke NCC, Cloud Router dapat melakukan negosiasi BGP pada antarmuka virtual.

Buat dua antarmuka di Cloud Router yang akan bertukar pesan BGP dengan hub-r1.

Alamat IP dipilih dari subnet workload dan dapat diubah jika diperlukan.

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

Konfigurasi antarmuka Cloud Router untuk membuat BGP dengan vNIC-1 hub-r1, perbarui peer-ip-address dengan Alamat IP networkIP hub-r1 . Perhatikan bahwa Alamat IP yang sama digunakan untuk 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

Verifikasi Status BGP. Pada tahap codelab ini, BGP berada dalam "status koneksi" karena peralatan router jaringan belum dikonfigurasi untuk BGP.

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

Konfigurasi Workload-cr2 untuk membuat BGP dengan Hub-R2

Pada langkah berikutnya, buat Cloud Router dan umumkan subnet VPC workload 192.168.236.0/24

Buat Cloud Router di us-east4 yang akan berkomunikasi dengan BGP dengan hub-r2

gcloud compute routers create wrk-cr2 \
--region=us-east4 \
--network=workload-vpc \
--asn=65002 \
--set-advertisement-groups=all_subnets \
--advertisement-mode=custom

Buat sepasang antarmuka di Cloud Router yang akan bertukar pesan BGP dengan hub-r2. Alamat IP dipilih dari subnet beban kerja dan dapat diubah jika diperlukan.

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

Konfigurasi antarmuka Cloud Router untuk membuat BGP dengan vNIC-1 hub-r2, perbarui peer-ip-address dengan Alamat IP networkIP hub-r1 . Perhatikan bahwa Alamat IP yang sama digunakan untuk 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

Verifikasi Status BGP. Pada tahap codelab ini, BGP berada dalam "status koneksi" karena peralatan router jaringan belum dikonfigurasi untuk BGP.

gcloud compute routers get-status wrk-cr2 --region=us-east4

15. Mengonfigurasi perangkat router Hub untuk BGP

Mengonfigurasi hub-r1 untuk BGP

Pastikan untuk login ke Konsol flexiManage

Buka InventarisPerangkathub-r1, lalu pilih perangkat dengan HostName:hub-r1

  • Klik tab "Routing"
  • Klik "Konfigurasi BGP".
  • Nonaktifkan "Redistribute OSPF Routes"
  • Konfigurasi hub-r1 untuk BGP dengan parameter ini, lalu Klik "Simpan"

8d470056f620717f.png

Pilih tab "Interfaces", temukan antarmuka LAN, temukan kolom "Routing"

  • Klik "none" untuk membuka menu guna memilih BGP sebagai protokol perutean

82310aab05e9e414.png

  • Di bagian atas halaman, klik "perbarui perangkat"

Mengonfigurasi hub-r2 untuk BGP

Pastikan untuk login ke Konsol flexiManage

Buka Inventaris → Perangkathub-r2, pilih perangkat dengan HostName:hub-r2

  • Klik tab "Routing"
  • Klik "Konfigurasi BGP".
  • Nonaktifkan "Redistribute OSPF Routes"
  • Konfigurasi hub-r2 untuk BGP dengan parameter ini, lalu klik "Simpan"

8ecb14e2c046012e.png

Pilih tab "Interfaces", temukan antarmuka LAN, temukan kolom "Routing"

  • Klik "none" untuk membuka menu dropdown guna memilih BGP sebagai protokol perutean

41a381f81f2b500e.png

  • Di bagian atas halaman, klik "perbarui perangkat"

Pilih tab "routing"

  • Konfirmasi bahwa hub-r2 telah mempelajari rute BGP dari wrk-cr2

ddf3e811b193ec10.png

16. Pertukaran Rute BGP antara Perangkat Router

Menetapkan ASN lokal untuk situs jarak jauh

Konfigurasi ASN BGP lokal untuk site1-nva dan site2-nva. Setelah dikonfigurasi, kita akan membuat Tunnel IPSEC antara situs jarak jauh dan router hub.

Pilih perangkat dengan HostName:site1-nva

  • Klik tab "Routing"
  • Klik "Konfigurasi BGP".
  • Nonaktifkan "Redistribute OSPF Routes"
  • BGP yang diaktifkan
  • ASN Lokal 7269 → Simpan
  • Perbarui Perangkat
  • Tab Interfaces → LAN → Routing → BGP
  • Perbarui Perangkat

Pilih perangkat dengan HostName:site2-nva

  • Klik tab "Routing"
  • Klik "Konfigurasi BGP".
  • Nonaktifkan "Redistribute OSPF Routes"
  • BGP yang diaktifkan
  • ASN Lokal 7270 → Simpan
  • Perbarui Perangkat
  • Tab Interfaces → LAN → Routing → BGP
  • Perbarui Perangkat

Mengonfigurasi tunnel VPN Antara Peralatan Situs dan Hub

Pastikan untuk login ke Konsol flexiManage

  • Buka Inventaris → Perangkat
  • Pilih kotak di samping nama host site1-nva dan hub-r1 untuk membuat tunnel VPN di antara pasangan NVA ini
  • Klik Actions→ Create Tunnels dan konfigurasi berikut

d870b4049a0e7fcf.png

c50d794442c0bdd0.png

  • Pilih Buat Tunnel
  • Hapus tanda centang dari site1-nva dan ub-r1

Ulangi langkah-langkah untuk membuat tunnel antara site2-nva dan hub-r2 dengan memilih parameter yang sesuai

37c86e17b74e98ca.png

Pastikan pasangan tunnel dibuat di antara setiap pasangan NVA.

  • Di panel sebelah kiri, pilih "inventaris", klik "Tunnel", lalu temukan kolom status

a31e7a73aff53b66.png

Pastikan "site1-nva" mempelajari rute ke subnet 192.168.235.0/24 dan 192.168.236.0/24

  • Pilih Inventory → Devices → site1-nva, lalu klik tab "Routing"

Dalam contoh output di bawah, flexiWAN otomatis membuat tunnel menggunakan alamat IP host 10.100.0.6 cef8dee200ac600a.png

17. Memverifikasi Konektivitas Jalur Data

Memverifikasi konektivitas situs ke cloud dari lokal

Lihat diagram, Verifikasi bahwa jalur data antara s1-vm dan workload1-vm

2a403992934279b3.png

Mengonfigurasi rute Statis VPC untuk Site to Cloud

Site1-VPC dan Site2-VPC lokal mensimulasikan jaringan pusat data lokal.

Kedua perangkat router Site-1-nva dan site-2-nva menggunakan konektivitas VPN untuk menjangkau jaringan hub.

Untuk kasus penggunaan site-to-cloud**,** buat rute statis ke tujuan 192.168.0.0/16 menggunakan appliance router sebagai next hop untuk menjangkau jaringan di jaringan cloud GCP.

Di s1-inside-vpc, buat rute statis untuk tujuan cloud (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

Di s2-inside-vpc, buat rute statis untuk tujuan cloud (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

Di cloudshell, cari alamat IP "workload1-vm". Anda akan memerlukan ini untuk menguji konektivitas dari "s1-vm".

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

Buka koneksi SSH ke s1-vm, jika terjadi waktu tunggu, coba lagi

gcloud compute ssh s1-vm --zone=us-central1-a

SSH ke "s1-vm" dan gunakan perintah "curl" untuk membuat sesi TCP ke alamat 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

Memverifikasi Konektivitas Situs ke Situs

Lihat diagram, verifikasi bahwa jalur data antara s1-vm dan s2-vm

1a7ec558ab1ecd37.png

Mengonfigurasi Rute Statis VPC untuk Site-to-Site

Untuk merutekan traffic site-to-site antara Site 1 dan Site 2 menggunakan jaringan global GCP, Anda akan membuat rute statis ke tujuan subnet situs jarak jauh menggunakan perlengkapan router lokal sebagai next hop.

Pada langkah selanjutnya, VPC workload akan dikonfigurasi dengan NCC untuk mendukung transfer data site-to-site.

Di s1-inside-vpc, buat rute statis untuk menjangkau 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

Di s2-inside-vpc, buat rute statis untuk menjangkau 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

Di cloudshell, cari alamat IP "s2-vm". Anda akan memerlukannya untuk menguji konektivitas dari S1-vm.

gcloud compute instances describe s2-vm --zone=us-east4-b | grep networkIP

Buka koneksi SSH ke s1-vm, jika terjadi waktu tunggu, coba lagi

gcloud compute ssh s1-vm --zone=us-central1-a

SSH ke "s1-vm" dan "ping" alamat IP "s2-vm".

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. Pembersihan

Login ke cloud shell dan hapus instance VM di jaringan situs hub dan cabang

#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. Selamat!

Anda telah menyelesaikan Lab Network Connectivity Center.

Yang telah Anda pelajari

  • Mengonfigurasi integrasi WAN Software Defined untuk NCC site to cloud
  • Mengonfigurasi integrasi WAN yang Ditentukan Software untuk NCC site to site

Langkah Berikutnya

©Google, LLC atau afiliasinya. Semua hak dilindungi undang-undang. Jangan disebarluaskan.