Два экземпляра Ubuntu по умолчанию не могут получить доступ друг к другу через Amazon VPC

Два экземпляра Ubuntu по умолчанию не могут получить доступ друг к другу через Amazon VPC

Я использую два экземпляра Ubuntu 12.04, оба из которых не могут получить доступ друг к другу.

Машина 1:

eth0 - 10.0.0.20
eth1 - 10.0.0.30

netstat -номер:

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

Машина 2:

eth0 - 10.0.0.100
eth1 - 10.0.0.40

netstat -номер:

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

Обе машины имеют доступ друг к другу только через интернет, но не через VPC (LAN, другими словами). Отключение брандмауэра не помогает. Машина 1 может пинговать только 10.0.0.100. Машина 2 может пинговать только 10.0.0.30. Я не могу подключиться ни к одной из машин по протоколам TCP/UDP через LAN. Списки контроля доступа отсутствуют, а демоны на машинах прослушивают все IP-адреса, все интерфейсы. В чем может быть проблема?

Редактировать 1:

Похоже, проблема была в таблицах маршрутизации. Я решил проблему на Машине 1, удалив 1 NIC на Машине 2 и выполнив некоторые случайные действия. Это привело к тому, что 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 
~$ 

Я не могу воспроизвести это на Машине 2, но я могу добавить правила и таблицы маршрутизации вручную с помощью:

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

Как мне избежать необходимости делать это вручную?

решение1

Попробуйте добавить маршруты более конкретно. Маршрутизация будет отдавать предпочтение первому совпадающему маршруту, упорядоченному по специфике, метрике, а затем порядку добавления.

Например, на машине 1 добавьте следующий маршрут:

ip route add 10.0.0.40/32 dev eth1 src 10.0.0.30

И на машине 2:

ip route add 10.0.0.30/32 dev eth1 src 10.0.0.40

вы можете захотеть удалить более общие маршруты для eth1 на обеих машинах:

ip route del 10.0.0.0/24 dev eth1

Поскольку они находятся в подсетях /24, вам следует попытаться разместить их в разных подсетях. Например, если бы оба eth1 находились в подсети 10.0.1.0/24, у вас бы вообще не возникло этой проблемы.

Связанный контент