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
- 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.
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: []
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
#cloud-config hostname: vcg1 password: Velocloud123 chpasswd: {expire: False} ssh_pwauth: True
Ejemplo 2: configuración de red de estilo nuevo (archivo network-config)
instance-id: vcg1 local-hostname: vcg1
#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.
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:~#
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:~#
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
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.
- 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).
- 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). - 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.
- 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).
- En SD-WAN Orchestrator, seleccione Puertas de enlace (Gateways) en el panel de navegación de la izquierda.
- En la pantalla Puertas de enlace (Gateways), haga clic en una instancia de SD-WAN Gateway para seleccionarla.
- 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.
- 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.
- 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.
- 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>”
- 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.
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.
- 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).
- Active un nuevo sistema de SD-WAN Gateway.
- 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.
- La instancia de SD-WAN Gateway ahora está registrada y lista para recibir una conexión de las instancias de Edge.
- 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.
- 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.
"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.
[ { "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 3: Reinicie el proceso de puerta de enlace de SD-WAN mediante sudo /opt/vc/bin/vc_procmon restart.