1. Introducción
Descripción general
En este lab, explorarás algunas de las funciones de Network Connectivity Center.
Network Connectivity Center (NCC) es un modelo de plano de control de concentrador y radio para la administración de conectividad de red en Google Cloud. El recurso de concentrador proporciona un modelo de administración de conectividad centralizado para conectar radios. Actualmente, NCC admite los siguientes recursos de red como radios:
- Adjuntos de VLAN
- Dispositivos del router
- VPN con alta disponibilidad
Los codelabs requieren el uso de solución SD-WAN de SaaS de flexiWAN que simplifica la implementación y la administración de WAN. flexWAN es una solución SD-WAN y SASE de código abierto.
Qué compilarás
En este codelab, compilarás una topología SD-WAN de concentrador y radio para simular los sitios de sucursales remotas que desviarán la red troncal de Google para la comunicación entre sitios y de sitio a nube.
- Implementarás un par de VMs de GCE configuradas para “flexiWAN” Agente de SD-WAN en la VPC del concentrador que representa los encabezados para el tráfico entrante y saliente a GCP.
- Implementa dos routers SD-WAN de FlexiWAN remotos para representar VPC de dos sitios de sucursales diferentes
- En el caso de las pruebas de rutas de datos, configurarás tres VMs de GCE para simular clientes locales y un servidor alojado en GCP
Qué aprenderás
- Uso de NCC para interconectar sucursales remotas mediante una solución WAN definida por software de código abierto
- Experiencia práctica con una solución WAN definida por software de código abierto
Requisitos
- Conocimiento de la red de VPC de GCP
- Conocimientos sobre el enrutamiento de Cloud Router y BGP
- El codelab requiere 6 VPC. Verifica tus redes Quota:Networks y solicita redes adicionales si es necesario. Haz una captura de pantalla a continuación:
2. Objetivos
- Configura el entorno de GCP
- Implementa instancias de FlexiWAN Edge en GCP
- Establece un concentrador de NCC y un NVA perimetral de flexiWAN como radio
- Configurar y administrar instancias de flexiWAN con flexiManage
- Configura el intercambio de rutas de BGP entre vpc-app-svcs y el NVA de FlexiWAN
- Cree un sitio remoto que simule la participación de una sucursal remota de un cliente o un centro de datos
- Establecer un túnel IPSEC entre el sitio remoto y el NVA
- Verifica que los dispositivos se hayan implementado correctamente
- Valida la transferencia de datos del sitio a la nube
- Valida la transferencia de datos de sitio a sitio
- Limpia los recursos usados
Este instructivo requiere la creación de una cuenta de flexiManage gratuita para autenticar, integrar y administrar instancias de FlexiEdge.
Antes de comenzar
Usa la consola de Google Cloud y Cloud Shell
Para interactuar con GCP, usaremos la consola de Google Cloud y Cloud Shell a lo largo de este lab.
Google Cloud Console
Puedes acceder a la consola de Cloud en https://console.cloud.google.com.
Configura los siguientes elementos en Google Cloud para facilitar la configuración de Network Connectivity Center:
En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.
Inicia Cloud Shell. En este codelab, se usa $variables para facilitar la implementación de la configuración de gcloud en Cloud Shell.
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=[YOUR-PROJECT-NAME]
echo $projectname
Funciones de IAM
NCC requiere roles de IAM para acceder a APIs específicas. Asegúrate de configurar tu usuario con los roles de IAM de NCC según sea necesario.
Nombre del rol | Descripción | Permisos |
networkconnectivity.networkAdmin | Permite que los administradores de red administren el concentrador y los radios. | networkconnectivity.hubs.networkconnectivity.spokes. |
networkconnectivity.networkSpokeManager | Permite agregar y administrar radios en un concentrador. Se usará en la VPC compartida, en la que el proyecto host es propietario del concentrador, pero otros administradores de otros proyectos pueden agregar radios para sus adjuntos al concentrador. | networkconnectivity.spokes.** |
networkconnectivity.networkUsernetworkconnectivity.networkViewer | Permite a los usuarios de la red ver diferentes atributos del concentrador y radio. | networkconnectivity.hubs.getnetworkconnectivity.hubs.listnetworkconnectivity.spokes.getnetworkconnectivity.spokes.listnetworkconnectivity.spokes.aggregatedList |
3. Configura el entorno de Network Lab
Descripción general
En esta sección, implementaremos las redes de VPC y las reglas de firewall.
Simula las redes de sitios de las sucursales locales
Esta red de VPC contiene subredes para las instancias de VM locales.
Crea las redes y subredes del sitio local:
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
Crea reglas de firewall de site1-vpc para permitir lo siguiente:
- SSH, interno, IAP
- ESP, UDP/500, UDP/4500
- Rango 10.0.0.0/8
- Rango de 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
Crea reglas de firewall de site2-vpc para permitir:
- SSH, interno, IAP
- Rango 10.0.0.0/8
- Rango de 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
Crea reglas de firewall de s1-inside-vpc para permitir lo siguiente:
- SSH, interno, IAP
- Rango 10.0.0.0/8
- Rango de 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
Crea reglas de firewall de s2-inside-vpc para permitir lo siguiente:
- SSH, interno, IAP
- Rango 10.0.0.0/8
- Rango de 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
Para realizar pruebas, crea las instancias s1-inside-vm
y 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
Simula un entorno de red de Cloud de GCP
Para habilitar el tráfico de sitio a sitio entre regiones a través de la red hub-vpc
y los radios, debes habilitar el enrutamiento global en la red hub-vpc
. Obtén más información en el artículo sobre intercambio de rutas de NCC.
- Crea la red y las subredes de
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
- Crea la red y las subredes de
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
- Crea reglas de firewall de VPC de concentrador que permitan lo siguiente:
- SSH
- ESP, UDP/500, UDP/4500
- Rango interno 10.0.0.0/8 (que abarca el puerto TCP 179 necesario para la sesión de BGP del Cloud Router al dispositivo del 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
- Crea reglas de firewall de carga de trabajo-VPC para permitir lo siguiente:
- SSH
- rango interno 192.168.0.0/16 (que abarca el puerto TCP 179 necesario para la sesión de BGP del Cloud Router al dispositivo del 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
- Crea un Cloud Router y una puerta de enlace NAT para habilitar Cloud NAT en la VPC de carga de trabajo para permitir que Workloads 1-vm descargue paquetes.
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
- Crea el
workload1-vm
in "us-central1-a" in
workload-VPC
. Usarás este host para verificar la conectividad del sitio a la nube.
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. Configurar dispositivos locales para SD-WAN
Crea la VM local para SDWAN (dispositivos)
En la siguiente sección, crearemos dispositivos de router site1-nva y site2-nva que actúen como routers locales.
Crear instancias
Crea el dispositivo site1-router
llamado 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
Crea el dispositivo site2-router llamado 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. Instala flexiWAN en site1-nva
Abre una conexión SSH a site1-nva. Si se agotó el tiempo de espera, vuelve a intentarlo.
gcloud compute ssh site1-nva --zone=us-central1-a
Instala flexiWAN en site1-nva
sudo su
sudo curl -sL https://deb.flexiwan.com/setup | sudo bash -
apt install flexiwan-router -y
Preparar la VM para el registro del plano de control de FlexiWAN
Una vez finalizada la instalación de flexiWAN, ejecuta el comando fwsystem_checker para comprobar la configuración de tu sistema. Este comando verifica los requisitos del sistema y ayuda a corregir los errores de configuración que haya en él.
- Selecciona la opción
2
para una configuración rápida y silenciosa - luego sal con 0.
- No cierres la ventana de 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 ====
Deja la sesión abierta para realizar los siguientes pasos.
6. Registra site1-nva con el controlador SD-WAN
Estos pasos son necesarios para completar el aprovisionamiento de la NVA de FlexiWAN que se administra desde la consola de FlexiManage. Asegúrate de que la organización de FlexiWAN esté configurada antes de continuar.
Autentica el NVA de flexiWAN recién implementado con flexiManage usando un token de seguridad accediendo a la cuenta de flexiManage. El mismo token se puede volver a usar en todos los dispositivos de router.
Selecciona Inventory → Tokens, crea un token y seleccionar copia
Regresa a Cloud Shell (site1-nva) y pega el token en el directorio /etc/flexiwan/agent/token.txt. Para ello, sigue estos pasos:
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
Activar los Site Routers en la consola de flexiManage
Accede a la consola de FlexiManage para activar site1-nva en el controlador
En el panel izquierdo, selecciona Inventory → Devices, haz clic en el dispositivo "Unknown".
Ingresa el nombre de host de site1-nva y desliza el dial hacia la derecha para aprobar el dispositivo.
Selecciona la pestaña "Interfaces".
Busca la sección "Asignadas" y haga clic en "No" y cambia la configuración a "Yes"
Selecciona la pestaña Firewall y haz clic en el signo “+” para agregar una regla de firewall entrante
Selecciona la interfaz WAN para aplicar la regla SSH como se describe a continuación
Haz clic en "Actualizar dispositivo".
Inicia site1-nva desde el controlador de flexiWAN. Regresa a Inventario → Dispositivos → site1-nva, selecciona "Iniciar dispositivo".
Estado - Sincronizando
Estado: sincronizado
El indicador de advertencia se puede ver en Solución de problemas → Notificaciones. Cuando lo haya visto, seleccionar todo y, luego, marcarlo como leído
7. Instala flexiWAN en site2-nva
Abre una pestaña nueva, crea una sesión de Cloud Shell y actualiza $variables para facilitar la implementación de la configuración de gcloud
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=[YOUR-PROJECT-NAME]
echo $projectname
Abre una conexión SSH a site2-nva. Si se agotó el tiempo de espera, vuelve a intentarlo.
gcloud compute ssh site2-nva --zone=us-east4-b
Instala flexiWAN en site2-nva
sudo su
sudo curl -sL https://deb.flexiwan.com/setup | sudo bash -
apt install flexiwan-router -y
Preparar la VM para el registro del plano de control de FlexiWAN
Una vez finalizada la instalación de flexiWAN, ejecuta el comando fwsystem_checker para comprobar la configuración de tu sistema. Este comando verifica los requisitos del sistema y ayuda a corregir los errores de configuración que haya en él.
- Selecciona la opción
2
para una configuración rápida y silenciosa - luego sal con 0.
- No cierres la ventana de 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. Registra site2-nva con el controlador SD-WAN
Estos pasos son necesarios para completar el aprovisionamiento de la NVA de FlexiWAN que se administra desde la consola de FlexiManage. Asegúrate de que la organización de FlexiWAN esté configurada antes de continuar.
Autentica el NVA de flexiWAN recién implementado con flexiManage usando un token de seguridad accediendo a la cuenta de flexiManage. El mismo token se puede volver a usar en todos los dispositivos de router.
Selecciona Inventario → Tokens, crea un token y Selecciona Copiar.
Regresa a Cloud Shell (site2-nva) y pega el token en el directorio /etc/flexiwan/agent/token.txt. Para ello, sigue estos pasos:
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
Activar los Site Routers desde la consola de flexiManage
Accede a la consola de FlexiManage para activar site2-nva en el controlador
En el panel izquierdo, selecciona Inventory → Devices, haz clic en el dispositivo "Unknown".
Ingresa el nombre de host de site2-nva y desliza el dial hacia la derecha para aprobar el dispositivo.
Selecciona la pestaña "Interfaces".
Busca la sección "Asignadas" y haga clic en "No" y cambia la configuración a "Yes"
Selecciona Pestaña Firewall y haz clic en el signo “+” para agregar una regla de firewall entrante. Selecciona la interfaz WAN para aplicar la regla SSH como se describe a continuación
Haz clic en "Actualizar dispositivo".
Inicia site2-nva desde el controlador de flexiWAN. Regresa a Inventario → Dispositivos → site2-nva, selecciona "Iniciar dispositivo".
Satus - Sincronización
Estado: sincronizado
El indicador de advertencia se puede ver en Solución de problemas → Notificaciones. Cuando lo haya visto, seleccionar todo y, luego, marcarlo como leído
9. Configurar dispositivos SDWAN del concentrador
En la siguiente sección, crearás y registrarás los routers Hub (hub-r1 y hub-r2) con el controlador de flexiWAN como se ejecutó antes con las rutas del sitio.
Abre una pestaña nueva, crea una sesión de Cloud Shell y actualiza $variables para facilitar la implementación de la configuración de gcloud
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=[YOUR-PROJECT-NAME]
echo $projectname
Crea instancias de NVA del concentrador
Crea el dispositivo 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
Crea el dispositivo 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. Instala flexiWAN en las instancias de Hub para hub-r1
Abre una conexión SSH a hub-r1
gcloud compute ssh hub-r1 --zone=us-central1-a
Instala el agente de FlexiWAN en ambos concentradores-r1
sudo su
sudo curl -sL https://deb.flexiwan.com/setup | sudo bash -
apt install flexiwan-router -y
Preparar las VMs de Hub-r1 para el registro de FlexiWAN
Una vez finalizada la instalación de flexiWAN, ejecuta el comando fwsystem_checker para comprobar la configuración de tu sistema. Este comando verifica los requisitos del sistema y ayuda a corregir los errores de configuración que haya en él.
root@hub-r1:/home/user# fwsystem_checker
- Selecciona la opción
2
para una configuración rápida y silenciosa - luego sal con 0.
- No cierres la ventana de Cloud Shell.
11. Registra las VMs de Hub-r1 en el controlador de flexiManage
Autentica el NVA de flexiWAN recién implementado con flexiManage usando un token de seguridad accediendo a la cuenta de flexiManage.
- Selecciona Inventory → Tokens y copia el token.
Vuelve a Cloud Shell (hub-r1) y pega el token en el directorio /etc/flexiwan/agent/token.txt. Para ello, sigue estos pasos:
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. Instala flexiWAN en las instancias de Hub para hub-r2
Abrir una conexión SSH a hub-r2
gcloud compute ssh hub-r2 --zone=us-east4-b
Instala el agente de FlexiWAN en Hub-r2
sudo su
sudo curl -sL https://deb.flexiwan.com/setup | sudo bash -
apt install flexiwan-router -y
Preparar las VMs de Hub-r2 para el registro de FlexiWAN
Una vez finalizada la instalación de flexiWAN, ejecuta el comando fwsystem_checker para comprobar la configuración de tu sistema. Este comando verifica los requisitos del sistema y ayuda a corregir los errores de configuración que haya en él.
root@hub-r2:/home/user# fwsystem_checker
- Selecciona la opción
2
para una configuración rápida y silenciosa - luego sal con 0.
- No cierres la ventana de Cloud Shell.
13. Registra las VMs de Hub-r2 en el controlador de flexiManage
Autentica el NVA de flexiWAN recién implementado con flexiManage usando un token de seguridad accediendo a la cuenta de flexiManage.
- Selecciona Inventory → Tokens y copia el token.
Vuelve a Cloud Shell (hub-r2) y pega el token en el directorio /etc/flexiwan/agent/token.txt. Para ello, sigue estos pasos:
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
Activar los routers Hub-r1 en la consola de FlexiManage
Accede a la consola de FlexiManage
- Navega a Inventory → Devices
- Busca y toma nota de que los nombres de host de hub-r1 y hub-r2 son "desconocidos".
Selecciona el dispositivo desconocido con el HostName hub-r1.
- Ingresa el nombre de host de hub-r1.
- Para aprobar el dispositivo, desliza el dial hacia la derecha.
Selecciona la pestaña Interfaces.
- Busca la columna “Asignadas”
- Junto a la fila de la interfaz, haz clic en "No" para cambiar la configuración a "Yes".
Selecciona la pestaña Firewall.
- Haz clic en "+". Agregar regla de firewall entrante
- Selecciona la interfaz WAN para heredar la regla
- Permitir el puerto SSH 22 con el protocolo TCP
- Haz clic en "Actualizar dispositivo".
Inicia el dispositivo hub-r1 para SD-WAN desde el control de FlexiWAN
- Vuelve a Inventario → Dispositivos → Hub-r1.
Selecciona "Start Device".
- Espera a que se complete la sincronización y observa el mensaje "running". estado
Activar los routers Hub-r2 en la consola de flexiManage
Selecciona el dispositivo desconocido con el HostName hub-r2.
- Ingresa el nombre de host de hub-r2.
- Aprueba el dispositivo. Desliza el dial hacia la derecha.
Selecciona la pestaña Interfaces
- Busca la columna “Asignadas”
- Junto a la fila de la interfaz, haz clic en "No" para cambiar la configuración a "Yes".
Selecciona la pestaña Firewall.
- Haz clic en "+". Agregar regla de firewall entrante
- Selecciona la interfaz WAN para heredar la regla
- Permitir el puerto SSH 22 con el protocolo TCP
- Haz clic en Agregar regla.
- Haz clic en "Actualizar dispositivo".
Inicia el dispositivo hub-r2 para SD-WAN desde el control de FlexiWAN
- Vuelve a Inventario → Dispositivos → hub-r2, y selecciona "Iniciar dispositivo".
- Espera a que se complete la sincronización y observa el mensaje "running". estado
14. Network Connectivity Center en GCP Hub
Habilitar servicios de API
Habilita la API de conectividad de red en caso de que aún no esté habilitada:
gcloud services enable networkconnectivity.googleapis.com
Crea el concentrador de 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]
Configurar ambos dispositivos de router como un radio de NCC
Busca el URI y la dirección IP para hub-r1 y hub-r2, y anota el resultado. Necesitarás esta información en el siguiente paso.
Asegúrate de anotar la dirección IP (192.168.x.x) de las instancias hub-r1 y 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"
Agrega la vnic networkIP
de Hub-r1 (192.168.x.x) como radio y habilita la transferencia de datos entre sitios
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
Agrega la vnic networkIP
(192.168.x.x) de Hub-r2 como radio y habilita la transferencia de datos de sitio a sitio.
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
Configura Cloud Router para establecer BGP con Hub-R1
En el siguiente paso, crea el Cloud Router y anuncia la subred de VPC 192.168.235.0/24 de la carga de trabajo.
Crear el Cloud Router en us-central1 que se comunicará con BGP con hub-r1
gcloud compute routers create wrk-cr1 \
--region=us-central1 \
--network=workload-vpc \
--asn=65002 \
--set-advertisement-groups=all_subnets \
--advertisement-mode=custom
La configuración de los dispositivos del router como Spoke de NCC permite que el Cloud Router negocie BGP en interfaces virtuales.
Crea dos interfaces en el Cloud Router que intercambien mensajes BGP con hub-r1.
Las direcciones IP se seleccionan de la subred de carga de trabajo y se pueden cambiar si es necesario.
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
Configurar la interfaz de Cloud Router para establecer BGP con el vNIC-1 de hub-r1, actualizar la dirección IP de intercambio de tráfico con la dirección IP de hub-r1 networkIP
. Ten en cuenta que se usa la misma dirección IP para int0 y 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
Verifica el estado de BGP. En este punto del codelab, BGP es “estado de conexión” ya que el dispositivo de router de red no se configuró para BGP.
gcloud compute routers get-status wrk-cr1 --region=us-central1
Configura Workload-cr2 para establecer BGP con Hub-R2
En el siguiente paso, crea el Cloud Router y anuncia la subred de VPC 192.168.236.0/24 de la carga de trabajo.
Crear el Cloud Router en us-east4 que se comunicará con BGP con hub-r2
gcloud compute routers create wrk-cr2 \
--region=us-east4 \
--network=workload-vpc \
--asn=65002 \
--set-advertisement-groups=all_subnets \
--advertisement-mode=custom
Crea un par de interfaces en el Cloud Router que intercambiarán mensajes BGP con concentrador-r2. Las direcciones IP se seleccionan de la subred de la carga de trabajo y se pueden cambiar si es necesario.
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
Configurar la interfaz de Cloud Router para establecer BGP con el vNIC-1 de hub-r2, actualizar la dirección IP de intercambio de tráfico con la dirección IP de hub-r1 networkIP
. Ten en cuenta que se usa la misma dirección IP para int0 y 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
Verifica el estado de BGP. En este punto del codelab, BGP es “estado de conexión” ya que el dispositivo de router de red no se configuró para BGP.
gcloud compute routers get-status wrk-cr2 --region=us-east4
15. Configura dispositivos de router de concentrador para BGP
Configura hub-r1 para BGP
Asegúrate de acceder a la consola de FlexiManage
Navega a Inventory → Devices → hub-r1 y selecciona el dispositivo con el HostName:hub-r1.
- Haz clic en la pestaña "Enrutamiento".
- Haz clic en "Configuración de BGP".
- Inhabilita "Redistribute OSPF Routes" (Redistribuye las rutas OSPF).
- Configura hub-r1 para BGP con estos parámetros y haz clic en "Guardar".
Selecciona "Interfaces". localiza la interfaz LAN, busca la columna "Enrutamiento"
- Haz clic en "ninguna". Para abrir un menú que le permite seleccionar BGP como protocolo de enrutamiento
- En la parte superior de la página, haz clic en “Actualizar dispositivo”.
Configura hub-r2 para BGP
Asegúrate de acceder a la consola de FlexiManage
Ve a Inventory → Devices → hub-r2. Selecciona el dispositivo con el HostName:hub-r2.
- Haz clic en la pestaña "Enrutamiento".
- Haz clic en "Configuración de BGP".
- Inhabilita "Redistribute OSPF Routes" (Redistribuye las rutas OSPF).
- Configura hub-r2 para BGP con estos parámetros y haz clic en "Guardar".
Selecciona "Interfaces". localiza la interfaz LAN, busca la columna "Enrutamiento"
- Haz clic en "Ninguno". para abrir un menú desplegable y seleccionar BGP como protocolo de enrutamiento
- En la parte superior de la página, haz clic en "Actualizar dispositivo".
Selecciona "enrutamiento". pestaña
- Confirma que hub-r2 aprendió una ruta BGP desde wrk-cr2
16. Intercambio de rutas de BGP entre dispositivos de routers
Establecer ASN local para sitios remotos
Configura un ASN de BGP local para site1-nva y site2-nva. Una vez configurados, estableceremos un túnel de IPSEC entre los sitios remotos y los routers del concentrador.
Selecciona el dispositivo con el HostName:site1-nva.
- Haz clic en la pestaña "Enrutamiento".
- Haz clic en "Configuración de BGP".
- Inhabilita "Redistribute OSPF Routes" (Redistribuye las rutas OSPF).
- BGP habilitado
- ASN local 7269 → Guardar
- Actualizar dispositivo
- Pestaña Interfaces → LAN → Enrutamiento → BGP
- Actualizar dispositivo
Selecciona el dispositivo con el HostName:site2-nva.
- Haz clic en la pestaña "Enrutamiento".
- Haz clic en "Configuración de BGP".
- Inhabilita "Redistribute OSPF Routes" (Redistribuye las rutas OSPF).
- BGP habilitado
- ASN local 7270 → Guardar
- Actualizar dispositivo
- Pestaña Interfaces → LAN → Enrutamiento → BGP
- Actualizar dispositivo
Configura túneles VPN entre dispositivos de centro y de sitio.
Asegúrate de acceder a la consola de FlexiManage
- Navega a Inventory → Devices
- Selecciona la casilla junto al nombre de host de site1-nva y hub-r1 para crear un túnel VPN entre este par de NVA.
- Haz clic en Acciones→ Crear túneles y configura la siguiente información:
- Selecciona Crear túneles.
- Quita las marcas de verificación de site1-nva y ub-r1.
Repite los pasos para crear un túnel entre site2-nva y hub-r2 con la selección de los parámetros adecuados
Verificar que el par de túneles esté establecido entre cada par de NVA
- En el panel lateral izquierdo, selecciona "inventory". y haz clic en "Túneles". y ubicarás la columna de estado
Verifica que “site1-nva” rutas aprendidas a la subred 192.168.235.0/24 y 192.168.236.0/24
- Selecciona Inventario → Dispositivos → site1-nva y haz clic en la pestaña "Enrutamiento".
En el siguiente resultado de ejemplo, flexiWAN creó automáticamente el túnel mediante la dirección IP del host 10.100.0.6
17. Verifica la conectividad de la ruta de datos
Verifica la conectividad del sitio a la nube desde el entorno local
Consulta el diagrama y verifica la ruta de acceso a los datos entre s1-vm y workload1-vm
Configura rutas estáticas de VPC para el sitio a Cloud
La red de Site1-VPC y Site2-VPC local simula una red de centro de datos local.
Tanto los dispositivos de router site-1-nva como los site-2-nva usan conectividad VPN para llegar a la red del concentrador.
Para el caso de uso del sitio a la nube**,** crea rutas estáticas al destino 192.168.0.0/16 usando el dispositivo de router como el siguiente salto para llegar a las redes en la red de nube de GCP.
En s1-inside-vpc,crea una ruta estática para el destino en la nube (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
En s2-inside-vpc,crea una ruta estática para el destino en la nube (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
En cloudshell, busca la dirección IP de “workload1-vm”. Lo necesitarás para probar la conectividad de “s1-vm”.
gcloud compute instances describe workload1-vm --zone=us-central1-a | grep "networkIP"
Abre una conexión SSH a s1-vm. Si se agotó el tiempo de espera, vuelve a intentarlo.
gcloud compute ssh s1-vm --zone=us-central1-a
Establece una conexión SSH a “s1-vm” y usa el comando “curl” para establecer una sesión TCP a la dirección IP de Workloads 1-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
Verifica la conectividad entre sitios
Consulta el diagrama y verifica que la ruta de datos entre s1-vm y s2-vm
Configura rutas estáticas de VPC para un sitio a sitio
Para enrutar el tráfico de sitio a sitio entre los sitios 1 y 2 con la red global de GCP, deberás crear rutas estáticas a destinos de subredes de sitios remotos con el dispositivo de router local como próximo salto.
En un paso posterior, la VPC de la carga de trabajo se configurará con NCC para admitir la transferencia de datos de sitio a sitio.
En s1-inside-vpc, crea una ruta estática para llegar a 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
En s2-inside-vpc,crea una ruta estática para llegar a 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
En cloudshell, busca la dirección IP de “s2-vm”. Lo necesitarás para probar la conectividad de S1-vm.
gcloud compute instances describe s2-vm --zone=us-east4-b | grep networkIP
Abre una conexión SSH a s1-vm. Si se agotó el tiempo de espera, vuelve a intentarlo.
gcloud compute ssh s1-vm --zone=us-central1-a
Establece una conexión SSH a “s1-vm” y “ping” la dirección 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. Realiza una limpieza
Accede a Cloud Shell y borra las instancias de VM en las redes del sitio del concentrador y la sucursal
#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. ¡Felicitaciones!
Completaste el lab de Network Connectivity Center.
Temas que se abordaron
- Integración de WAN definida por software configurada para el sitio de NCC a la nube
- Integración de WAN definida por software para NCC sitio a sitio
Próximos pasos
- Descripción general de Network Connectivity Center
- Documentación de Network Connectivity Center
- Recursos de FlexiWAN
- Repositorio de GitLab de flexiWAN
©Google, LLC o sus afiliados. Todos los derechos reservados. Do not distribute.