¿Cómo configurar correctamente varias direcciones IP que apuntan a una instancia en EC2?

¿Cómo configurar correctamente varias direcciones IP que apuntan a una instancia en EC2?

Actualmente tengo una instancia ec2 a la que me gustaría que apunten 2 IP públicas. Tengo 2 EIP asignados, 2 interfaces de red a las que están conectados los EIP y ambas están conectadas a la única instancia EC2 que ejecuta ubuntu 14.04.2 LTS. El segundo EIP y la interfaz de red se agregaron recientemente y, de hecho, aparece un eth1mensaje emergente, aunque actualmente tengo que ejecutarlo manualmente dhclient, pero ese no es el problema. El problema es que no llegan paquetes. He verificado tres veces mis grupos de seguridad, todos permiten el puerto 80 desde cualquier dirección IP. Sin embargo, agregar una regla de contador de bytes a iptables como iptables -A INPUT -i eth1revela que exactamente 0 paquetes llegan a mi máquina a través de la segunda interfaz.

He encontrado y leídoestepero no ayuda.

¿Qué me estoy perdiendo? ¿Hay algún botón en el que olvidé hacer clic?

Respuesta1

Tengo una instancia ec2 que funciona correctamente con 2 direcciones IP privadas y 2 EIP conectadas a ellas, pero utilicé una subinterfaz para la segunda IP, no otra interfaz de red.

Contenido de /etc/network/interfaces (debian wheezy)

auto lo
iface lo inet loopback
auto eth0 eth0:0
iface eth0 inet dhcp
post-up ifconfig eth0:0 172.31.xx.yy netmask 255.255.240.0 up

No recuerdo el motivo por el que asigné una dirección IP a eth0:0 manualmente, pero esta configuración funciona. También pruebas con

curl --interface PRIVATE_IP ifconfig.me

muestra que el tráfico saliente de eth0 y eth0:0 realmente se inicia desde el EIP correcto.

Respuesta2

¡Más de un año después, finalmente lo descubrí! Gracias aEste artículo. En resumen:

Si aún no lo has hecho, ejecuta dhclient en la nueva interfaz:

# dhclient eth1

Luego, averigua cuál es tu nueva dirección IP privada. Puede buscar en la consola EC2 o ejecutar

ip addr

También necesitas saber la IP de la puerta de enlace. En la mayoría de los casos es your.ip.0.1, pero solo para asegurarte ejecuta:

ip route

Y deberías ver algo como:

default via 12.34.0.1 dev eth0

12.34.0.1es la puerta de entrada en este caso. Para demostración, asumiré que la IP privada es 12.34.56.78. Ahora ejecuta (como root):

ip rule add from 12.34.56.78 table 1000
ip route add default via 12.34.0.1 dev eth1 table 1000
ip route flush cache

Para probar su configuración:

curl --interface 12.34.56.78 ifconfig.me

Luego, para que sus cambios sean permanentes, agregue /etc/network/interfacesesos comandos y sus opuestos:

auto eth1
iface eth1 inet dhcp
  up ip rule add from 12.34.56.78 table 1000
  up ip route add default via 12.34.0.1 dev eth1 table 1000
  down ip rule del from 12.34.56.78 table 1000
  down ip route del default via 12.34.0.1 dev eth1 table 1000

NOTA: Asegúrese de tener una instantánea de su instancia antes de cambiar la configuración de red persistente, en caso de que algo se rompa y no pueda acceder a su instancia.

información relacionada