Ip-Routing

Ubiquiti EdgeRouter 在響應 ICMP 時使用預設路由而不是靜態路由

  • October 1, 2019

我需要在兩個路由器設備和它們後面的子網之間建立有效的連接。除了一條靜態路由外,設置中的其他所有內容似乎都可以正常工作。以下是有關我的設置的基本資訊:

Juniper:
Vlan95 10.250.0.1/24
Vlan1  192.168.1.1/21
Vlan1  192.168.4.1/21 (this interface has two default gateways due to ongoing development in the network)
fe-0/0/3 10.129.0.1/22

Ubiquiti:
eth2.620 10.250.0.3/24
eth2.100 192.168.8.1/24

routes - ubiquiti:
S    *> 0.0.0.0/0 [1/0] via xxx.xxx.xxx.xxx, eth0
C    *> 10.0.0.2/32 is directly connected, lo
C    *> 10.0.1.0/24 is directly connected, eth1
C    *> 10.0.2.0/24 is directly connected, eth2.200
S    *> 10.129.0.0/24 [1/0] via 10.250.0.1, eth2.620 (This works)
C    *> 10.250.0.0/24 is directly connected, eth2.620
C    *> 127.0.0.0/8 is directly connected, lo
C    *> 130.234.212.64/28 is directly connected, eth0
C       130.234.212.64/28 is directly connected, eth0
C    *> 192.168.0.0/24 is directly connected, eth1
S    *> 192.168.1.0/24 [1/0] via 10.250.0.1, eth2.620 (This doesn't seem to work)
S    *> 192.168.4.0/24 [1/0] via 10.250.0.1, eth2.620 (This does work)
S    *> 192.168.5.0/24 [1/0] via 10.250.0.1, eth2.620
C    *> 192.168.8.0/24 is directly connected, eth2.100
C    *> 192.168.24.0/22 is directly connected, eth2.14

在此設置中,網路 192.168.4.0/24 和 10.129.0.0/24 工作。我可以從兩個網路 ping 我的 Ubiquiti 路由器介面 10.250.0.3,我可以從該 Ubiquiti IP 地址 ping 兩個網路中的 IP 地址。

192.168.1.0/24 路由​​是不同的。看起來它根本不存在,因為當從例如 192.168.1.99 ping 時,流量正確到達,但 Ubiquiti 路由器嘗試發送的不是通過介面 eth2.620 上的鏈路從 10.250.0.3 發回他們通過 eth0,這是我的 WAN 地址。

我在 ubiquiti 上使用 tcpdump 驗證了這一點

這是從 10.129.0.18 到 10.250.0.3 的成功 ICMP 請求的轉儲:

user@device:~$ sudo tcpdump -i eth2.620 host 10.129.0.18
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth2.620, link-type EN10MB (Ethernet), capture size 262144 bytes
13:37:40.836129 IP 10.129.0.18 > 10.250.0.3: ICMP echo request, id 1, seq 103, length 40
13:37:40.836302 IP 10.250.0.3 > 10.129.0.18: ICMP echo reply, id 1, seq 103, length 40
13:37:41.841624 IP 10.129.0.18 > 10.250.0.3: ICMP echo request, id 1, seq 104, length 40
13:37:41.841819 IP 10.250.0.3 > 10.129.0.18: ICMP echo reply, id 1, seq 104, length 40

這是一個轉儲,我試圖從 192.168.1.99 ping 到 10.250.0.3(取自 eth2.620):

user@device:~$ sudo tcpdump -i eth2.620 host 192.168.1.99
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth2.620, link-type EN10MB (Ethernet), capture size 262144 bytes
13:38:45.563661 IP 192.168.1.99 > 10.250.0.3: ICMP echo request, id 1, seq 1364, length 40
13:38:50.564150 IP 192.168.1.99 > 10.250.0.3: ICMP echo request, id 1, seq 1365, length 40

這是我嘗試從 192.168.1.99 ping 到 10.250.0.3 時從 eth0(WAN 介面)獲取的轉儲:

user@device:~$ sudo tcpdump -i eth0 host 192.168.1.99
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
13:34:42.558520 IP 10.250.0.3 > 192.168.1.99: ICMP echo reply, id 1, seq 1353, length 40
13:34:47.558410 IP 10.250.0.3 > 192.168.1.99: ICMP echo reply, id 1, seq 1354, length 40
13:34:52.559685 IP 10.250.0.3 > 192.168.1.99: ICMP echo reply, id 1, seq 1355, length 40

此設置中是否存在任何易於辨識的問題?據我所見,靜態路由都配置相同。

我現在感覺有點傻。在查看我將要在此處發布的配置時,我注意到前段時間我創建了一條通往我們總部的 IPSec 隧道,因為那時我們似乎需要它來連接這兩個地方。在 IPSec 配置中,遠端網路被定義為 192.168.1.0/24,因此這就是它嘗試將流量發送出 WAN 介面的原因。

遺憾的是命令 show ip route 沒有顯示有關隧道的資訊。雖然可能是因為我之前禁用了隧道介面,但不知何故,設備仍然試圖通過隧道路由流量。

引用自:https://serverfault.com/questions/985873