1. Introdução
Visão geral
Neste laboratório, você vai conhecer alguns dos recursos do Network Connectivity Center.
O Network Connectivity Center (NCC) é um modelo de plano de controle hub-and-spoke para gerenciamento de conectividade de rede no Google Cloud. O recurso de hub fornece um modelo de gerenciamento de conectividade centralizado para conectar spokes. Atualmente, o NCC oferece suporte aos seguintes recursos de rede como spokes:
- Anexos da VLAN
- Dispositivos roteadores
- VPN de alta disponibilidade
Os codelabs exigem o uso da solução SD-WAN SaaS da flexiWAN, que simplifica a implantação e o gerenciamento de WANs. O flexWAN é uma solução SD-WAN e SASE de código aberto.
O que você vai criar
Neste codelab, você vai criar uma topologia de SD-WAN de hub e spoke para simular sites de filiais remotas que vão atravessar a rede de backbone do Google para comunicação entre site e nuvem e entre sites.
- Você vai implantar um par de VMs do GCE configuradas para o agente SD-WAN "flexiWAN" na VPC hub, que representa os headends para o tráfego de entrada e saída do GCP.
- Implante dois roteadores SD-WAN flexiWAN remotos para representar duas VPCs de sites de filiais diferentes.
- Para o teste do caminho de dados, configure três VMs do GCE para simular clientes locais e um servidor hospedado no GCP.
O que você vai aprender
- Como usar o NCC para interconectar filiais remotas usando uma solução de WAN definida por software de código aberto
- Experiência prática com uma solução WAN definida por software de código aberto
O que é necessário
- Conhecimento da rede VPC do GCP
- Conhecimento do Cloud Router e do roteamento BGP
- O codelab exige seis VPCs. Verifique sua cota:redes e solicite mais redes, se necessário. Veja a captura de tela abaixo:

2. Objetivos
- Configurar o ambiente do GCP
- Implantar instâncias do flexiWAN Edge no GCP
- Estabelecer um hub do NCC e uma NVA de borda flexiWAN como um spoke
- Configurar e gerenciar instâncias do flexiWAN usando o flexiManage
- Configure a troca de rotas BGP entre vpc-app-svcs e a NVA flexiWAN
- Crie um site remoto simulando uma filial remota de um cliente ou um data center
- Estabelecer um túnel IPsec entre o local remoto e a NVA
- Verificar se os eletrodomésticos foram implantados
- Validar a transferência de dados do site para a nuvem
- Validar a transferência de dados do site para o site
- Liberar memória dos recursos usados
Este tutorial exige a criação de uma conta flexiManage sem custo financeiro para autenticar, integrar e gerenciar instâncias do flexiEdge.
Antes de começar
Como usar o console do Google Cloud e o Cloud Shell
Para interagir com o GCP, vamos usar o console do Google Cloud e o Cloud Shell ao longo deste laboratório.
Console do Google Cloud
O console do Cloud pode ser acessado em https://console.cloud.google.com.
Configure os seguintes itens no Google Cloud para facilitar a configuração do Network Connectivity Center:
No Console do Google Cloud, na página de seletor de projetos, selecione ou crie um projeto do Google Cloud.
Inicie o Cloud Shell. Este codelab usa $variáveis para ajudar na implementação da configuração da gcloud no Cloud Shell.
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=[YOUR-PROJECT-NAME]
echo $projectname
Papéis do IAM
O NCC exige papéis do IAM para acessar APIs específicas. Configure seu usuário com os papéis do IAM do NCC conforme necessário.
Nome do papel | Descrição | Permissões |
networkconnectivity.networkAdmin | Permite que os administradores de rede gerenciem hubs e spokes. | networkconnectivity.hubs.networkconnectivity.spokes. |
networkconnectivity.networkSpokeManager | Permite adicionar e gerenciar spokes em um hub. Para ser usado na VPC compartilhada em que o projeto host é proprietário do hub, mas outros administradores em outros projetos podem adicionar spokes para os anexos deles ao hub. | networkconnectivity.spokes.** |
networkconnectivity.networkUsernetworkconnectivity.networkViewer | Permite que os usuários da rede vejam diferentes atributos de hubs e spokes. | networkconnectivity.hubs.getnetworkconnectivity.hubs.listnetworkconnectivity.spokes.getnetworkconnectivity.spokes.listnetworkconnectivity.spokes.aggregatedList |
3. Configurar o ambiente de laboratório de rede
Visão geral
Nesta seção, vamos implantar as redes VPC e as regras de firewall.

Simular as redes locais da filial
Essa rede VPC contém sub-redes para instâncias de VM locais.
Crie as redes e sub-redes do site 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
Crie regras de firewall da site1-vpc para permitir:
- SSH, interno, IAP
- ESP, UDP/500, UDP/4500
- Intervalo 10.0.0.0/8
- Intervalo 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
Crie regras de firewall da site2-vpc para permitir:
- SSH, interno, IAP
- Intervalo 10.0.0.0/8
- Intervalo 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
Crie regras de firewall s1-inside-vpc para permitir:
- SSH, interno, IAP
- Intervalo 10.0.0.0/8
- Intervalo 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
Crie regras de firewall s2-inside-vpc para permitir:
- SSH, interno, IAP
- Intervalo 10.0.0.0/8
- Intervalo 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 fins de teste, crie as instâncias s1-inside-vm e 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
Simular o ambiente de rede do GCP Cloud
Para ativar o tráfego de local para local em várias regiões pela rede hub-vpc e pelos spokes, é necessário ativar o roteamento global na rede hub-vpc. Leia mais sobre a troca de rotas do NCC.
- Crie a rede
hub-vpce as sub-redes:
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
- Crie a rede
workload-vpce as sub-redes:
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
- Crie regras de firewall da VPC de hub para permitir:
- SSH
- ESP, UDP/500, UDP/4500
- intervalo interno 10.0.0.0/8 (que abrange a porta TCP 179 necessária para a sessão do BGP do Cloud Router para o appliance de roteador)
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
- Crie regras de firewall da VPC de carga de trabalho para permitir:
- SSH
- intervalo interno 192.168.0.0/16 (que abrange a porta TCP 179 necessária para a sessão do BGP do Cloud Router para o appliance de roteador)
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
- Ative o Cloud NAT na VPC de carga de trabalho para permitir que a workload1-vm faça o download de pacotes criando um Cloud Router e um gateway 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
- Crie o
workload1-vmin "us-central1-a" inworkload-VPC. Você vai usar esse host para verificar a conectividade do site com a nuvem.
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 locais para SD-WAN

Criar a VM local para SDWAN (dispositivos)
Na seção a seguir, vamos criar os dispositivos roteadores site1-nva e site2-nva que atuam como roteadores locais.
Criar instâncias
Crie o dispositivo site1-router chamado 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
Crie o dispositivo site2-router chamado 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. Instale o flexiWAN em site1-nva
Abra uma conexão SSH com site1-nva. Se houver um tempo limite, tente de novo.
gcloud compute ssh site1-nva --zone=us-central1-a
Instale o flexiWAN em site1-nva
sudo su
sudo curl -sL https://deb.flexiwan.com/setup | sudo bash -
apt install flexiwan-router -y
Prepare a VM para o registro do plano de controle do flexiWAN.
Depois que a instalação do flexiWAN for concluída, execute o comando fwsystem_checker para verificar a configuração do sistema. Esse comando verifica os requisitos do sistema e ajuda a corrigir erros de configuração.
- Selecione a opção
2para uma configuração rápida e silenciosa. - saia depois com 0.
- Não feche a janela do 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 ====
Deixe a sessão aberta para as próximas etapas.
6. Registrar site1-nva com o controlador SD-WAN
Essas etapas são necessárias para concluir o provisionamento da NVA do flexiWAN, que é administrada pelo flexiManage Console. Verifique se a organização flexiWAN está configurada antes de continuar.
Autentique a NVA do flexiWAN recém-implantada com o flexiManage usando um token de segurança ao fazer login na conta do flexiManage. O mesmo token pode ser reutilizado em todos os dispositivos de roteador.
Selecione Inventário → Tokens,crie um token e selecione "Copiar".

Volte para o Cloud Shell (site1-nva) e cole o token no diretório /etc/flexiwan/agent/token.txt fazendo o seguinte:
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

Ativar os roteadores de site no console flexiManage
Faça login no console flexiManage para ativar o site1-nva no controlador.
No painel à esquerda, Selecione Inventário → Dispositivos e clique no dispositivo "Desconhecido".

Insira o nome do host de site1-nva e aprove o dispositivo deslizando o botão para a direita.

Selecione a guia Interfaces.
Encontre a coluna Atribuído, clique em Não e mude a configuração para Sim.

Selecione a guia"Firewall" e clique no sinal + para adicionar uma regra de firewall de entrada.
Selecione a interface WAN para aplicar a regra SSH, conforme descrito abaixo.

Clique em Atualizar dispositivo.
Inicie o site1-nva no controlador flexiWAN. Volte para Inventário → Dispositivos → site1-nva e selecione Iniciar dispositivo.
Status: Sincronizando

Status: Sincronizado

O indicador de aviso pode ser visto em Solução de problemas → Notificações. Depois de visualizar, selecione tudo e marque como lido

7. Instalar o flexiWAN em site2-nva
Abra uma nova guia e crie uma sessão do Cloud Shell. Atualize as $variáveis para ajudar na implementação da configuração da gcloud.
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=[YOUR-PROJECT-NAME]
echo $projectname
Abra uma conexão SSH com site2-nva. Se houver um tempo limite, tente de novo.
gcloud compute ssh site2-nva --zone=us-east4-b
Instalar o flexiWAN em site2-nva
sudo su
sudo curl -sL https://deb.flexiwan.com/setup | sudo bash -
apt install flexiwan-router -y
Prepare a VM para o registro do plano de controle do flexiWAN.
Depois que a instalação do flexiWAN for concluída, execute o comando fwsystem_checker para verificar a configuração do sistema. Esse comando verifica os requisitos do sistema e ajuda a corrigir erros de configuração.
- Selecione a opção
2para uma configuração rápida e silenciosa. - saia depois com 0.
- Não feche a janela do 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. Registrar site2-nva com o controlador SD-WAN
Essas etapas são necessárias para concluir o provisionamento da NVA do flexiWAN, que é administrada pelo flexiManage Console. Verifique se a organização flexiWAN está configurada antes de continuar.
Autentique a NVA do flexiWAN recém-implantada com o flexiManage usando um token de segurança ao fazer login na conta do flexiManage. O mesmo token pode ser reutilizado em todos os dispositivos de roteador.
Selecione Inventário → Tokens, crie um token e selecione copiar.

Volte para o Cloud Shell (site2-nva) e cole o token no diretório /etc/flexiwan/agent/token.txt fazendo o seguinte:
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

Ativar os roteadores de site no console flexiManage
Faça login no console flexiManage para ativar o site2-nva no controlador.
No painel à esquerda, Selecione Inventário → Dispositivos e clique no dispositivo "Desconhecido".

Insira o nome do host do site2-nva e aprove o dispositivo deslizando o botão para a direita.

Selecione a guia Interfaces.
Encontre a coluna Atribuído, clique em Não e mude a configuração para Sim.

Selecione a guia Firewall e clique no sinal + para adicionar uma regra de firewall de entrada. Selecione a interface WAN para aplicar a regra SSH, conforme descrito abaixo.

Clique em Atualizar dispositivo.
Inicie o site2-nva no controlador flexiWAN. Volte para Inventário → Dispositivos → site2-nva e selecione Iniciar dispositivo.
Status: Sincronizando

Status: Sincronizado

O indicador de aviso pode ser visto em Solução de problemas → Notificações. Depois de visualizar, selecione tudo e marque como lido

9. Configurar dispositivos SDWAN do Hub
Na seção a seguir, você vai criar e registrar os roteadores do hub (hub-r1 e hub-r2) com o controlador flexiWAN, como feito anteriormente com as rotas do site.
Abra uma nova guia e crie uma sessão do Cloud Shell. Atualize as $variáveis para ajudar na implementação da configuração da gcloud.
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=[YOUR-PROJECT-NAME]
echo $projectname
Criar instâncias de NVA do hub
Crie o 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
Crie o 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. Instalar o flexiWAN nas instâncias de hub para hub-r1
Abra uma conexão SSH com hub-r1
gcloud compute ssh hub-r1 --zone=us-central1-a
Instale o agente flexiWAN nos dois hub-r1
sudo su
sudo curl -sL https://deb.flexiwan.com/setup | sudo bash -
apt install flexiwan-router -y
Prepare as VMs hub-r1 para o registro do flexiWAN.
Depois que a instalação do flexiWAN for concluída, execute o comando fwsystem_checker para verificar a configuração do sistema. Esse comando verifica os requisitos do sistema e ajuda a corrigir erros de configuração.
root@hub-r1:/home/user# fwsystem_checker
- Selecione a opção
2para uma configuração rápida e silenciosa. - saia depois com 0.
- Não feche a janela do Cloud Shell.
11. Registrar VMs hub-r1 no controlador flexiManage
Autentique a NVA do flexiWAN recém-implantada com o flexiManage usando um token de segurança ao fazer login na conta do flexiManage.
- Selecione Inventário → Tokens e copie o token.
Volte para o Cloud Shell (hub-r1) e cole o token no diretório /etc/flexiwan/agent/token.txt fazendo o seguinte:
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. Instalar o flexiWAN nas instâncias de hub para hub-r2
Abra uma conexão SSH com hub-r2
gcloud compute ssh hub-r2 --zone=us-east4-b
Instale o agente flexiWAN nos dois hub-r2
sudo su
sudo curl -sL https://deb.flexiwan.com/setup | sudo bash -
apt install flexiwan-router -y
Prepare as VMs hub-r2 para o registro do flexiWAN.
Depois que a instalação do flexiWAN for concluída, execute o comando fwsystem_checker para verificar a configuração do sistema. Esse comando verifica os requisitos do sistema e ajuda a corrigir erros de configuração.
root@hub-r2:/home/user# fwsystem_checker
- Selecione a opção
2para uma configuração rápida e silenciosa. - saia depois com 0.
- Não feche a janela do Cloud Shell.
13. Registrar VMs hub-r2 no controlador flexiManage
Autentique a NVA do flexiWAN recém-implantada com o flexiManage usando um token de segurança ao fazer login na conta do flexiManage.
- Selecione Inventário → Tokens e copie o token.
Volte para o Cloud Shell (hub-r2) e cole o token no diretório /etc/flexiwan/agent/token.txt fazendo o seguinte:
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
Ative o hub de roteadores hub-r1 no console flexiManage
Fazer login no console do flexiManage
- Acesse Inventário → Dispositivos.
- Encontre e anote o nome do host para hub-r1 e hub-r2, que são "unknown".

Selecione o dispositivo desconhecido com o nome de host hub-r1.
- Insira o nome do host do hub-r1
- Aprove o dispositivo. Deslize o botão para a direita.
Selecione a guia Interfaces.
- Encontre a coluna "Atribuído"
- Ao lado da linha da interface, clique em Não para mudar a configuração para Sim.
Selecione a guia Firewall.
- Clique em + para adicionar uma regra de firewall de entrada.
- Selecione a interface WAN para herdar a regra.
- Permitir a porta SSH 22 com o protocolo TCP
- Clique em Atualizar dispositivo.
Inicie o dispositivo hub-r1 para SD-WAN no controlador da flexiWAN.
- Volte para Inventário → Dispositivos → hub-r1
Selecione Iniciar dispositivo.
- Aguarde a conclusão da sincronização e observe o status "em execução".
Ative os roteadores do hub hub-r2 no console flexiManage
Selecione o dispositivo desconhecido com o nome de host hub-r2.
- Insira o nome do host do hub-r2.
- Aprove o dispositivo. Deslize o botão para a direita.
Selecione a guia "Interfaces".
- Encontre a coluna "Atribuído".
- Ao lado da linha da interface, clique em Não para mudar a configuração para Sim.
Selecione a guia Firewall.
- Clique em + para adicionar uma regra de firewall de entrada.
- Selecione a interface WAN para herdar a regra.
- Permitir a porta 22 do SSH com o protocolo TCP
- Clique em Adicionar regra.
- Clique em Atualizar dispositivo.
Inicie o dispositivo hub-r2 para SD-WAN no controlador da flexiWAN.
- Volte para Inventário → Dispositivos → hub-r2 e selecione Iniciar dispositivo.
- Aguarde a conclusão da sincronização e observe o status "em execução".
14. Network Connectivity Center no hub do GCP

Ativar os serviços de API
Ative a API Network Connectivity, caso ainda não esteja ativada:
gcloud services enable networkconnectivity.googleapis.com
Criar o hub do 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]
Configure os dois dispositivos roteadores como um spoke do NCC
Encontre o URI e o endereço IP dos hubs hub-r1 e hub-r2 e anote a saída. Você vai precisar dessas informações na próxima etapa.
Anote o endereço IP (192.168.x.x) das instâncias hub-r1 e 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"
Adicione a vNIC networkIP (192.168.x.x) do hub-r1 como um spoke e ative a transferência de dados site a 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
Adicione a vNIC networkIP (192.168.x.x) do hub-r2 como um spoke e ative a transferência de dados site a 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
Configurar o Cloud Router para estabelecer o BGP com o Hub-R1
Na próxima etapa, crie o Cloud Router e anuncie a sub-rede da VPC de carga de trabalho 192.168.235.0/24.
Crie o Cloud Router em us-central1 que vai se comunicar com o BGP com hub-r1
gcloud compute routers create wrk-cr1 \
--region=us-central1 \
--network=workload-vpc \
--asn=65002 \
--set-advertisement-groups=all_subnets \
--advertisement-mode=custom
Ao configurar os dispositivos de roteador como um spoke do NCC, o Cloud Router pode negociar o BGP em interfaces virtuais.
Crie duas interfaces no Cloud Router que vão trocar mensagens BGP com hub-r1.
Os endereços IP são selecionados na sub-rede da carga de trabalho e podem ser alterados, se necessário.
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
Configure a interface do Cloud Router para estabelecer o BGP com a vNIC-1 do hub-r1 e atualize o peer-ip-address com o endereço IP do networkIP do hub-r1 . Observação: o mesmo endereço IP é usado para int0 e 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
Verifique o estado do BGP. Neste ponto do codelab, o BGP está no "estado de conexão" porque o dispositivo de roteador de rede não foi configurado para o BGP.
gcloud compute routers get-status wrk-cr1 --region=us-central1
Configurar o Workload-cr2 para estabelecer o BGP com o Hub-R2
Na próxima etapa, crie o Cloud Router e anuncie a sub-rede da VPC de carga de trabalho 192.168.236.0/24.
Crie o Cloud Router em us-east4 que vai se comunicar com o BGP com hub-r2
gcloud compute routers create wrk-cr2 \
--region=us-east4 \
--network=workload-vpc \
--asn=65002 \
--set-advertisement-groups=all_subnets \
--advertisement-mode=custom
Crie um par de interfaces no Cloud Router que troque mensagens BGP com hub-r2. Os endereços IP são selecionados na sub-rede da carga de trabalho e podem ser alterados, se necessário.
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
Configure a interface do Cloud Router para estabelecer o BGP com a vNIC-1 do hub-r2 e atualize o peer-ip-address com o endereço IP do networkIP do hub-r1 . Observação: o mesmo endereço IP é usado para int0 e 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
Verifique o estado do BGP. Neste ponto do codelab, o BGP está no "estado de conexão" porque o dispositivo de roteador de rede não foi configurado para o BGP.
gcloud compute routers get-status wrk-cr2 --region=us-east4
15. Configurar dispositivos do roteador de hub para BGP
Configurar o hub-r1 para BGP
Faça login no console do flexiManage
Navegue até Inventário → Dispositivos → hub-r1 e selecione o dispositivo com o HostName:hub-r1
- Clique na guia Roteamento.
- Clique em Configuração do BGP.
- Desativar "Redistribuir rotas OSPF"
- Configure hub-r1 para BGP com estes parâmetros e clique em Salvar.

Selecione a guia Interfaces, localize a interface LAN e encontre a coluna Roteamento.
- Clique em nenhum para abrir o menu e selecione BGP como o protocolo de roteamento.

- Na parte de cima da página, clique em "Atualizar dispositivo".
Configurar o hub-r2 para o BGP
Faça login no console do flexiManage
Acesse Inventário → Dispositivos → hub-r2 e selecione o dispositivo com o HostName:hub-r2.
- Clique na guia Roteamento.
- Clique em Configuração do BGP.
- Desativar "Redistribuir rotas OSPF"
- Configure hub-r2 para BGP com estes parâmetros e clique em Salvar.

Selecione a guia Interfaces, localize a interface LAN e encontre a coluna "Roteamento".
- Clique em "Nenhum" para abrir um menu suspenso e selecione BGP como o protocolo de roteamento.

- Na parte de cima da página, clique em Atualizar dispositivo.
Selecione a guia roteamento.
- Confirme se hub-r2 aprendeu uma rota BGP de wrk-cr2

16. Troca de rotas BGP entre dispositivos roteadores
Estabelecer um ASN local para sites remotos
Configure um ASN do BGP local para site1-nva e site2-nva. Depois de configurado, vamos estabelecer um túnel IPsec entre os sites remotos e os roteadores de hub.
Selecione o dispositivo com o HostName:site1-nva
- Clique na guia Roteamento.
- Clique em Configuração do BGP.
- Desativar "Redistribuir rotas OSPF"
- BGP ativado
- ASN local 7269 → Salvar
- Atualizar dispositivo
- Guia "Interfaces" → "LAN" → "Roteamento" → "BGP"
- Atualizar dispositivo
Selecione o dispositivo com o HostName:site2-nva
- Clique na guia Roteamento.
- Clique em Configuração do BGP.
- Desativar "Redistribuir rotas OSPF"
- BGP ativado
- ASN local 7270 → Salvar
- Atualizar dispositivo
- Guia "Interfaces" → "LAN" → "Roteamento" → "BGP"
- Atualizar dispositivo
Configurar túneis de VPN entre dispositivos do site e do hub
Faça login no console do flexiManage
- Acesse Inventário → Dispositivos.
- Marque a caixa ao lado do nome do host de site1-nva e hub-r1 para criar um túnel de VPN entre esse par de NVAs.
- Clique em Ações→ Criar túneis e configure o seguinte:

- Selecione Criar túneis.
- Remova as marcas de seleção de site1-nva e ub-r1.
Repita as etapas para criar um túnel entre site2-nva e hub-r2 selecionando os parâmetros adequados.

Verifique se o par de túneis foi estabelecido entre cada par de NVAs.
- No painel lateral esquerdo, selecione Inventário e clique em Túneis. Localize a coluna de status.

Verifique se "site1-nva" aprendeu rotas para as sub-redes 192.168.235.0/24 e 192.168.236.0/24.
- Selecione Inventário → Dispositivos → site1-nva e clique na guia "Roteamento".
No exemplo de saída abaixo, o flexiWAN criou automaticamente o túnel usando o endereço IP do host 10.100.0.6 
17. Verificar a conectividade do caminho de dados
Verificar a conectividade site a nuvem do ambiente local
Consulte o diagrama e verifique se o caminho de dados entre s1-vm e workload1-vm

Configurar rotas estáticas da VPC para Site-to-Cloud
As Site1-VPC e Site2-VPC locais simulam uma rede de data center local.
Os dispositivos roteadores site-1-nva e site-2-nva usam a conectividade VPN para acessar a rede de hub.
Para o caso de uso de site para nuvem**,** crie rotas estáticas para o destino 192.168.0.0/16 usando o dispositivo de roteador como o próximo salto para alcançar redes na rede de nuvem do GCP.
Em s1-inside-vpc,crie uma rota estática para o destino da nuvem (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
Em s2-inside-vpc,crie uma rota estática para o destino da nuvem (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
No Cloud Shell, procure o endereço IP de workload1-vm. Você vai precisar disso para testar a conectividade de "s1-vm".
gcloud compute instances describe workload1-vm --zone=us-central1-a | grep "networkIP"
Abra uma conexão SSH com s1-vm. Se houver um tempo limite, tente de novo.
gcloud compute ssh s1-vm --zone=us-central1-a
Faça SSH em s1-vm e use o comando curl para estabelecer uma sessão TCP com o endereço IP da VM workload1.
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
Verificar a conectividade de site a site
Consulte o diagrama e verifique se o caminho de dados entre s1-vm e s2-vm

Configurar rotas estáticas da VPC para site a site
Para rotear o tráfego de site a site entre o Site 1 e o Site 2 usando a rede global do GCP, crie rotas estáticas para destinos de sub-rede de sites remotos usando o dispositivo roteador local como o próximo salto.
Em uma etapa posterior, a VPC de carga de trabalho será configurada com o NCC para oferecer suporte à transferência de dados site a site.
Em s1-inside-vpc,crie uma rota estática para alcançar a sub-rede site2 (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
Em s2-inside-vpc,crie uma rota estática para alcançar 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
No Cloud Shell, pesquise o endereço IP de "s2-vm". Você vai precisar disso para testar a conectividade da S1-vm.
gcloud compute instances describe s2-vm --zone=us-east4-b | grep networkIP
Abra uma conexão SSH com s1-vm. Se houver um tempo limite, tente de novo.
gcloud compute ssh s1-vm --zone=us-central1-a
Use SSH para acessar s1-vm e use "ping" para testar a conectividade com o endereço 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. Limpeza
Faça login no Cloud Shell e exclua as instâncias de VM nas redes do hub e das filiais.
#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. Parabéns!
Você concluiu o laboratório do Network Connectivity Center.
Conteúdo abordado
- Configurou a integração da WAN definida por software para o site do NCC na nuvem
- Integração da WAN definida por software configurada para o NCC site a site
Próximas etapas
- Visão geral do Network Connectivity Center
- Documentação do Network Connectivity Center
- Recursos do flexiWAN
- Repositório do GitLab da flexiWAN
©Google LLC ou afiliadas. Todos os direitos reservados. Distribuição proibida.




