ネットワークパケットは双方向に流れているが、通信できない

ネットワークパケットは双方向に流れているが、通信できない

私は 2 つの NIC を備えた 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 つのサブネットをルーティングするレイヤー 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

最初のサブネット上のアドレスから、すべてのインターフェースに ping を実行できます。

問題は、192.168.1.0 サブネットから 192.168.12.14 にアクセスしようとしたとき、またはその逆のときに発生します。

トレースルートの結果は次のとおりです。

#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 の両方が失敗する理由がどうしてもわかりません。

Linux ボックスで eth1 をデフォルト ゲートウェイにすると正常に動作するので、これはスイッチの問題ではないと確信しています (ただし、eth0 でも同じ問題が発生します)。

この件についてはもう途方に暮れています。どなたか助けていただければ幸いです。

答え1

今後の参考までに、根本的な問題は@kasperdによって別のSFで解決されました。質問

関連情報