Ubiquiti EdgeRouter 在響應 ICMP 時使用預設路由而不是靜態路由
我需要在兩個路由器設備和它們後面的子網之間建立有效的連接。除了一條靜態路由外,設置中的其他所有內容似乎都可以正常工作。以下是有關我的設置的基本資訊:
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 沒有顯示有關隧道的資訊。雖然可能是因為我之前禁用了隧道介面,但不知何故,設備仍然試圖通過隧道路由流量。