Este es un hilo viejo, pero aquí va.
Da la casualidad de que ejecuto varias máquinas virtuales OpenBSD en un ESXi 6.0 que se ejecuta en SoYouStart, una empresa filial de OVH. La configuración de la red allí es la misma que en OVH y creo que, aunque extraño, su objetivo principal es eliminar al máximo el tráfico ARP limitando artificialmente los dominios de transmisión, y sin necesidad de usar VLAN, por ejemplo.
En mi caso, he solicitado direcciones IP extra a OVH y son de un rango completamente diferente. Para la discusión aquí, supongamos que estas son mis configuraciones:
- mi dirección IP principal (que utiliza el servidor ESXi):213.0.113.78/32
- el rango adicional de direcciones IP para invitados de VM:192.0.2.64/30
- la puerta de enlace predeterminada para TODO lo anterior:213.0.113.254
- Tenga en cuenta que todos los hosts deben utilizar una máscara de red de host (255.255.255.255) debido a la configuración de la red de OVH
Para configurar el enrutamiento en el host de OpenBSD, esto es lo que debo hacer:
ifconfig vmx0 inet 192.0.2.64 255.255.255.255
route add -inet 213.0.113.254 -llinfo -link -static -iface vmx0
route add -inet default 213.0.113.254
Para tener todo esto hecho durante el inicio, ignoro el /etc/mygate
archivo y poner lo siguiente en el /etc/hostname.vmx0
:
inet 192.0.2.64 255.255.255.255
!sleep 2
!route add -inet 213.0.113.254 -llinfo -link -static -iface vmx0
!route add -inet default 213.0.113.254
Notarás el sleep
comando:por alguna razón, esto es necesario en OpenBSD 5.9, pero no lo era antes. Sin el sleep
, el primero de los a route
los comandos no se ejecutarán y, por lo tanto, su enrutamiento no se configurará correctamente.
Esto funciona usando el siguiente truco:
- configuramos la dirección IP en la interfaz
- con el primer
route
comando traducimos la dirección IP de la puerta de enlace (213.0.113.254) a una dirección de enlace (dirección MAC); esto lo hace el-llinfo
opción; - en el mismo
route
comando, usando el-link
opción, instalamos la dirección del enlace a la tabla de enrutamiento y usando el-iface vmx0
le decimos al núcleo a través de qué interfaz de red se puede acceder a esa dirección de enlace; el-static
switch lo marca como una entrada insertada manualmente en la tabla de enrutamiento - el segundo
route
el comando ahora puede tener éxito, ya que ahora se conoce la ruta a la puerta de enlace predeterminada
Una cosa que encontré en la configuración anterior, para la que aún no tengo solución, es que uno de los cuatro hosts de OpenBSD, configurado exactamente de la misma manera, ejecuta exactamente la misma versión del sistema operativo y la misma compilación del kernel, y incluso ejecutándose en el mismo host de VMware, cada 24 horas aproximadamente, parece estar "perdiendo" esa ruta mágica de su tabla de enrutamiento...