Este documento proporciona instrucciones sobre cómo actualizar la puerta de enlace de socio de VMware de la versión 3.3.2 o 3.4 a la versión 4.0.

El dispositivo SD-WAN Gateway incluye los siguientes cambios en la versión 4.0:

  • Un nuevo diseño de disco del sistema basado en LVM para permitir una mayor flexibilidad en la administración de volúmenes
  • Una nueva versión de kernel
  • Paquetes de SO base nuevos y actualizados
  • Protección mejorada de la seguridad basada en el centro de pruebas de seguridad de Internet
El dispositivo SD-WAN Gateway incluye los siguientes cambios del sistema en la versión 4.0:
  • ifupdown se ha retirado en favor de https://netplan.io/
    • ifup y ifdown ya no están disponibles
    • La configuración de red ahora se encuentra en /etc/netplan, no en /etc/network/
    • etc/network/ifup.d y /etc/network/ifdown.d dejan de funcionar. Deben utilizarse las ubicaciones de network-dispatcher /usr/lib/networkd-dispatcher (dormant.d, no-carrier.d, off.d, routable.d)
  • Cambios sustanciales en cloud-init. Deben revisarse los scripts de implementación de cloud-init y debe comprobarse su compatibilidad
  • Las utilidades net-tools (ifconfig, netstat, etc.) se consideran “obsoletas” y pueden eliminarse en versiones futuras

Configuración de red

ifupdown se ha retirado en favor de https://netplan.io/. La configuración de red ha pasado de /etc/network a /etc/netplan.

Ejemplo de configuración de red (el espacio de blanco es 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: [] 
La configuración de red se vuelve a generar en cada arranque. Para realizar cambios en la configuración de ubicación, desactive la configuración de red de Cloud-init.
echo 'network: {config: disabled}' > /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

cloud-init

cloud-init se actualizó a la versión 20.2. Puede encontrar más información sobre cloud-init aquí: https://cloudinit.readthedocs.io/en/stable/index.html

Ejemplo 1: simple

meta-data:

instance-id: vcg1

local-hostname: vcg1

user-data:
#cloud-config 
hostname: vcg1 
password: Velocloud123
chpasswd: {expire: False} 
ssh_pwauth: True

Ejemplo 2: configuración de red de estilo nuevo (archivo network-config)

meta-data:
instance-id: vcg1 
local-hostname: vcg1 
user-data:
#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”' 

Ejemplo de network-config 1:

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 

Ejemplo de network-config 2:

NOTA: Si hay varias interfaces presentes en la puerta de enlace y necesita que se seleccione una interfaz como interfaz preferida para la puerta de enlace predeterminada, se puede utilizar la siguiente configuración (con el valor de métrica) para seleccionar la interfaz correcta.

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

Las utilidades net-tools, como ifconfig, netstat, route, etc., se consideran “obsoletas”. Las sustituciones recomendadas de net-tools se muestran en la tabla siguiente. Estos comandos solo muestran información sobre el host Linux y no sobre la red de superposición de SD-WAN. NOTA: Para obtener más información, escriba: man ip.

Utilidades net-tools antiguas Nuevas utilidades net-tools correspondientes
arp ip n (ip neighbor)
ifconfig ip a (ip addr), ip link, ip -s (ip -stats)
nameif ip link, ifrename
netstat ss, ip route (para netstat-r), ip -s link (para netstat -i), ip maddr (para netstat-g)
route ip r (ip route)

Salida de comando de ejemplo para utilidades net-tools

La salida de ejemplo es una confirmación de que el comando se ha ejecutado correctamente. A continuación se muestran las salidas de comando de ejemplo para ip n (ip neighbor), ip a (ipaddr) e ip link.

ip n (ip neighbor):
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 (ipaddr):
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:~# 
ip link
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:~# 

Consideraciones de actualización

Nota: Los pasos que aparecen a continuación se basan en el supuesto de que desea mantener la misma dirección IP y el mismo nombre de SD-WAN Gateway para la nueva instancia de SD-WAN Gateway implementada en la versión 4.0. Sin embargo, si desea crear una nueva instancia de SD-WAN Gateway con una dirección IP diferente, puede seguir los procedimientos de la nueva instancia de SD-WAN Gateway.

Debido a cambios sustanciales en el diseño del disco y los archivos del sistema, no es posible realizar una actualización local de versiones anteriores a la versión 4.0. La migración requerirá la implementación de nuevos sistemas SD-WAN Gateway 4.0 y la retirada de los sistemas que ejecuten código anterior.

Para Instancias de SD-WAN Gateway de VPN o Instancias de SD-WAN Gateway de NAT con direcciones IP públicas conocidas, siga el siguiente procedimiento que se indica a continuación si se debe conservar la dirección IP pública de SD-WAN Gateway.

Procedimiento: ( Instancias de SD-WAN Gateway de VNP o NAT con direcciones IP públicas conocidas)
  1. Inicie el nuevo sistema SD-WAN Gateway basado en la imagen de la versión 4.0. Consulte la guía de implementación de su plataforma para obtener más información (Procedimientos de instalación de Gateway).
  2. Apague el sistema SD-WAN Gateway anterior. Desconecte la máquina virtual de SD-WAN Gateway anterior (mediante la ejecución del comando “sudo poweroff” en la consola de la CLI o desconectándose de las opciones de hipervisor disponibles).
  3. Migre la dirección IP pública al nuevo sistema: actualice el registro de NAT para que apunte al nuevo sistema SD-WAN Gateway o configure la dirección IP pública en la interfaz de red de la nueva instancia de SD-WAN Gateway. Implemente la nueva puerta de enlace con los ejemplos de cloud-init indicados anteriormente con la misma dirección IP que la instancia de SD-WAN Gateway anterior.
  4. Obtenga la clave de activación del registro de SD-WAN Gateway existente en SD-WAN Orchestrator (como se describe en los pasos que aparecen a continuación).
    1. En SD-WAN Orchestrator, seleccione Puertas de enlace (Gateways) en el panel de navegación de la izquierda.
    2. En la pantalla Puertas de enlace (Gateways), haga clic en una instancia de SD-WAN Gateway para seleccionarla.
    3. En la pantalla de la instancia de SD-WAN Gateway seleccionada, haga clic en la flecha abajo situada junto al nombre de la instancia de SD-WAN Gateway para abrir el cuadro de información.
    4. La clave de activación se encuentra en la parte inferior del cuadro de información, como se muestra en la imagen que aparece a continuación.

  5. Establezca la propiedad del sistema “gateway.activation.validate.deviceId” como False, como se muestra en la siguiente imagen. Si es necesario, consulte la sección Propiedades del sistema en la Guía del operador de VMware SD-WAN, para obtener más información.

  6. Vuelva a activar el nuevo sistema de SD-WAN Gateway: desde la consola de CLI, ejecute: “sudo /opt/vc/bin/activate.py -s <vco_address> <activation_code>”
  7. Restaure la propiedad del sistema “gateway.activation.validate.deviceId” al valor original (si es necesario).

    La instancia de SD-WAN Gateway ahora está registrada y lista para recibir una conexión de las instancias de Edge.

Nota: La reactivación de SD-WAN Gateway puede realizarse a través de cloud-init, tal como se describe en la sección Datos de usuario de este documento.

Salida de ejemplo de activación

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

Activation successful, VCO overridden back to 169.254.8.2 root@SS1-gateway-2:/opt/vc#

Instancias de SD-WAN Gateway sin direcciones IP públicas conocidas

Esta sección solo está destinada a Instancias de SD-WAN Gateway sin una dirección IP pública bien conocida, como las Instancias de SD-WAN Gateway de VPN. Si se aplica este escenario, siga el procedimiento que se indica a continuación.

Procedimiento: ( Instancias de SD-WAN Gateway sin direcciones IP públicas conocidas)
  1. Inicie un nuevo sistema de SD-WAN Gateway. Consulte la guía de implementación de su plataforma, si es necesario, para obtener más información (Procedimientos de instalación de Gateway).
  2. Active un nuevo sistema de SD-WAN Gateway.
  3. Agregue una nueva instancia de SD-WAN Gateway al grupo de SD-WAN Gateway de SD-WAN Orchestrator. Consulte la sección "Administración de Gateway" en la Guía del operador de VMware SD-WAN para obtener detalles adicionales.
    1. La instancia de SD-WAN Gateway ahora está registrada y lista para recibir una conexión de las instancias de Edge.
  4. Elimine las instancias de SD-WAN Gateway anteriores del grupo de SD-WAN Gateway de SD-WAN Orchestrator. Consulte la sección "Administración de Gateway" en la Guía del operador de VMware SD-WAN para obtener más información.
  5. Retire la máquina virtual de SD-WAN Gateway anterior. (Elimine el registro de SD-WAN Gateway de SD-WAN Orchestrator y retire la instancia de la máquina virtual).

Obtener clave de activación de puerta de enlace a través de API

Para realizar la implementación mediante el método de API, utilice lo siguiente: “network/getNetworkGateways”

Respuesta de ejemplo:

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

Configurar la interfaz de entrega en el plano de datos

Configuración de red de puerta de enlace de VMware SD-WAN

En el ejemplo relativo a la siguiente imagen (Entrega de VRF/VLAN a PE), se da por hecho que eth0 es la interfaz orientada a la red pública (Internet) y eth1, la interfaz orientada a la red interna (VRF de cliente a través de PE). La configuración de intercambio de tráfico de BGP se administra en el VCO según el cliente/VRF, en Configurar (Configure) > Cliente (Customer). Cabe decir que la dirección IP de cada VRF se puede configurar por cada cliente. La dirección IP del VRF de administración, en cambio, hereda la dirección IP configurada en la interfaz de puerta de enlace de SD-WAN en Linux.

Se crea un VRF de administración en la puerta de enlace de SD-WAN y se utiliza para enviar una actualización de ARP periódica a la IP de puerta de enlace predeterminada para determinar la dirección MAC del siguiente salto. Se recomienda configurar un VRF dedicado en el enrutador PE para este fin. Este mismo VRF de administración lo puede usar también el enrutador de PE para enviar un sondeo de SLA de IP a la puerta de enlace de SD-WAN con objeto de comprobar el estado de la puerta de enlace de SD-WAN (la puerta de enlace de SD-WAN posee un respondedor ICMP con estado que responderá al ping solo cuando su servicio esté activo). El intercambio de tráfico de BGP no es necesario en el VRF de administración. Si no se configura un VRF de administración, puede utilizar uno de los VRF del cliente como VRF de administración, aunque esto no es recomendable.

Paso 1: Edite /etc/config/gatewayd y especifique la interfaz de VCMP y WAN correcta. La interfaz de VCMP es la interfaz pública que finaliza los túneles de superposición. La interfaz de WAN en este contexto es la interfaz de entrega.
      "vcmp.interfaces":[
                   "eth0"
               ], 
         (..snip..)

               "wan": [
                   "eth1"
               ],

Paso 2: Configure el VRF de administración. La puerta de enlace de SD-WAN usa este VRF para determinar mediante ARP la dirección MAC del siguiente salto (enrutador de PE). Todos los VRF creados por la puerta de enlace de SD-WAN utilizarán la misma dirección MAC de próximo salto. Es necesario configurar el parámetro de VRF de administración en /etc/config/gatewayd.

El VRF de administración es el mismo VRF que utiliza el enrutador de PE para enviar el sondeo de SLA de IP. La puerta de enlace de SD-WAN solo responde al sondeo de ICMP si el servicio está activo y si hay instancias de Edge conectadas a él. En la siguiente tabla se explica cada parámetro que es necesario definir. Este ejemplo tiene un VRF de administración en el ID de VLAN 802.1q de 1000.

mode QinQ (0x8100), QinQ (0x9100), none, 802.1Q, 802.1ad
c_tag Valor de la etiqueta de cliente para la encapsulación QinQ o ID de VLAN 802.1Q para la encapsulación 802.1Q
s_tag Valor de la etiqueta de servicio para la encapsulación de QinQ
interface Interfaz de entrega, normalmente eth1
      "vrf_vlan": {
          "tag_info": [
             {
                 "resp_mode": 0,
                 "proxy_arp": 0,
                 "c_tag": 1000, 
                 "mode": "802.1Q",
                 "interface": "eth1",
                 "s_tag": 0
             }
          ]
      },

Paso 3: Edite /etc/config/gatewayd-tunnel para incluir ambas interfaces en el parámetro wan. Guarde el cambio.

wan="eth0 eth1"

Eliminar subredes bloqueadas

La puerta de enlace de SD-WAN bloquea de forma predeterminada el tráfico a 10.0.0.0/8 y a 172.16.0.0/14. Tendrán que quitarse antes de usar esta puerta de enlace de SD-WAN, porque se espera que la puerta de enlace de SD-WAN envíe tráfico también a subredes privadas. Si no edita este archivo, cuando intente enviar tráfico a alguna subred bloqueada aparecerán los siguientes mensajes en /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.
Paso 1: En la puerta de enlace de SD-WAN, edite el archivo /opt/vc/etc/vc_blocked_subnets.jsonfile. Verá que este archivo contiene inicialmente lo siguiente.
[
            {
                        "network_addr": "10.0.0.0",
                        "subnet_mask": "255.0.0.0"
            },
            {
            "network_addr": "172.16.0.0",
            "subnet_mask": "255.255.0.0"
            }
]
Paso 2: Elimine las dos redes. El archivo debe tener el siguiente aspecto tras editarlo. Guarde el cambio.
[
]

Paso 3: Reinicie el proceso de puerta de enlace de SD-WAN mediante sudo /opt/vc/bin/vc_procmon restart.