无法从 LAN 网络上的机器 ping 路由器的 WAN IP

无法从 LAN 网络上的机器 ping 路由器的 WAN IP

我有一台充当路由器的机器(Linux ubuntu),路由工作正常。

iptables -A FORWARD -i wg0 -j ACCEPT
iptables -A FORWARD -o wg0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o wg0 -j MASQUERADE

eth0网络上的一台机器可以wg0使用该路由器 ping 网络上的另一台机器。

我不能做的是:从一台机器上eth0pingwg0路由器的 -ip。

说清楚一点:

[Machine A: IP 192.168.68.2]<--> [Router eth0: 192.168.68.114 / wg0: 10.100.100.2]<-->[Machine B: 10.100.100.1]

Machine A可以 ping :192.168.68.114但是10.100.100.1不是 10.100.100.2

当我10.100.100.2从ping 时Machine A,我能够看到正在Router使用tcpdump的 ping 传入包,但是在到达 之前它被丢弃iptables,链级别的计数器没有增加。

据我所知,目前他们Router正在丢弃包裹,但我无法找到他们在哪里。

您知道如何让Router的 Wan IP 在 LAN 内可用吗?

答案1

所述错误的答案是:有一条iptables规则(在 raw/PREROUTING 上)正在丢弃数据包。一旦我删除了它,一切都会按预期运行。

关于我的问题本身,该wg0接口是由Wireguard工具创建的wg-quick,该工具默认添加了规则。

为了解决这个问题,我使用接口配置文件添加了一条规则:

PostUp = iptables -t raw -I PREROUTING -i eth0 --src 192.168.68.0/24 --dst 10.100.100.2 -j ACCEPT

相关内容