Linux ping 路由正确,然后被丢弃

Linux ping 路由正确,然后被丢弃

我有两个通过 Wireguard 连接的路由器。通过 wg 访问互联网很方便,但我想访问连接到 routerS 的 PI。

从路由器,我可以顺利地 ping 本地连接的 PI(输出信息行)。从 RouterT 执行相同的 ping 命令(转发信息下面的行)被路由器接收,似乎准备转发到正确的OUT=br-lan接口,但 routerT 回复 ICMP TYPE=3 CODE=3 (下面的 FailInfo 行)

routerS kernel: [95228.293520] OutputInfo IN=    OUT=br-lan      SRC=192.168.0.1     DST=192.168.0.80 LEN=978 TOS=0x00 PREC=0x00 TTL=64 ID=28681 DF PROTO=ICMP TYPE=8 CODE=0 ID=29579 SEQ=0 okPingFromRouterS    
routerS kernel: [37413.743406] FwdInfo    IN=wg0 OUT=br-lan MAC= SRC=192.168.219.246 DST=192.168.0.80 LEN=978 TOS=0x00 PREC=0x00 TTL=63 ID=5115  DF PROTO=ICMP TYPE=8 CODE=0 ID=14595 SEQ=0 failedPingFromRouterT    
routerS kernel: [37413.758681] FailInfo   IN= OUT=wg0            SRC=192.168.219.247 DST=192.168.219.246 LEN=576 TOS=0x00 PREC=0xC0 TTL=64 ID=21316 PROTO=ICMP TYPE=3 CODE=3 [SRC=192.168.219.246 DST=192.168.0.80 LEN=978 TOS=0x00 PREC=0x00 TTL=63 ID=5115 DF PROTO=ICMP TYPE=8 CODE=0 ID=14595 SEQ=0 ]   FailureResponseMessage
# packet logging from iptables

路由似乎很简单,但显然我遗漏了一些东西。对于来自 br-lan 的数据包,有一个单独的路由表 (200),但我认为这在这里无关紧要。

root@routerS:~# ip route
default via 192.168.8.1 dev eth0.2 proto static src 192.168.8.84
192.168.0.0/24 dev br-lan proto kernel scope link src 192.168.0.1
192.168.8.0/24 dev eth0.2 proto kernel scope link src 192.168.8.84
192.168.219.246/31 dev wg0 proto kernel scope link src 192.168.219.247

root@routerS:~# ip rule
0:      from all lookup local
1:      from all iif br-lan lookup 200
32766:  from all lookup main
32767:  from all lookup default

root@routerS:~# ip route show table 200
default dev wg0 proto static scope link

为什么转发的 ping 没有转发到 PI?

相关内容