¿Cómo debo configurar Xen para permitir múltiples rangos de IP diferentes en los domU?

¿Cómo debo configurar Xen para permitir múltiples rangos de IP diferentes en los domU?

Estoy intentando que Xen se ejecute en una configuración donde los domU tienen una IP completamente diferente a la de dom0 (no en el mismo rango de red).esta respuestaConseguí que todo funcionara dentro del mismo rango /24, pero no con IP completamente ajenas.

/etc/network/interfaces de dom0:

# The primary interface.
# The configuration is done in the bridge.
auto eth0

# The bridge for Xen to use.
auto xenbr0
iface eth0 inet static
        bridge_ports eth0
        address 188.165.X.Y
        netmask 255.255.255.0
        network 188.165.X.0
        broadcast 188.165.X.255
        gateway 188.165.X.254

puente de dom0 ( brctl show):

bridge name     bridge id               STP enabled     interfaces
eth0            8000.00259022aab2       no              peth0
                                                        vif1.0

/etc/network/interfaces de domU:

# The primary network interface
auto eth0
iface eth0 inet static
    address 91.121.A.B
    gateway 188.165.X.254
    netmask 255.255.255.0

También probé diferentes máscaras de red en la configuración de domU. ¿Cómo debo configurar esto para permitir que domU se conecte a la red de manera funcional?

Respuesta1

Asumiré que 91.121.xx se enruta a través de Internet a la puerta de enlace 188.165.X.254

Luego, la puerta de enlace necesita una ruta para que 91.121.xx vaya al host de VM en 188.165.XY.

Esto significa que cualquier tráfico que intente llegar a 91.121.xx terminará en su servidor Xen.

En la pregunta anterior, todas las interfaces estaban en la misma red, por lo que todo se podía conectar a la interfaz principal: esta es una conexión de capa 2.

Sin embargo, en este caso, los invitados están en una red diferente a la del anfitrión. Necesitamos una conexión enrutada de capa 3.

Deben suceder dos cosas en el host

1) Necesita una interfaz en la red 91.121.xx 2) Necesita convertirse en un enrutador

Para (1) tenemos una configuración de red similar a la anterior, sin embargo, la interfaz física se mantiene fuera del puente. Creamos una interfaz puente para que se conecten las máquinas virtuales, pero le damos su propia dirección separada de la interfaz eth0:

auto lo br0 eth0

iface lo inet loopback

iface br0 inet static
        bridge_ports none
        address 91.121.x.1
        netmask 255.255.255.0

iface eth0 inet static
       address 188.165.X.Y
       netmask 255.255.255.0
       network 188.165.X.0
       broadcast 188.165.X.255
       gateway 188.165.X.254

Una vez que esto suceda, el servidor tendrá dos interfaces y podrá actuar como un enrutador. Esto está desactivada por defecto. Cambie /etc/sysctl.confy asegúrese de que la siguiente línea esté descomentada:

 net.ipv4.ip_forward=1

Puede habilitar esto temporalmente en la línea de comando con lo siguiente, pero el cambio anterior es necesario para sobrevivir al reinicio:

 sysctl -w net.ipv4.ip_forward=1

Ahora el servidor enrutará los paquetes que lleguen a eth0 con destino a 91.121.xx fuera de la interfaz br0. Entonces ahora necesitamos conectar los vms a esta interfaz. Esto es exactamente como lo haces normalmente, solo lo pongo aquí para que esté completo:

En el .cfg:

 vif = ['bridge=br0, mac=00:16:3E:12:16:19']

En el archivo de interfaces domU:

auto eth0
iface eth0 inet static
    address 91.121.A.B
    gateway 91.121.x.x (this is the dom0 br0 interface address)
    netmask 255.255.255.0

Puede probar que todo funciona correctamente a través del puente haciendo ping 91.121.x.xdesde domU a ping dom0 y ping 91.121.x.254a ping domU desde dom0. Luego haga ping a la interfaz exterior dom0 desde domu:188.165.X.Y

El primer ping prueba que el puente está funcionando y el segundo prueba que el enrutamiento está funcionando.

información relacionada