Я использую два экземпляра 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, у вас бы вообще не возникло этой проблемы.