Este documento fornece instruções sobre como atualizar o gateway de parceiro do VMware da versão 3.3.2 ou 3.4 para a versão 4.0.

O aplicação do SD-WAN Gateway inclui as seguintes alterações na versão 4.0:

  • Um novo layout do disco do sistema baseado em LVM para permitir uma maior flexibilidade na gestão do volume
  • Uma nova versão de kernel
  • Pacotes de SO base novos e atualizados
  • Proteção de segurança melhorada com base nas referências do centro de segurança da Internet
O aplicação do SD-WAN Gateway inclui as seguintes alterações de sistema na versão 4.0:
  • ifupdown foi depreciado a favor de https://netplan.io/
    • ifup e ifdown já não estão disponíveis
    • A configuração da rede está agora em /etc/netplan vs /etc/network/
    • etc/network/ifup.d e /etc/network/ifdown.d já não funcionam. As localizações do distribuidor de rede devem ser utilizadas /usr/lib/networkd-dispatcher (dormant.d, no-carrier.d, off.d, routable.d)
  • Alterações substanciais no cloud-init. Os scripts de implementação do cloud-init devem ser revistos e testados quanto à compatibilidade
  • As net-tools (ifconfig, netstat, etc) são consideradas “depreciadas” e podem ser removidas nas versões futuras

Configuração da rede

ifupdown foi depreciado a favor de https://netplan.io/. A configuração da rede foi movida de /etc/network to /etc/netplan.

Exemplo de configuração de rede (o espaço em branco é importante!) - /etc/netplan/50-cloud-init.yaml:
network: 
  version: 2 
  ethernets: 
    eth0:
      addresses: 
        - 192.168.151.253/24 
      gateway4: 192.168.151.1
      nameservers: 
        addresses:
          - 8.8.8.8 
          - 8.8.4.4 
        search: [] 
      routes: 
        - to: 192.168.0.0/16
          via: 192.168.151.254
          metric: 100

     eth1:
      addresses: 
        - 192.168.152.251/24 
      gateway4: 192.168.152.1
      nameservers: 
        addresses: 
          - 8.8.8.8 
        search: [] 
A configuração da rede é regenerada em cada arranque. Para efetuar alterações na configuração da localização, desative a configuração da rede Cloud-init.
echo 'network: {config: disabled}' > /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

Cloud-init

O Cloud-init foi atualizado para a versão 20.2. Poderá encontrar mais informações sobre o cloud-init aqui: https://cloudinit.readthedocs.io/en/stable/index.html

Exemplo 1: simples

metadados:

instance-id: vcg1

local-hostname: vcg1

dados do utilizador:
#cloud-config 
hostname: vcg1 
password: Velocloud123
chpasswd: {expire: False} 
ssh_pwauth: True

Exemplo 2: configuração de rede de novo estilo (ficheiro configuração da rede)

metadados:
instance-id: vcg1 
local-hostname: vcg1 
dados do utilizador:
#cloud-config
hostname: vcg1
password: Velocloud123
chpasswd: {expire: False}
ssh_pwauth: True
ssh_authorized_keys:
  - ssh-rsa  …  rsa-key

velocloud: 
  vcg: 
    vco: demo.velocloud.net 
    activation_code: F54F-GG4S-XGFI 
    vco_ignore_cert_errors: false 

runcmd:
  - 'echo “Welcome to VeloCloud”' 

Exemplo 1 de configuração da rede:

version: 2
ethernets:
  eth0:
    addresses: 
      - 192.168.152.55/24
    gateway4: 192.168.152.1
    nameservers: 
      addresses:
        - 192.168.152.1 
  eth1:
    addresses:
      - 192.168.151.55/24
    gateway4: 192.168.151.1
    nameservers: 
      addresses:
        - 192.168.151.1 

Exemplo 2 de configuração da rede:

NOTA: se várias interfaces estiverem presentes no gateway e for necessário que uma interface esteja selecionada como interface preferida para o gateway predefinido, a configuração abaixo (com o valor da métrica) poderá ser utilizada para selecionar a interface correta.

version: 2
ethernets:
eth0:
  addresses: [192.168.82.1/24]
eth1:
  addresses: [70.150.1.1/24]
  routes:
  - {metric: 1, to: 0.0.0.0/0, via: 70.150.1.254}
eth2:
  addresses: [70.155.1.1/24]
  routes:
  - {metric: 2, to: 0.0.0.0/0, via: 70.155.1.254}

Net-tools

Os utilitários de net-tools como ifconfig, netstat, caminho, etc. são considerados “depreciados” As substituições sugeridas pelas net-tools são apresentadas na tabela abaixo. Estes comandos apresentam apenas informações para o anfitrião Linux e não para a rede de sobreposição SD-WAN. NOTA: para obter mais informações, digite: man ip.

Utilitários de net-tools antigos Novos utilitários de net-tools correspondentes
arp ip n (ip vizinho)
ifconfig ip a (endereço ip), ligação ip, ip-s (estatísticas ip)
nameif ligação ip, ifrename
netstat ss, caminho ip (para netstat-r), ligação ip-s (para netstat -i), ip maddr (para netstat-g)
caminho ip r (caminho ip)

Saída de comando de amostra para utilitários de net-tools

A saída da amostra é a confirmação de que o comando foi realizado com sucesso. As saídas de comando de amostra para ip n (ip vizinho), ip a (endereço ip) e ligação ip são mostradas abaixo.

ip n (ip vizinho):
root@SS-gateway-1:~# ip n 
192.168.0.100 dev eth2 lladdr 00:50:56:84:85:d4 REACHABLE 
192.168.0.250 dev eth2 lladdr 00:50:56:84:97:66 REACHABLE 
13.1.1.2 dev eth0 lladdr 00:50:56:84:e7:fa REACHABLE 
root@SS-gateway-1:~# 
ip a (endereço ip):
root@SS-gateway-1:~# ip a 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 
    inet 127.0.0.1/8 scope host lo 
       valid_lft forever preferred_lft forever 
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever 
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 4096 
    link/ether 00:50:56:84:a0:09 brd ff:ff:ff:ff:ff:ff 
    inet 13.1.1.1/24 brd 13.1.1.255 scope global eth0 
       valid_lft forever preferred_lft forever 
    inet6 fe80::250:56ff:fe84:a009/64 scope link 
       valid_lft forever preferred_lft forever 
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 
    link/ether 00:50:56:84:a6:ab brd ff:ff:ff:ff:ff:ff 
    inet 101.101.101.1/24 brd 101.101.101.255 scope global eth1 
       valid_lft forever preferred_lft forever 
    inet6 fe80::250:56ff:fe84:a6ab/64 scope link 
       valid_lft forever preferred_lft forever 
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 
    link/ether 00:50:56:84:bc:75 brd ff:ff:ff:ff:ff:ff 
    inet 192.168.0.201/24 brd 192.168.0.255 scope global eth2 
       valid_lft forever preferred_lft forever 
    inet6 fe80::250:56ff:fe84:bc75/64 scope link 
       valid_lft forever preferred_lft forever 
6: gwd1: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 4096 
    link/none 
    inet 169.254.129.1/32 scope global gwd1 
       valid_lft forever preferred_lft forever 
    inet6 fe80::27d5:9e46:e7f7:7198/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever 
root@SS-gateway-1:~# 
ligação ip
root@SS-gateway-1:~# ip link 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 4096 
    link/ether 00:50:56:84:a0:09 brd ff:ff:ff:ff:ff:ff 
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000 
    link/ether 00:50:56:84:a6:ab brd ff:ff:ff:ff:ff:ff 
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000 
    link/ether 00:50:56:84:bc:75 brd ff:ff:ff:ff:ff:ff 
6: gwd1: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN mode DEFAULT group default qlen 4096 
    link/none 
root@SS-gateway-1:~# 

Considerações de atualização

Nota: Os passos abaixo baseiam-se no pressuposto de que pretende manter o mesmo endereço IP e nome do SD-WAN Gateway para o novo SD-WAN Gateway implementado na versão 4.0. No entanto, se pretender criar um novo SD-WAN Gateway com um endereço IP diferente, pode seguir os novos procedimentos do SD-WAN Gateway.

Devido a alterações substanciais no layout do disco e nos ficheiros do sistema, não é possível uma atualização no local, desde as versões mais antigas até à versão 4.0. A migração exigirá a implementação de novos sistemas de SD-WAN Gateway 4.0 e sistemas de desmantelamento que executam códigos mais antigos.

No caso de SD-WAN Gateways VPN ou SD-WAN Gateways NAT com endereços IP públicos conhecidos, siga o procedimento abaixo se o IP público do SD-WAN Gateway tiver de ser preservado.

Procedimento: ( SD-WAN Gateways VNP ou NAT com endereços IP públicos conhecidos)
  1. Inicie o novo sistema SD-WAN Gateway com base na imagem da versão 4.0. Consulte o guia de implementação da sua plataforma para obter mais informações (Procedimentos de instalação do gateway).
  2. Desligue o antigo sistema SD-WAN Gateway. Inative o SD-WAN Gateway VM antigo (quer executando o comando “sudo poweroff” na consola CLI ou desligando-se das opções disponíveis do Hipervisor).
  3. Migre o IP público para o novo sistema: atualize o registo NAT para apontar para o novo sistema SD-WAN Gateway ou configure o IP público na nova interface de rede do SD-WAN Gateway. Implemente o novo gateway com os exemplos Cloud-int fornecidos acima utilizando o mesmo endereço IP que o SD-WAN Gateway anterior.
  4. Obtenha a chave de ativação no registo do SD-WAN Gateway existente no SD-WAN Orchestrator (conforme descrito nos passos abaixo).
    1. No SD-WAN Orchestrator, selecione Gateways no painel de navegação esquerdo.
    2. No ecrã Gateways, clique num SD-WAN Gateway para o selecionar.
    3. No ecrã do SD-WAN Gateway escolhido, clique na seta para baixo ao lado do nome do SD-WAN Gateway para abrir a caixa de informações.
    4. A chave de ativação está localizada na parte inferior da caixa de informações, conforme apresentado na imagem abaixo.

  5. Defina a seguinte propriedade do sistema “gateway.activation.validate.deviceId” como Falso (False), conforme apresentado na imagem abaixo. Ser necessário, consulte a secção Propriedades do sistema no guia do operador do VMware SD-WAN para obter mais informações.

  6. Reative o novo sistema SD-WAN Gateway: na consola da CLI, execute: “sudo /opt/vc/bin/activate.py -s <vco_address> <activation_code>”
  7. Restaure a seguinte propriedade do sistema “gateway.activation.validate.deviceId” para o valor original (se necessário).

    O SD-WAN Gateway está agora registado e pronto para receber uma ligação dos Edges.

Nota: A reativação do SD-WAN Gateway pode ser realizada através do Cloud-int, conforme descrito na secção Dados do utilizador deste documento.

Saída de exemplo de ativação

root@gateway/opt/vc# /opt/vc/bin/activate.py FLM6-CSV6-REJS-XFR5 -i -s 169.254.8.2

Ativação realizada com sucesso, VCO anulado para 169.254.8.2 root@SS1-gateway-2:/opt/vc#

SD-WAN Gateways sem IPs públicos conhecidos

Esta secção é apenas para SD-WAN Gateways sem um IP público conhecido, como, por exemplo, SD-WAN Gateways VPN. Se este cenário se aplicar, siga o procedimento abaixo.

Procedimento: ( SD-WAN Gateways sem IPs públicos conhecidos)
  1. Inicie um novo sistema SD-WAN Gateway. Se necessário, consulte o guia de implementação da sua plataforma (Procedimentos de instalação do gateway).
  2. Ative um novo sistema SD-WAN Gateway.
  3. Adicione um novo SD-WAN Gateway ao conjunto de SD-WAN Orchestrator SD-WAN Gateway. Consulte a secção “Gestão de gateway” no guia do operador do VMware SD-WAN para obter mais detalhes.
    1. O SD-WAN Gateway está agora registado e pronto para receber uma ligação dos Edges.
  4. Retire o SD-WAN Gateway antigo do conjunto de SD-WAN Orchestrator SD-WAN Gateway. Consulte a secção “Gestão de gateway” no guia do operador do VMware SD-WAN para obter mais informações.
  5. Desative a antiga VM do SD-WAN Gateway. (Retire o registo do SD-WAN Gateway do SD-WAN Orchestrator e desative a instância de VM).

Obtenção da chave de ativação do gateway via API

Para implementar utilizando o método API, utilize o seguinte: “network/getNetworkGateways”

Resposta de amostra:

{"jsonrpc":"2.0","result":[{"id":1, "activationKey":"69PX-YHY2-N5PZ-G3UW … 

Configurar a interface de handoff no dataplane

Configuração da rede do VMware SD-WAN Gateway

No exemplo com a figura abaixo (handoff de VRF/VLAN para PE), presumimos que eth0 é a interface virada para a rede pública (Internet) e eth1 é a interface virada para a rede interna (cliente VRF através do PE). A configuração de peering BGP é gerida no VCO por cliente/VRF em “Configurar > Cliente” (Configure > Customer). Note que o endereço IP de cada VRF é configurável por cliente. O endereço IP do VRF de gestão herda o endereço IP configurado na interface do SD-WAN Gateway no Linux.

É criado um VRF de gestão no SD-WAN Gateway e este é utilizado para enviar uma atualização periódica do ARP para o IP do Gateway predefinido para determinar o MAC de próximo hop. Recomenda-se que seja criado um VRF dedicado no router PE para este fim. O mesmo VRF de gestão também pode ser utilizado pelo router PE para enviar uma pesquisa SLA IP para o SD-WAN Gateway para verificar o estado do SD-WAN Gateway (o SD-WAN Gateway tem um respondedor CMP com estado que responderá ao ping apenas quando o serviço estiver em funcionamento). Os pares BGP não são necessários no VRF de gestão. Se não estiver configurado um VRF de gestão, pode utilizar um dos VRFs do cliente como VRF gestão, embora isto não seja recomendado.

Passo 1: edite /etc/config/gatewayd e especifique as interfaces VCMP e WAN corretas. A interface VCMP é a interface pública que encerra os túneis de sobreposição. A interface WAN neste contexto é a interface de handoff.
      "vcmp.interfaces":[
                   "eth0"
               ], 
         (..snip..)

               "wan": [
                   "eth1"
               ],

Passo 2: configure o VRF de gestão. Este VRF é utilizado pelo SD-WAN Gateway para o ARP para o MAC de próximo hop (router PE). O mesmo MAC de próximo hop será utilizado por todos os VRFs criados pelo SD-WAN Gateway. É necessário configurar o parâmetro do VRF de gestão em /etc/config/gatewayd.

O VRF de gestão é o mesmo VRF utilizado pelo router PE para enviar a pesquisa SLA IP. O SD-WAN Gateway só responderá à pesquisa ICMP se o serviço estiver ativo e se existirem edges ligados ao mesmo. A tabela abaixo explica cada parâmetro que tem de ser definido. Este exemplo tem o VRF de gestão no ID de VLAN 802.1q de 1000.

modo QinQ (0x8100), QinQ (0x9100), nenhum, 802.1Q, 802.1ad
c_tag Valor de c-tag para o encapsulamento QinQ ou encapsulamento for802.1Q ID de VLAN 802.1Q
s_tag Valor de s-tag para o encapsulamento QinQ
interface Interface de handoff, tipicamente eth1
      "vrf_vlan": {
          "tag_info": [
             {
                 "resp_mode": 0,
                 "proxy_arp": 0,
                 "c_tag": 1000, 
                 "mode": "802.1Q",
                 "interface": "eth1",
                 "s_tag": 0
             }
          ]
      },

Passo 3: edite /etc/config/gatewayd-tunnel para incluir ambas as interfaces no parâmetro wan. Guarde a alteração.

wan="eth0 eth1"

Remover sub-redes bloqueadas

Por predefinição, o SD-WAN Gateway bloqueia o tráfego para 10.0.0.0/8 e 172.16.0.0/14. Teremos de as remover antes de utilizar este SD-WAN Gateway porque esperamos que o SD-WAN Gateway também envie tráfego para sub-redes privadas. Se não editar este ficheiro, quando tentar enviar tráfego para sub-redes bloqueadas, encontrará as seguintes mensagens em /var/log/gwd.log

2015-12-18T12:49:55.639  ERR     [NET] proto_ip_recv_handler:494 Dropping packet destined for
10.10.150.254, which is a blocked subnet.
2015-12-18T12:52:27.764  ERR     [NET] proto_ip_recv_handler:494 Dropping packet destined for 
10.10.150.254, which is a blocked subnet. [message repeated 48 times]
2015-12-18T12:52:27.764  ERR     [NET] proto_ip_recv_handler:494 Dropping packet destined for 
10.10.150.10, which is a blocked subnet.
Passo 1: no SD-WAN Gateway, edite /opt/vc/etc/vc_blocked_subnets.jsonfile. Verá que este ficheiro tem o seguinte.
[
            {
                        "network_addr": "10.0.0.0",
                        "subnet_mask": "255.0.0.0"
            },
            {
            "network_addr": "172.16.0.0",
            "subnet_mask": "255.255.0.0"
            }
]
Passo 2: remova as duas redes. Após a edição, o ficheiro deverá ser semelhante ao que se encontra abaixo. Guarde a alteração.
[
]

Passo 3: reinicie o processo do SD-WAN Gateway através do reinício de sudo /opt/vc/bin/vc_procmon.