1. Introduction
Présentation
Dans cet atelier, vous allez explorer certaines des fonctionnalités de Network Connectivity Center.
Network Connectivity Center (NCC) est un modèle de plan de contrôle en étoile (hub-and-spoke) permettant de gérer la connectivité réseau dans Google Cloud. La ressource de hub fournit un modèle de gestion de la connectivité centralisé pour connecter les spokes. Le centre de connectivité réseau est actuellement compatible avec les ressources réseau suivantes en tant que spokes :
- Rattachements de VLAN
- Appareils de routeur
- VPN haute disponibilité
Les ateliers de programmation nécessitent l'utilisation de la solution SD-WAN flexiWAN SaaS qui simplifie le déploiement et la gestion du WAN. flexWAN est une solution SD-WAN et SASE Open Source.
Objectifs de l'atelier
Dans cet atelier de programmation, vous allez créer une topologie SD-WAN en étoile pour simuler des sites de succursales distants qui traverseront le réseau backbone de Google pour la communication de site à cloud et de site à site.
- Vous allez déployer une paire de VM GCE configurées pour l'agent SD-WAN "flexiWAN" dans le VPC concentrateur, qui représente les têtes de réseau pour le trafic entrant et sortant vers GCP.
- Déployez deux routeurs SD-WAN flexiWAN distants pour représenter deux VPC de sites de succursales différents.
- Pour tester le chemin de données, vous devez configurer trois VM GCE afin de simuler des clients et un serveur sur site hébergés sur GCP.
Points abordés
- Utiliser NCC pour interconnecter des succursales distantes à l'aide d'une solution SD-WAN Open Source
- Expérience pratique avec une solution WAN définie par logiciel Open Source
Prérequis
- Connaissances sur le réseau VPC GCP
- Connaissances sur Cloud Router et le routage BGP
- Cet atelier de programmation nécessite six VPC. Vérifiez votre quota de réseaux et demandez des réseaux supplémentaires si nécessaire (voir la capture d'écran ci-dessous) :

2. Objectifs
- Configurer l'environnement GCP
- Déployer des instances flexiWAN Edge dans GCP
- Établir un hub NCC et une NVA flexiWAN Edge en tant que spoke
- Configurer et gérer les instances flexiWAN à l'aide de flexiManage
- Configurer l'échange de routes BGP entre vpc-app-svcs et l'appliance virtuelle réseau flexiWAN
- Créez un site distant simulant une agence distante ou un centre de données d'un client.
- Établir un tunnel IPSEC entre le site distant et la NVA
- Vérifier que les appliances ont bien été déployées
- Valider le transfert de données du site vers le cloud
- Valider le transfert de données de site à site
- Nettoyer les ressources utilisées
Ce tutoriel nécessite la création d'un compte flexiManage sans frais pour authentifier, intégrer et gérer les instances flexiEdge.
Avant de commencer
Utiliser la console Google Cloud et Cloud Shell
Pour interagir avec GCP, nous utiliserons à la fois la console Google Cloud et Cloud Shell tout au long de cet atelier.
Console Google Cloud
La console Cloud est accessible à l'adresse https://console.cloud.google.com.
Configurez les éléments suivants dans Google Cloud pour faciliter la configuration de Network Connectivity Center :
Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.
Lancez le Cloud Shell. Cet atelier de programmation utilise des $variables pour faciliter l'implémentation de la configuration gcloud dans Cloud Shell.
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=[YOUR-PROJECT-NAME]
echo $projectname
Rôles IAM
NCC nécessite des rôles IAM pour accéder à des API spécifiques. Assurez-vous d'attribuer les rôles IAM NCC requis à votre utilisateur.
Nom du rôle | Description | Autorisations |
networkconnectivity.networkAdmin | Permet aux administrateurs réseau de gérer les hubs et les spokes. | networkconnectivity.hubs.networkconnectivity.spokes. |
networkconnectivity.networkSpokeManager | Permet d'ajouter et de gérer des spokes dans un hub. À utiliser dans le VPC partagé où le projet hôte possède le hub, mais où d'autres administrateurs d'autres projets peuvent ajouter des spokes pour leurs associations au hub. | networkconnectivity.spokes.** |
networkconnectivity.networkUsernetworkconnectivity.networkViewer | Permet aux utilisateurs du réseau d'afficher différents attributs des hubs et des rayons. | networkconnectivity.hubs.getnetworkconnectivity.hubs.listnetworkconnectivity.spokes.getnetworkconnectivity.spokes.listnetworkconnectivity.spokes.aggregatedList |
3. Configurer l'environnement de l'atelier réseau
Présentation
Dans cette section, nous allons déployer les réseaux VPC et les règles de pare-feu.

Simuler les réseaux de sites de filiales sur site
Ce réseau VPC contient des sous-réseaux pour les instances de VM sur site.
Créez les réseaux et sous-réseaux du site sur site :
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
Créez des règles de pare-feu site1-vpc pour autoriser :
- SSH, interne, IAP
- ESP, UDP/500, UDP/4500
- Plage 10.0.0.0/8
- Plage 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
Créez des règles de pare-feu site2-vpc pour autoriser :
- SSH, interne, IAP
- Plage 10.0.0.0/8
- Plage 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
Créez des règles de pare-feu s1-inside-vpc pour autoriser :
- SSH, interne, IAP
- Plage 10.0.0.0/8
- Plage 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
Créez des règles de pare-feu s2-inside-vpc pour autoriser :
- SSH, interne, IAP
- Plage 10.0.0.0/8
- Plage 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
À des fins de test, créez les instances s1-inside-vm et 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
Simuler un environnement de réseau cloud GCP
Pour autoriser le trafic de site à site interrégional via le réseau hub-vpc et les spokes, vous devez activer le routage global dans le réseau hub-vpc. Pour en savoir plus, consultez la section Échange de routes de NCC.
- Créez le réseau
hub-vpcet les sous-réseaux :
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
- Créez le réseau
workload-vpcet les sous-réseaux :
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
- Créez des règles de pare-feu Hub-VPC pour autoriser :
- SSH
- ESP, UDP/500, UDP/4500
- Plage interne 10.0.0.0/8 (qui couvre le port TCP 179 requis pour la session BGP du routeur cloud à l'appliance de routeur)
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
- Créez des règles de pare-feu VPC de charge de travail pour autoriser :
- SSH
- Plage interne 192.168.0.0/16 (qui couvre le port TCP 179 requis pour la session BGP du routeur cloud à l'appliance de routeur)
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
- Activez Cloud NAT dans le VPC de la charge de travail pour permettre à workload1-vm de télécharger des packages en créant un routeur Cloud et une passerelle 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
- Créez l'hôte
workload1-vmin "us-central1-a" inworkload-VPC. Vous utiliserez cet hôte pour vérifier la connectivité du site au 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. Configurer des appliances sur site pour SD-WAN

Créer la VM sur site pour SDWAN (appliances)
Dans la section suivante, nous allons créer des appliances de routeur site1-nva et site2-nva qui agissent en tant que routeurs sur site.
Créer des instances
Créez l'appliance site1-router nommée 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
Créez l'appliance site2-router nommée 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. Installer flexiWAN sur site1-nva
Ouvrez une connexion SSH à site1-nva. Si le délai expire, réessayez.
gcloud compute ssh site1-nva --zone=us-central1-a
Installer flexiWAN sur site1-nva
sudo su
sudo curl -sL https://deb.flexiwan.com/setup | sudo bash -
apt install flexiwan-router -y
Préparez la VM pour l'enregistrement du plan de contrôle flexiWAN.
Une fois l'installation de flexiWAN terminée, exécutez la commande fwsystem_checker pour vérifier la configuration de votre système. Cette commande vérifie la configuration système requise et permet de corriger les erreurs de configuration dans votre système.
- Sélectionnez l'option
2pour une configuration rapide et silencieuse. - quitter ensuite avec 0.
- Ne fermez pas la fenêtre 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 ====
Laissez la session ouverte pour les étapes suivantes.
6. Enregistrer site1-nva auprès du contrôleur SD-WAN
Ces étapes sont nécessaires pour terminer le provisionnement de l'appliance virtuelle réseau flexiWAN, qui est administrée depuis la console flexiManage. Assurez-vous que l'organisation flexiWAN est configurée avant de continuer.
Authentifiez la nouvelle NVA flexiWAN déployée avec flexiManage à l'aide d'un jeton de sécurité en vous connectant au compte flexiManage. Le même jeton peut être réutilisé sur tous les routeurs.
Sélectionnez Inventaire → Jetons,créez un jeton et sélectionnez "Copier".

Revenez à Cloud Shell (site1-nva) et collez le jeton dans le répertoire /etc/flexiwan/agent/token.txt en procédant comme suit :
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

Activer les routeurs de site dans la console flexiManage
Connectez-vous à la console flexiManage pour activer site1-nva sur le contrôleur.
Dans le panneau de gauche, sélectionnez Inventaire → Appareils, puis cliquez sur l'appareil Inconnu.

Saisissez le nom d'hôte de site1-nva, puis approuvez l'appareil en faisant glisser le bouton vers la droite.

Sélectionnez l'onglet Interfaces.
Recherchez la colonne Attribué, cliquez sur Non, puis sélectionnez Oui.

Sélectionnez l'onglet "Pare-feu", puis cliquez sur le signe + pour ajouter une règle de pare-feu entrant.
Sélectionnez l'interface WAN à laquelle appliquer la règle SSH, comme décrit ci-dessous.

Cliquez sur Mettre à jour l'appareil.
Démarrez site1-nva à partir du contrôleur flexiWAN. Revenez à Inventaire → Appareils → site1-nva, puis sélectionnez Démarrer l'appareil.
État : Synchronisation en cours

État : Synchronisé

L'indicateur d'avertissement est visible sous Dépannage → Notifications. Une fois les notifications consultées, sélectionnez-les toutes, puis marquez-les comme lues.

7. Installer flexiWAN sur site2-nva
Ouvrez un nouvel onglet et créez une session Cloud Shell. Mettez à jour les variables $pour faciliter l'implémentation de la configuration gcloud.
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=[YOUR-PROJECT-NAME]
echo $projectname
Ouvrez une connexion SSH à site2-nva. Si le délai expire, réessayez.
gcloud compute ssh site2-nva --zone=us-east4-b
Installer flexiWAN sur site2-nva
sudo su
sudo curl -sL https://deb.flexiwan.com/setup | sudo bash -
apt install flexiwan-router -y
Préparez la VM pour l'enregistrement du plan de contrôle flexiWAN.
Une fois l'installation de flexiWAN terminée, exécutez la commande fwsystem_checker pour vérifier la configuration de votre système. Cette commande vérifie la configuration système requise et permet de corriger les erreurs de configuration dans votre système.
- Sélectionnez l'option
2pour une configuration rapide et silencieuse. - quitter ensuite avec 0.
- Ne fermez pas la fenêtre 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. Enregistrer site2-nva auprès du contrôleur SD-WAN
Ces étapes sont nécessaires pour terminer le provisionnement de l'appliance virtuelle réseau flexiWAN, qui est administrée depuis la console flexiManage. Assurez-vous que l'organisation flexiWAN est configurée avant de continuer.
Authentifiez la nouvelle NVA flexiWAN déployée avec flexiManage à l'aide d'un jeton de sécurité en vous connectant au compte flexiManage. Le même jeton peut être réutilisé sur tous les routeurs.
Sélectionnez Inventaire → Jetons, créez un jeton, puis sélectionnez Copier.

Revenez à Cloud Shell (site2-nva) et collez le jeton dans le répertoire /etc/flexiwan/agent/token.txt en procédant comme suit :
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

Activer les routeurs de site depuis la console flexiManage
Connectez-vous à la console flexiManage pour activer site2-nva sur le contrôleur.
Dans le panneau de gauche, sélectionnez Inventaire → Appareils, puis cliquez sur l'appareil Inconnu.

Saisissez le nom d'hôte de site2-nva, puis approuvez l'appareil en faisant glisser le bouton vers la droite.

Sélectionnez l'onglet Interfaces.
Recherchez la colonne Attribué, cliquez sur Non, puis sélectionnez Oui.

Sélectionnez l'onglet Pare-feu, puis cliquez sur le signe + pour ajouter une règle de pare-feu entrant. Sélectionnez l'interface WAN à laquelle appliquer la règle SSH, comme décrit ci-dessous.

Cliquez sur Mettre à jour l'appareil.
Démarrez site2-nva à partir du contrôleur flexiWAN. Revenez à Inventaire → Appareils → site2-nva, puis sélectionnez Démarrer l'appareil.
État : Synchronisation

État : Synchronisé

L'indicateur d'avertissement est visible sous Dépannage → Notifications. Une fois les notifications consultées, sélectionnez-les toutes, puis marquez-les comme lues.

9. Configurer des appliances SD-WAN Hub
Dans la section suivante, vous allez créer et enregistrer les routeurs Hub (hub-r1 et hub-r2) avec le contrôleur flexiWAN, comme vous l'avez fait précédemment avec les routes de site.
Ouvrez un nouvel onglet et créez une session Cloud Shell. Mettez à jour les variables $pour faciliter l'implémentation de la configuration gcloud.
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=[YOUR-PROJECT-NAME]
echo $projectname
Créer des instances NVA de hub
Créez l'appliance 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
Créez l'appliance 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. Installer flexiWAN sur les instances Hub pour hub-r1
Ouvrez une connexion SSH à hub-r1.
gcloud compute ssh hub-r1 --zone=us-central1-a
Installer l'agent flexiWAN sur les deux hub-r1
sudo su
sudo curl -sL https://deb.flexiwan.com/setup | sudo bash -
apt install flexiwan-router -y
Préparez les VM hub-r1 pour l'enregistrement flexiWAN.
Une fois l'installation de flexiWAN terminée, exécutez la commande fwsystem_checker pour vérifier la configuration de votre système. Cette commande vérifie la configuration système requise et permet de corriger les erreurs de configuration dans votre système.
root@hub-r1:/home/user# fwsystem_checker
- Sélectionnez l'option
2pour une configuration rapide et silencieuse. - quitter ensuite avec 0.
- Ne fermez pas la fenêtre Cloud Shell.
11. Enregistrer les VM hub-r1 sur le contrôleur flexiManage
Authentifiez la nouvelle NVA flexiWAN déployée avec flexiManage à l'aide d'un jeton de sécurité en vous connectant au compte flexiManage.
- Sélectionnez Inventaire → Jetons, puis copiez le jeton.
Revenez à Cloud Shell (hub-r1) et collez le jeton dans le répertoire /etc/flexiwan/agent/token.txt en procédant comme suit :
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. Installer flexiWAN sur les instances de hub pour hub-r2
Ouvrir une connexion SSH à hub-r2
gcloud compute ssh hub-r2 --zone=us-east4-b
Installer l'agent flexiWAN sur les deux hub-r2
sudo su
sudo curl -sL https://deb.flexiwan.com/setup | sudo bash -
apt install flexiwan-router -y
Préparez les VM hub-r2 pour l'enregistrement flexiWAN.
Une fois l'installation de flexiWAN terminée, exécutez la commande fwsystem_checker pour vérifier la configuration de votre système. Cette commande vérifie la configuration système requise et permet de corriger les erreurs de configuration dans votre système.
root@hub-r2:/home/user# fwsystem_checker
- Sélectionnez l'option
2pour une configuration rapide et silencieuse. - quitter ensuite avec 0.
- Ne fermez pas la fenêtre Cloud Shell.
13. Enregistrer les VM hub-r2 sur le contrôleur flexiManage
Authentifiez la nouvelle NVA flexiWAN déployée avec flexiManage à l'aide d'un jeton de sécurité en vous connectant au compte flexiManage.
- Sélectionnez Inventaire → Jetons, puis copiez le jeton.
Revenez à Cloud Shell (hub-r2) et collez le jeton dans le répertoire /etc/flexiwan/agent/token.txt en procédant comme suit :
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
Activer les routeurs Hub hub-r1 sur la console flexiManage
Se connecter à la console flexiManage
- Accédez à Inventaire → Appareils.
- Le nom d'hôte de hub-r1 et hub-r2 est "unknown".

Sélectionnez l'appareil inconnu avec le nom d'hôte hub-r1.
- Saisissez le nom d'hôte de hub-r1.
- Approuvez l'appareil en faisant glisser le bouton vers la droite.
Sélectionnez l'onglet Interfaces.
- Recherchez la colonne Attribué.
- À côté de la ligne de l'interface, cliquez sur Non pour définir le paramètre sur Oui.
Sélectionnez l'onglet Pare-feu.
- Cliquez sur + pour ajouter une règle de pare-feu entrante.
- Sélectionnez l'interface WAN à partir de laquelle hériter de la règle.
- Autoriser le port SSH 22 avec le protocole TCP
- Cliquez sur Mettre à jour l'appareil.
Démarrez l'appliance hub-r1 pour SD-WAN à partir du contrôleur flexiWAN.
- Revenez à Inventaire → Appareils → hub-r1.
Sélectionnez Démarrer l'appareil.
- Attendez la fin de la synchronisation et notez l'état running (en cours d'exécution).
Activer les routeurs Hub hub-r2 sur la console flexiManage
Sélectionnez l'appareil inconnu avec le nom d'hôte hub-r2.
- Saisissez le nom d'hôte de hub-r2.
- Approuvez l'appareil en faisant glisser le bouton vers la droite.
Sélectionnez l'onglet "Interfaces".
- Recherchez la colonne Attribué.
- À côté de la ligne de l'interface, cliquez sur Non pour définir le paramètre sur Oui.
Sélectionnez l'onglet Pare-feu.
- Cliquez sur + pour ajouter une règle de pare-feu entrante.
- Sélectionnez l'interface WAN à partir de laquelle hériter de la règle.
- Autoriser le port SSH 22 avec le protocole TCP
- Cliquez sur Ajouter une règle.
- Cliquez sur Mettre à jour l'appareil.
Démarrer l'appliance hub-r2 pour SD-WAN à partir du contrôleur flexiWAN
- Revenez à Inventaire → Appareils → hub-r2, puis sélectionnez Démarrer l'appareil.
- Attendez la fin de la synchronisation et notez l'état running (en cours d'exécution).
14. Hub Network Connectivity Center sur GCP

Activer les services d'API
Activez l'API Network Connectivity si ce n'est pas déjà fait :
gcloud services enable networkconnectivity.googleapis.com
Créer le 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]
Configurer les deux appliances de routeur en tant que spoke NCC
Recherchez l'URI et l'adresse IP pour hub-r1 et hub-r2, puis notez le résultat. Vous aurez besoin de ces informations à l'étape suivante.
Veillez à noter l'adresse IP (192.168.x.x) de l'instance hub-r1 et 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"
Ajoutez le vnic hub-r1 networkIP (192.168.x.x) en tant que spoke et activez le transfert de données de site à 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
Ajoutez la carte d'interface réseau virtuelle hub-r2 networkIP (192.168.x.x) en tant que spoke et activez le transfert de données de site à site.
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
Configurer Cloud Router pour établir le protocole BGP avec Hub-R1
À l'étape suivante, créez le routeur cloud et annoncez le sous-réseau VPC de charge de travail 192.168.235.0/24.
Créez le routeur cloud dans us-central1 qui communiquera avec BGP avec hub-r1.
gcloud compute routers create wrk-cr1 \
--region=us-central1 \
--network=workload-vpc \
--asn=65002 \
--set-advertisement-groups=all_subnets \
--advertisement-mode=custom
En configurant les appliances de routeur en tant que spoke NCC, le routeur cloud peut négocier BGP sur les interfaces virtuelles.
Créez deux interfaces sur le routeur cloud qui échangeront des messages BGP avec hub-r1.
Les adresses IP sont sélectionnées à partir du sous-réseau de charge de travail et peuvent être modifiées si nécessaire.
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
Configurez l'interface Cloud Router pour établir une session BGP avec vNIC-1 de hub-r1, puis mettez à jour peer-ip-address avec l'adresse IP de hub-r1 networkIP . Notez que la même adresse IP est utilisée pour int0 et 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
Vérifiez l'état BGP. À ce stade de l'atelier de programmation, BGP est à l'état "connect" (connexion), car l'appliance de routeur réseau n'a pas été configurée pour BGP.
gcloud compute routers get-status wrk-cr1 --region=us-central1
Configurer Workload-cr2 pour établir une session BGP avec Hub-R2
À l'étape suivante, créez le routeur cloud et annoncez le sous-réseau VPC de charge de travail 192.168.236.0/24.
Créez le routeur cloud dans us-east4 qui communiquera avec BGP avec hub-r2.
gcloud compute routers create wrk-cr2 \
--region=us-east4 \
--network=workload-vpc \
--asn=65002 \
--set-advertisement-groups=all_subnets \
--advertisement-mode=custom
Créez une paire d'interfaces sur le routeur cloud qui échangeront des messages BGP avec hub-r2. Les adresses IP sont sélectionnées à partir du sous-réseau de charge de travail et peuvent être modifiées si nécessaire.
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
Configurez l'interface Cloud Router pour établir le protocole BGP avec la carte d'interface réseau virtuelle 1 de hub-r2, puis mettez à jour l'adresse IP du pair avec l'adresse IP de hub-r1 networkIP . Notez que la même adresse IP est utilisée pour int0 et 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
Vérifiez l'état BGP. À ce stade de l'atelier de programmation, BGP est à l'état "connect" (connexion), car l'appliance de routeur réseau n'a pas été configurée pour BGP.
gcloud compute routers get-status wrk-cr2 --region=us-east4
15. Configurer les appliances de routeur hub pour BGP
Configurer hub-r1 pour BGP
Veillez à vous connecter à la console flexiManage.
Accédez à Inventaire → Appareils → hub-r1, puis sélectionnez l'appareil avec HostName:hub-r1.
- Cliquez sur l'onglet Routage.
- Cliquez sur Configuration BGP.
- Désactiver Redistribute OSPF Routes (Redistribuer les routes OSPF)
- Configurez hub-r1 pour BGP avec ces paramètres, puis cliquez sur Enregistrer.

Sélectionnez l'onglet Interfaces, recherchez l'interface LAN, puis la colonne Routage.
- Cliquez sur none (aucun) pour ouvrir le menu et sélectionner BGP comme protocole de routage.

- En haut de la page, cliquez sur "Mettre à jour l'appareil".
Configurer hub-r2 pour BGP
Veillez à vous connecter à la console flexiManage.
Accédez à Inventaire → Appareils → hub-r2,puis sélectionnez l'appareil avec le nom d'hôte hub-r2.
- Cliquez sur l'onglet Routage.
- Cliquez sur Configuration BGP.
- Désactiver Redistribute OSPF Routes (Redistribuer les routes OSPF)
- Configurez hub-r2 pour BGP avec ces paramètres, puis cliquez sur Enregistrer.

Sélectionnez l'onglet Interfaces, recherchez l'interface LAN, puis la colonne "Routage".
- Cliquez sur "none" (aucun) pour ouvrir un menu déroulant et sélectionner BGP comme protocole de routage.

- En haut de la page, cliquez sur Mettre à jour l'appareil.
Sélectionnez l'onglet Routage.
- Vérifiez que hub-r2 a appris une route BGP à partir de wrk-cr2.

16. Échange de routes BGP entre les appliances de routeur
Établir un ASN local pour les sites distants
Configurez un ASN BGP local pour site1-nva et site2-nva. Une fois la configuration effectuée, nous établirons un tunnel IPSEC entre les sites distants et les routeurs du hub.
Sélectionnez l'appareil avec HostName:site1-nva.
- Cliquez sur l'onglet Routage.
- Cliquez sur Configuration BGP.
- Désactiver Redistribute OSPF Routes (Redistribuer les routes OSPF)
- BGP activé
- Numéro ASN local 7269 → Enregistrer
- Mettre à jour l'appareil
- Onglet "Interfaces" → LAN → Routage → BGP
- Mettre à jour l'appareil
Sélectionnez l'appareil avec HostName:site2-nva.
- Cliquez sur l'onglet Routage.
- Cliquez sur Configuration BGP.
- Désactiver Redistribute OSPF Routes (Redistribuer les routes OSPF)
- BGP activé
- Numéro ASN local 7270 → Enregistrer
- Mettre à jour l'appareil
- Onglet "Interfaces" → LAN → Routage → BGP
- Mettre à jour l'appareil
Configurer des tunnels VPN entre les appliances de site et de hub
Veillez à vous connecter à la console flexiManage.
- Accédez à Inventaire → Appareils.
- Cochez la case à côté du nom d'hôte site1-nva et hub-r1 pour créer un tunnel VPN entre cette paire de NVA.
- Cliquez sur Actions → Créer des tunnels et configurez les éléments suivants :

- Sélectionnez Créer des tunnels.
- Décochez site1-nva et ub-r1.
Répétez les étapes pour créer un tunnel entre site2-nva et hub-r2 en sélectionnant les paramètres appropriés.

Vérifiez que la paire de tunnels est établie entre chaque paire d'appliances virtuelles réseau.
- Dans le panneau de gauche, sélectionnez Inventaire, puis cliquez sur Tunnels et recherchez la colonne "État".

Vérifiez que "site1-nva" a appris les routes vers les sous-réseaux 192.168.235.0/24 et 192.168.236.0/24.
- Sélectionnez Inventaire → Appareils → site1-nva, puis cliquez sur l'onglet Routage.
Dans l'exemple de résultat ci-dessous, flexiWAN a créé automatiquement le tunnel à l'aide de l'adresse IP de l'hôte 10.100.0.6 
17. Vérifier la connectivité du chemin de données
Vérifier la connectivité site à cloud depuis l'environnement sur site
Reportez-vous au schéma et vérifiez le chemin de données entre s1-vm et workload1-vm.

Configurer des routes statiques VPC pour le site vers le cloud
Les VPC Site1-VPC et Site2-VPC sur site simulent un réseau de centre de données sur site.
Les appliances de routeur site-1-nva et site-2-nva utilisent la connectivité VPN pour accéder au réseau hub.
Pour le cas d'utilisation site vers cloud**,** créez des routes statiques vers la destination 192.168.0.0/16 en utilisant l'appliance de routeur comme saut suivant pour accéder aux réseaux du réseau cloud GCP.
Sur s1-inside-vpc,créez une route statique pour la destination 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
Sur s2-inside-vpc,créez une route statique pour la destination 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
Dans Cloud Shell, recherchez l'adresse IP de workload1-vm. Vous en aurez besoin pour tester la connectivité depuis s1-vm.
gcloud compute instances describe workload1-vm --zone=us-central1-a | grep "networkIP"
Ouvrez une connexion SSH à s1-vm. Si le délai expire, réessayez.
gcloud compute ssh s1-vm --zone=us-central1-a
Connectez-vous en SSH à s1-vm et utilisez la commande curl pour établir une session TCP avec l'adresse IP de 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
Vérifier la connectivité de site à site
Reportez-vous au schéma et vérifiez le chemin d'accès aux données entre s1-vm et s2-vm.

Configurer des routes statiques VPC pour le VPN de site à site
Pour acheminer le trafic de site à site entre le site 1 et le site 2 à l'aide du réseau mondial de GCP, vous devez créer des routes statiques vers les destinations de sous-réseau du site distant en utilisant l'appliance de routeur sur site comme prochain saut.
Dans une étape ultérieure, le VPC de charge de travail sera configuré avec NCC pour prendre en charge le transfert de données de site à site.
Sur s1-inside-vpc,créez une route statique pour accéder à 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
Sur s2-inside-vpc,créez une route statique pour accéder à 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
Dans Cloud Shell, recherchez l'adresse IP de s2-vm. Vous en aurez besoin pour tester la connectivité depuis S1-vm.
gcloud compute instances describe s2-vm --zone=us-east4-b | grep networkIP
Ouvrez une connexion SSH à s1-vm. Si le délai expire, réessayez.
gcloud compute ssh s1-vm --zone=us-central1-a
Connectez-vous en SSH à s1-vm et pinguez l'adresse IP de 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. Effectuer un nettoyage
Connectez-vous à Cloud Shell et supprimez les instances de VM dans les réseaux des sites hub et filiales.
#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. Félicitations !
Vous avez terminé l'atelier Network Connectivity Center.
Sujets abordés
- Configuration de l'intégration du réseau étendu défini par logiciel pour NCC de site à cloud
- Intégration du réseau étendu défini par logiciel configurée pour NCC de site à site
Étapes suivantes
- Présentation de Network Connectivity Center
- Documentation Network Connectivity Center
- Ressources flexiWAN
- Dépôt GitLab flexiWAN
© Google LLC ou ses sociétés affiliées. Tous droits réservés. Ne pas diffuser.




