Duas instâncias padrão do Ubuntu não podem acessar cada uma por meio do Amazon VPC

Duas instâncias padrão do Ubuntu não podem acessar cada uma por meio do Amazon VPC

Estou executando duas instâncias do Ubuntu 12.04, e ambas não podem acessar uma à outra.

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 as máquinas têm acesso uma à outra apenas através da internet, mas não através de VPC (LAN, em outras palavras). Desativar o firewall não ajuda. A máquina 1 pode executar ping apenas em 10.0.0.100. A máquina 2 pode executar ping apenas em 10.0.0.30. Não consigo me conectar a nenhuma das máquinas nos protocolos TCP/UDP através da LAN. Não há ACLs e os daemons nas máquinas estão escutando todos os IPs, todas as interfaces. Qual poderia ser o problema?

Editar 1:

Parece que o problema estava nas tabelas de roteamento. Resolvi o problema na Máquina 1 depois de excluir 1 NIC na Máquina 2 e realizar algumas ações aleatórias. Isso resultou na obtenção destas regras pelo DHCP:

~$ 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 
~$ 

Não consigo reproduzir isso na Máquina 2, mas posso adicionar regras e tabelas de roteamento manualmente com:

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

Como eu poderia evitar fazer isso manualmente?

Responder1

Tente adicionar as rotas de forma mais específica. O roteamento preferirá a primeira rota correspondente ordenada por especificidade, métrica e depois ordem de adição.

Por exemplo, na máquina 1, adicione a seguinte rota:

ip route add 10.0.0.40/32 dev eth1 src 10.0.0.30

E na máquina 2:

ip route add 10.0.0.30/32 dev eth1 src 10.0.0.40

você pode querer excluir as rotas mais gerais para eth1 em ambas as máquinas:

ip route del 10.0.0.0/24 dev eth1

Como eles estão em /24s, você deve tentar obtê-los em sub-redes diferentes, por exemplo, se ambos os eth1s estivessem em 10.0.1.0/24, você não teria esse problema.

informação relacionada