Dos instancias predeterminadas de Ubuntu no pueden acceder a través de Amazon VPC

Dos instancias predeterminadas de Ubuntu no pueden acceder a través de Amazon VPC

Estoy ejecutando dos instancias de Ubuntu 12.04, las cuales no pueden acceder entre sí.

Máquina 1:

eth0 - 10.0.0.20
eth1 - 10.0.0.30

netstat -nr:

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         10.0.0.1        0.0.0.0         UG        0 0          0 eth0
10.0.0.0        0.0.0.0         255.255.255.0   U         0 0          0 eth1
10.0.0.0        0.0.0.0         255.255.255.0   U         0 0          0 eth0

Máquina 2:

eth0 - 10.0.0.100
eth1 - 10.0.0.40

netstat -nr:

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         10.0.0.1        0.0.0.0         UG        0 0          0 eth0
10.0.0.0        0.0.0.0         255.255.255.0   U         0 0          0 eth0
10.0.0.0        0.0.0.0         255.255.255.0   U         0 0          0 eth1

Ambas máquinas tienen acceso entre sí sólo a través de Internet, pero no a través de VPC (LAN, en otras palabras). Deshabilitar el firewall no ayuda. La máquina 1 solo puede hacer ping a 10.0.0.100. La máquina 2 solo puede hacer ping a 10.0.0.30. No puedo conectarme a ninguna de las máquinas con protocolos TCP/UDP a través de LAN. No hay ACL y los demonios de las máquinas escuchan en todas las IP y en todas las interfaces. ¿Cual podría ser el problema?

Edición 1:

Parece que el problema estaba en las tablas de enrutamiento. Resolví el problema en la Máquina 1 después de eliminar 1 NIC en la Máquina 2 y realizar algunas acciones aleatorias. Esto resultó en que DHCP obtuviera estas reglas:

~$ ip rule
0:      from all lookup local 
32765:  from 10.0.0.30 lookup 2 
32766:  from all lookup main 
32767:  from all lookup default 
~$ 

No puedo reproducir esto en la Máquina 2, pero puedo agregar las reglas y tablas de enrutamiento manualmente con:

ip route add default via 10.0.0.1 dev eth0
ip route add default via 10.0.0.1 dev eth1 table 2
ip rule add from 10.0.0.167 lookup 2 prio 1000

¿Cómo podría evitar hacerlo manualmente?

Respuesta1

Intente agregar las rutas más específicamente. El enrutamiento preferirá la primera ruta coincidente ordenada por especificidad, métrica y luego por orden de adición.

Por ejemplo, en la máquina 1, agregue la siguiente ruta:

ip route add 10.0.0.40/32 dev eth1 src 10.0.0.30

Y en la máquina 2:

ip route add 10.0.0.30/32 dev eth1 src 10.0.0.40

es posible que desees eliminar las rutas más generales para eth1 en ambas máquinas:

ip route del 10.0.0.0/24 dev eth1

Dado que están en /24, debe intentar obtenerlos en diferentes subredes; por ejemplo, si ambos eth1 estuvieran en 10.0.1.0/24, no tendría este problema en absoluto.

información relacionada