GNU/Linux >> Tutoriales Linux >  >> Linux

OpenBSD:puerta de enlace fuera de la subred (funciona en Linux)

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


Linux
  1. Linux:¿por qué el USB no funciona en Linux cuando funciona en Uefi/bios?

  2. Cómo encontrar la IP de la puerta de enlace predeterminada en Linux

  3. Enrutamiento IP:banderas de ruta de Linux (U:arriba, G:puerta de enlace, H:host)

  4. Obtener el nombre de usuario actual en Julia (Linux)

  5. ¿Qué sistema de archivos de Linux funciona mejor con SSD?

Devuelva el hardware antiguo a la vida con OpenBSD

Comando Agregar ruta de Linux con ejemplos

ipcalc:calcular la dirección de subred IP en Linux

Cómo funciona el programa ping en Linux

Cómo interpretar los mensajes fuente marcianos de Linux

Ejemplos de comandos de ruta en Linux