Laboratório: Site a site do NCC com dispositivo flexiWAN SD-WAN

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 e spoke para o 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 de uma solução SD-WAN SaaS flexiWAN que simplifica a implantação e o gerenciamento de WAN. A flexWAN é uma solução de SD-WAN e SASE de código aberto.

O que você vai criar

Neste codelab, você vai criar uma topologia de SD-WAN hub e spoke para simular sites de ramificações remotas que vão atravessar a rede de backbone do Google para comunicação site a nuvem e site a site.

  1. Você vai implantar um par de VMs do GCE configuradas para "flexiWAN". Agente SD-WAN na VPC hub que representa os cabeçalhos para o tráfego de entrada e saída para o GCP.
  2. Implantar dois roteadores flexiWAN SD-WAN remotos para representar duas ramificações diferentes de VPC de site
  3. Para testes de caminho de dados, você vai configurar três VMs do GCE para simular clientes locais e servidores hospedados no GCP

84e31c667a487f7a.png

O que você vai aprender

  • Uso do 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 de WAN definida por software de código aberto

O que é necessário

  • Conhecimento da rede VPC do GCP.
  • Conhecimento sobre o Cloud Router e roteamento de BGP.
  • O codelab requer seis VPCs. Verifique suas Quota:Networks e solicitar redes adicionais, se necessário. Captura de tela abaixo:

6bc606cb34bce7e8.png

2. Objetivos

  • Configurar o ambiente do GCP
  • Implante instâncias do flexiWAN Edge no GCP
  • Estabeleça um hub do NCC e um NVA de borda flexiWAN como um spoke
  • Configurar e gerenciar instâncias flexiWAN usando flexiManage
  • Configurar a troca de rotas BGP entre vpc-app-svcs e o NVA flexiWAN
  • Criar um site remoto que simula uma filial remota ou um data center do cliente
  • Estabelecer um túnel IPSEC entre o local remoto e o NVA
  • Verifique se os dispositivos foram implantados
  • Valide a transferência de dados de site para nuvem
  • Validar a transferência de dados site a site
  • Limpar recursos usados

Este tutorial requer a criação de uma conta FlexiManage sem custo financeiro para autenticar, integrar e gerenciar instâncias 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 neste 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 $variables 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 ao hub.

networkconnectivity.spokes.**

networkconnectivity.networkUsernetworkconnectivity.networkViewer

Permite que os usuários da rede visualizem diferentes atributos de hub e spokes.

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

3. Configurar o ambiente do laboratório de rede

Visão geral

Nesta seção, vamos implantar as redes VPC e as regras de firewall.

377d97bf3066f259.png

simule as redes de sites de filiais no local

Essa rede VPC contém sub-redes para instâncias de VM locais.

Crie as redes e as sub-redes do site no 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 site1-vpc para permitir:

  • SSH, interno, IAP
  • ESP, UDP/500 e 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 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

Simule o ambiente de rede do Cloud do GCP

Para permitir o tráfego site a site entre regiões pela rede hub-vpc e spokes, é necessário ativar o roteamento global na rede hub-vpc. Leia mais na troca de rotas do NCC.

  1. Crie a rede e as sub-redes hub-vpc:
gcloud compute networks create hub-vpc \
--subnet-mode custom \
--bgp-routing-mode=global

gcloud compute networks subnets create hub-subnet1 \
--network hub-vpc \
--range 10.1.0.0/24 \
--region us-central1

gcloud compute networks subnets create hub-subnet2 \
--network hub-vpc \
--range 10.2.0.0/24 \
--region us-east4
  1. Crie a rede e as sub-redes workload-vpc:
gcloud compute networks create workload-vpc \
--subnet-mode custom \
--bgp-routing-mode=global

gcloud compute networks subnets create workload-subnet1 \
--network workload-vpc \
--range 192.168.235.0/24 \
--region us-central1

gcloud compute networks subnets create workload-subnet2 \
--network workload-vpc \
--range 192.168.236.0/24 \
--region us-east4
  1. Crie regras de firewall Hub-VPC para permitir:
  • SSH
  • ESP, UDP/500 e UDP/4500
  • intervalo interno 10.0.0.0/8 (que cobre a porta TCP 179 necessária para a sessão do BGP do roteador de nuvem para o dispositivo 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
  1. Crie regras de firewall de carga de trabalho da VPC para permitir:
  • SSH
  • intervalo interno 192.168.0.0/16 (que cobre a porta TCP 179 necessária para a sessão do BGP do Cloud Router para o dispositivo 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
  1. Ative o Cloud NAT na carga de trabalho-VPC para permitir que a payload1-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
  1. Crie o workload1-vm in "us-central1-a" in workload-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. Configure dispositivos no local para SD-WAN

ec754b89e375f3cc.png

Crie a VM no local para SDWAN (Dispositivos)

Na seção a seguir, criaremos dispositivos roteadores site1-nva e site2-nva que atuam como roteadores no local.

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. Instalar a flexiWAN no site1-nva

Abra uma conexão SSH com site1-nva. Se o tempo limite acabar, tente novamente

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

Instalar a flexiWAN no 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 flexiWAN.

Após a conclusão da instalação da flexiWAN, 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 2 para a 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

Estas etapas são necessárias para concluir o provisionamento do NVA flexiWAN, que é administrado pelo console do flexiManage. Verifique se a organização flexiWAN está configurada antes de continuar.

Autentique o NVA flexiWAN recém-implantado com o flexiManage usando um token de segurança fazendo login na conta flexiManage. O mesmo token pode ser reutilizado em todos os dispositivos roteadores.

Selecione Inventário → Tokens,crie um token e selecionar cópia

12c173b589d220ee.png

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

22e1cf5bad3d3086.png

Ativar os Roteadores de site no console flexiManage

Faça login no console do FlexiManage para ativar o site1-nva no controlador

No painel esquerdo, Selecione Inventário → Dispositivos, clique no dispositivo Desconhecido.

f7719c28f78e907a.png

Digite o nome do host do site1-nva e aprove o dispositivo deslizando o controle para a direita.

9a6c6c45e1cad732.png

Selecione a guia Interfaces.

Encontre as mensagens Atribuídas. coluna e clique em Não. e mude a configuração para Sim.

a8772059968af13e.png

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

df03b8a6c817ccd2.png

Clique em Atualizar dispositivo.

96b9feb77b8517cd.png

Inicie o site1-nva pelo controlador flexiWAN. Volte para Inventário → Dispositivos → site1-nva e selecione Iniciar dispositivo.

708215cf91ffc09.png

Status - Sincronizando

918d72eeacc386fa.png

Status: sincronizado

5135096dbff49819.png

O indicador de aviso pode ser visto em Solução de problemas → Notificações. Após a visualização, selecionar todas e marcar como lidas

9e79db3572f91925.png

7. Instalar a flexiWAN no site2-nva

Abra uma nova guia, crie uma sessão do Cloud Shell e atualize $variables 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 o tempo limite acabar, tente novamente

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

Instalar a flexiWAN no 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 flexiWAN.

Após a conclusão da instalação da flexiWAN, 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 2 para a 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 no controlador SD-WAN

Estas etapas são necessárias para concluir o provisionamento do NVA flexiWAN, que é administrado pelo console do flexiManage. Verifique se a organização flexiWAN está configurada antes de continuar.

Autentique o NVA flexiWAN recém-implantado com o flexiManage usando um token de segurança fazendo login na conta flexiManage. O mesmo token pode ser reutilizado em todos os dispositivos roteadores.

Selecione "Inventário → Tokens", crie um token e Selecione Copiar

12c173b589d220ee.png

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

22e1cf5bad3d3086.png

Ativar os Roteadores de site no console flexiManage

Faça login no console do FlexiManage para ativar o site2-nva no controlador

No painel esquerdo, Selecione Inventário → Dispositivos, clique no dispositivo Desconhecido.

c98696cf67043ec2.png

Digite o nome do host do site2-nva e aprove o dispositivo deslizando o controle para a direita.

de418da3f581e0bd.png

Selecione a guia Interfaces.

Encontre as mensagens Atribuídas. coluna e clique em Não. e mude a configuração para Sim.

eee6a98dba7b2a04.png

Selecione 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

df03b8a6c817ccd2.png

Clique em Atualizar dispositivo.

96b9feb77b8517cd.png

Inicie o site2-nva pelo controlador flexiWAN. Volte para Inventário → Dispositivos → site2-nva e selecione Iniciar dispositivo.

c80291bb430dce7d.png

Satus - Sincronizando

da9c08ebfbd1265e.png

Status: sincronizado

5135096dbff49819.png

O indicador de aviso pode ser visto em Solução de problemas → Notificações. Após a visualização, selecionar todas e marcar como lidas

2c21322b87d848b.png

9. Configurar dispositivos Hub SDWAN

Na seção a seguir, você vai criar e registrar os roteadores de hub (hub-r1 e hub-r2) com o controlador flexiWAN, conforme executado anteriormente com as rotas do site.

Abra uma nova guia, crie uma sessão do Cloud Shell e atualize $variables 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 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

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 a flexiWAN nas instâncias de hub para hub-r1

Abrir uma conexão SSH com o hub-r1

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

Instalar o agente flexiWAN no hub-r1

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

Preparar VMs hub-r1 para registro flexiWAN.

Após a conclusão da instalação da flexiWAN, 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 2 para a 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 o NVA flexiWAN recém-implantado com o flexiManage usando um token de segurança fazendo login na conta flexiManage.

  • Selecione Inventário → Tokens e copie o token.

Volte ao Cloud Shell (hub-r1) e cole o token no diretório /etc/flexiwan/agent/token.txt executando 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 a flexiWAN nas instâncias de hub para hub-r2

Abrir uma conexão SSH com o hub-r2

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

Instalar o agente flexiWAN no hub-r2

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

Preparar VMs hub-r2 para registro flexiWAN.

Após a conclusão da instalação da flexiWAN, 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 2 para a 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 o NVA flexiWAN recém-implantado com o flexiManage usando um token de segurança fazendo login na conta flexiManage.

  • Selecione Inventário → Tokens e copie o token.

Volte ao Cloud Shell (hub-r2) e cole o token no diretório /etc/flexiwan/agent/token.txt executando 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 hub hub-r1 no console do flexiManage

Faça login no console do FlexiManage

  • Acesse Inventário → Dispositivos.
  • Encontre e anote que o nome do host de hub-r1 e hub-r2 estão "unknown"

1a88ffa4409ad3c0.png

Selecione o dispositivo desconhecido com o Nome de host hub-r1

  • Insira o nome do host de hub-r1
  • Aprovar o dispositivo. Deslize o controle para a direita.

Selecione a guia Interfaces.

  • Encontre a coluna Atribuídas.
  • 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 da WAN para herdar a regra
  • Permitir a porta SSH 22 com protocolo TCP
  • Clique em Atualizar dispositivo.

Inicie o dispositivo hub-r1 para SD-WAN pelo controlador da flexiWAN

  • Volte para Inventário → Dispositivos → hub-r1

Selecione Start Device.

  • Aguarde a sincronização ser concluída e observe a mensagem "running". Status

Ativar os roteadores de hub hub-r2 no console do FlexiManage

Selecione o dispositivo desconhecido com o Nome de host hub-r2

  • Digite o nome do host de hub-r2
  • Aprove o dispositivo. Deslize o controle para a direita.

Selecione a guia "Interfaces"

  • Encontre a coluna Atribuídas.
  • 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 da WAN para herdar a regra
  • Permitir a porta SSH 22 com protocolo TCP
  • Clique em Adicionar regra.
  • Clique em Atualizar dispositivo.

Inicie o dispositivo hub-r2 para SD-WAN pelo controlador da flexiWAN

  • Volte para Inventário → Dispositivos → hub-r2 e selecione Iniciar dispositivo.
  • Aguarde a sincronização ser concluída e observe a mensagem "running". Status

14. Network Connectivity Center no GCP Hub

802fe0ef1e98c563.png

Ativar serviços da API

Ative a API de conectividade de rede caso ela 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]

Configurar os dois dispositivos roteadores como um spoke NCC

Encontre o URI e o endereço IP para hub-r1 e hub-r2 e anote a saída. Você precisará dessa informação na próxima etapa.

Anote o endereço IP (192.168.x.x) da instância 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 o 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 o 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

Configure o Cloud Router para estabelecer o BGP com o Hub-R1

Na etapa a seguir, crie o Cloud Router e anuncie a sub-rede VPC da carga de trabalho 192.168.235.0/24

Crie o roteador de nuvem em us-central1 que se comunicará com o BGP com o 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 NCC Spoke, isso permite que o Cloud Router negocie o BGP em interfaces virtuais.

Crie duas interfaces no Cloud Router para trocar mensagens do BGP com o hub-r1.

Endereços IP são selecionados na sub-rede da carga de trabalho e podem ser alteradas, 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 hub-r1 networkIP . 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 é "connect state" porque o dispositivo roteador de rede não foi configurado para o BGP.

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

Configure a Workload-cr2 para estabelecer o BGP com o Hub-R2

Na etapa a seguir, crie o Cloud Router e anuncie a sub-rede VPC da carga de trabalho 192.168.236.0/24

Crie o roteador de nuvem na região us-east4 que vai se comunicar com o BGP com o 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 para trocar mensagens do BGP com o hub-r2. Os endereços IP são selecionados na sub-rede da carga de trabalho e podem ser alteradas, 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 endereço IP de peering com o endereço IP do hub-r1 networkIP . 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 é "connect state" porque o dispositivo roteador de rede não foi configurado para o BGP.

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

15. Configurar dispositivos de roteador de hub para BGP

Configure o hub-r1 para o BGP

Faça login no console do FlexiManage

Acesse InventárioDispositivoshub-r1 e selecione o dispositivo com o HostName:hub-r1

  • Clique na guia Roteamento.
  • Clique em "Configuração do BGP".
  • Desative "Redistribute OSPF Routes"
  • Configure hub-r1 para BGP com esses parâmetros e clique em Salvar

8d470056f620717f.png

Selecione Interfaces. localize a interface da LAN, localize a coluna "Roteamento"

  • Clique em nenhum. para abrir o menu e selecionar o BGP como o protocolo de roteamento

82310aab05e9e414.png

  • Na parte de cima da página, clique em "Atualizar dispositivo".

Configure o hub-r2 para BGP

Faça login no console do FlexiManage

Acesse Inventário → Dispositivoshub-r2,selecione o dispositivo com o HostName:hub-r2

  • Clique na guia Roteamento.
  • Clique em "Configuração do BGP".
  • Desative "Redistribute OSPF Routes"
  • Configure hub-r2 para BGP com esses parâmetros e clique em Salvar

8ecb14e2c046012e.png

Selecione Interfaces. localize a interface da LAN, localize a coluna "Roteamento"

  • Clique em "nenhum" para abrir um menu suspenso e selecionar BGP como o protocolo de roteamento

41a381f81f2b500e.png

  • Na parte de cima da página, clique em Atualizar dispositivo.

Selecione Roteamento. .

  • Confirme se o hub-r2 aprendeu uma rota do BGP de wrk-cr2

ddf3e811b193ec10.png

16. Troca de rotas do BGP entre dispositivos roteadores

Estabelecer ASN local para sites remotos

Configure um ASN do BGP local para site1-nva e site2-nva. Após a configuração, estabeleceremos 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".
  • Desative "Redistribute OSPF Routes"
  • 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".
  • Desative "Redistribute OSPF Routes"
  • BGP ativado
  • ASN local 7270 → Salvar
  • Atualizar dispositivo
  • Guia Interfaces → LAN → Roteamento → BGP
  • Atualizar dispositivo

Configurar túneis VPN entre dispositivos de local e de hub

Faça login no console do FlexiManage

  • Acesse Inventário → Dispositivos.
  • Selecione a caixa ao lado do nome do host de site1-nva e hub-r1 para criar um túnel VPN entre os NVAs
  • Clique em Ações → Criar túneis e configure o seguinte

d870b4049a0e7fcf.png

c50d794442c0bdd0.png

  • 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 apropriados.

37c86e17b74e98ca.png

Verificar se o par de túneis está estabelecido entre cada par de NVAs

  • No painel à esquerda, selecione Inventário. e clique em Túneis. e localize a coluna de status

a31e7a73aff53b66.png

Verifique se "site1-nva" rotas aprendidas 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, a flexiWAN criou automaticamente o túnel usando o endereço IP do host 10.100.0.6 cef8dee200ac600a.png

17. Verificar a conectividade do caminho de dados

Verificar a conectividade do site com a nuvem no local

Consulte o diagrama e verifique se o caminho de dados entre s1-vm e workload1-vm

2a403992934279b3.png

Configure rotas estáticas da VPC do site para a nuvem

O Site1-VPC e o Site2-VPC locais simulam uma rede de data center no local.

Os dispositivos roteadores Site-1-nva e Site-2-nva usam conectividade VPN para acessar a rede de hub.

No caso de uso site para nuvem**,** crie rotas estáticas para o destino 192.168.0.0/16 usando o dispositivo roteador como o próximo salto para alcançar as redes na rede da nuvem do GCP.

Em s1-inside-vpc, crie uma rota estática para o destino na 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 na 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 cloudshell, procure o endereço IP de "workload1-vm". Você vai precisar dele para testar a conectividade da "s1-vm".

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

Abra uma conexão SSH com s1-vm. Se o tempo limite acabar, tente novamente.

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

Use SSH para se conectar a "s1-vm" e use o comando "curl" para estabelecer uma sessão TCP com o endereço IP de Workloadsload1-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

Verificar a conectividade site a site

Consulte o diagrama e verifique se o caminho de dados entre s1-vm e s2-vm.

1a7ec558ab1ecd37.png

Configurar rotas estáticas da VPC para site a site

Para rotear o tráfego site a site entre os sites 1 e 2 usando a rede global do GCP, você vai criar rotas estáticas para destinos de sub-rede do site remoto usando o dispositivo roteador local como o próximo salto.

Em uma etapa posterior, a VPC da carga de trabalho será configurada com NCC para dar suporte à transferência de dados site a site.

Em s1-inside-vpc, crie uma rota estática para acessar 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

Em s2-inside-vpc, crie uma rota estática para acessar 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 cloudshell, procure o endereço IP "s2-vm". Você vai precisar disso para testar a conectividade de S1-vm.

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

Abra uma conexão SSH com s1-vm. Se o tempo limite acabar, tente novamente.

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

Use SSH para se conectar a "s1-vm" e "ping" 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

Fazer login no Cloud Shell e excluir instâncias de VM nas redes do site de hub e filial

#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 da NCC com a nuvem
  • Configurou a integração de WAN definida por software para o NCC site a site

Próximas etapas

©Google, LLC ou afiliadas. Todos os direitos reservados. Distribuição proibida.