openstack: configurar vm con ip estática en eth1

openstack: configurar vm con ip estática en eth1

Estoy intentando crear dos máquinas virtuales confiables con IP estáticas para eth1, pero los pings entre las direcciones estáticas fallan.

  • A través del panel de La Habana, creé una red con una subred 10.16.1/24, puerta de enlace deshabilitada, dhcp habilitado con rango 10.16.1.100,10.16.1.120.
  • Se lanzaron 4 instancias, cada una con dos NICS; eth0 para mi interfaz pública habitual y eth1 para la subred 10.16.1/24.
  • Inicié sesión en dos de las VM y creé eth1.cfg, configurado para dhcp.
    auto eth1
    iface eth1 inet dhcp
    
  • Inicié sesión en las otras dos máquinas virtuales y creé eth1.cfg, configurado con información estática.
    auto eth1
    iface eth1 inet estático
      dirección 10.16.1.2
      máscara de red 255.255.255.0
    
    • ifup eth1 en cada máquina virtual

Desde cada máquina virtual configurada con dhcp, puedo hacer ping a la otra máquina virtual configurada con dhcp, pero no a las máquinas virtuales configuradas estáticamente.

Desde las máquinas virtuales configuradas estáticamente, no puedo hacer ping a ninguna otra máquina virtual.

También intenté crear un enrutador para la red y agregar una interfaz 10.16.1.254. Pero esto no supuso ningún cambio aparente. Tampoco puedo hacer ping al enrutador desde ninguna de las máquinas virtuales.

¿Qué me estoy perdiendo?

Respuesta1

Es difícil responder sin más información. Como estás en la misma red, no espero que las reglas del firewall sean un problema.

¿Estás usando neutrones o nova? ¿Puedes verificar que todos los servicios de neutrones estén funcionando bien?

neutron agent-list

Quizás valga la pena habilitar dhcp, para que al menos puedas verificar si la red está funcionando.

Además, las máquinas virtuales están ubicadas en el mismo hipervisor físico o están distribuidas en dos. Si están distribuidos en dos, ¿está utilizando VLAN y ha configurado su conmutador para admitirlas?

Vale la pena señalar que la configuración estática de IP, no reservadas por Openstack, funcionaba antes de Icehouse, pero los cambios en esa versión pueden causarle problemas.

En el nodo de cálculo que aloja una de las máquinas virtuales si ejecuta

iptables -S | more

Busque el resultado de la dirección MAC de su máquina virtual, por ejemplo, la mía es 'FA:16:3E:D0:1A:5D'

Verá un resultado como este:

-A neutron-openvswi-see719639-9 -s 192.168.0.83/32 -m mac --mac-source FA:16:3E:BB:75:7E -j RETURN
-A neutron-openvswi-see719639-9 -j DROP

Esto significa que solo aceptará paquetes a esa dirección MAC destinada a 192.168.0 .83/32.

Respuesta2

Creo que esto es consistente con mi experimentación anterior al intentar tener una dirección IP configurada estáticamente en una red habilitada para DHCP de neutrones. Según recuerdo, lo que está intentando hacer funciona si DHCP se ha deshabilitado para esa red de neutrones en particular, pero no funcionará si se ha habilitado.

En el caso de este último, se creará un puerto de neutrones para esta interfaz VM con la dirección IP asignada. Si tuviera que configurar estáticamente su VM invitada para que coincida con esta IP y subred, funcionaría. Si intenta configurar estáticamente su invitado para una IP distinta a la IP en la base de datos de neutrones, no lo hará. Al menos, esta es una forma de protección contra suplantación de IP, ya que no le permitiría suplantar la IP de otra máquina virtual en la misma red y, en general, es una buena protección.

Entonces, una opción es usar una red con DHCP = deshabilitado para su red. Otra opción es configurar estáticamente la VM para la misma IP que le ha asignado Neutron.

Otra anécdota: en un caso, conecté una red externa a una red OpenStack a través de una VLAN particular. Esta red solo tenía servidores físicos configurados estáticamente y ningún servidor DHCP. La red del lado de openstack que creé con DHCP = habilitado. Hice esto usando un rango de asignación restringido para asignar IP que no entrarían en conflicto con las IP estáticas existentes en el mismo CIDR. Debido a que neutron solo administra puertos puente para máquinas virtuales, esto significaba que otros dispositivos configurados estáticamente en la red (fuera del control de openstack/neutron) podrían comunicarse con las máquinas virtuales con DHCP en esta red. Sin embargo, esta configuración no le permitiría activar una combinación de máquinas virtuales/invitados estáticos y DHCP en la misma red de neutrones que tiene DHCP = habilitado.

información relacionada