Сетевые пакеты передаются в обоих направлениях, но связь по-прежнему отсутствует

Сетевые пакеты передаются в обоих направлениях, но связь по-прежнему отсутствует

У меня есть 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вопрос

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