У меня есть Linux-компьютер с двумя сетевыми картами:
eth0 192.168.11.14
eth1 192.168.12.14
Моя таблица маршрутизации выглядит следующим образом:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.11.1 0.0.0.0 UG 100 0 0 eth0
192.168.11.0 * 255.255.255.0 U 0 0 0 eth0
192.168.12.0 * 255.255.255.0 U 0 0 0 eth1
Маршрут по умолчанию (через eth0) работает нормально, но проблемы с интерфейсом eth1. Я настроил шлюз по умолчанию для eth1 следующим образом:
#ip rule list
0: from all lookup local
32765: from 192.168.12.14 iif eth1 lookup tbl_eth1
32766: from all lookup main
32767: from all lookup default
#ip route show table tbl_eth1
default via 192.168.12.1 dev eth1
Linux-бокс подключен к коммутатору 3-го уровня, который маршрутизирует три подсети:
192.168.1.0 interface ip 192.168.1.1
192.168.11.0 interface ip 192.168.11.1
192.168.12.0 interface ip 192.168.12.1
С адреса в первой подсети я могу пропинговать все интерфейсы.
Проблемы возникают, когда я пытаюсь подключиться к 192.168.12.14 из подсети 192.168.1.0 или наоборот.
Вот результаты трассировки:
#traceroute 192.168.12.14
traceroute to 192.168.12.14 (192.168.12.14), 30 hops max, 60 byte packets
1 192.168.1.1 (192.168.1.1) 0.532 ms 0.911 ms 1.074 ms
2 * * *
3 * * *
4 * * *
etc..
# traceroute -i eth1 -s 192.168.12.14 192.168.1.51
traceroute to 192.168.1.51 (192.168.1.51), 30 hops max, 60 byte packets
1 192.168.12.1 (192.168.12.1) 1.196 ms 1.559 ms 1.739 ms
2 * * *
3 * * *
4 * * *
etc..
А вот что действительно странно: используя tshark, я могу видеть, как пакеты traceroute в каждом случае приходят в соответствующие пункты назначения. Это говорит мне, что и исходящий, и обратный пути маршрутизируются правильно. Но я не могу понять, почему ping и traceroute терпят неудачу.
Я вполне уверен, что проблема не в коммутаторе, потому что если я сделаю eth1 шлюзом по умолчанию на Linux-компьютере, то все будет работать нормально (но тогда у меня возникнет та же проблема с eth0).
Я в полном замешательстве по этому вопросу. Любая помощь будет принята с благодарностью.
решение1
Для справки на будущее, основная проблема была решена @kasperd в другом SFвопрос