網路資料包雙向流動但仍無法通訊

網路資料包雙向流動但仍無法通訊

我有一個帶有兩個網卡的 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

從第一個子網路上的位址,我可以 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 我實際上可以看到在每種情況下到達各自目的地的追蹤路由資料包。這告訴我傳出路徑和返迴路徑都已正確路由。但我一生都無法弄清楚為什麼 ping 和 Traceroute 都失敗了。

我相當確定這不是交換器的問題,因為如果我將 eth1 設定為 linux 機器上的預設網關,那麼它就可以正常工作(但我對 eth0 也有同樣的問題)。

我對此一籌莫展——任何幫助將不勝感激。

答案1

為了將來參考,@kasperd 在另一個 SF 中解決了根本問題問題

相關內容