为什么某些容器可以 ping 通不在同一 LAN 内的主机的接口?

为什么某些容器可以 ping 通不在同一 LAN 内的主机的接口?

我有一个带有 eth0 和 IP 172.17.0.2/16 的 lxc 容器。主机有一个网桥 br0,地址为 172.17.0.1/16。双方可以互相 ping 通。此外,主机有一个 VPN wg0 和 IP 172.16.0.1/16。如果我从容器内部 ping 到 VPN,我会得到:

# ping 172.16.0.1
PING 172.16.0.1 (172.16.0.1) 56(84) bytes of data.
64 bytes from 172.16.0.1: icmp_seq=1 ttl=64 time=0.051 ms

为什么是这样?我预计两个接口之间不会有连接,因为未启用转发和 NAT。

答案1

除非我弄错了,否则所有本地地址(属于主机的地址)都会对来自任何接口的 ping 做出反应。这不是转发的问题,而是将目标地址识别为本地地址之一的问题。

您可以使用 进行测试tcpdump,我希望不会出现任何数据包wg0。您还可以通过 ping 中的其他主机进行测试172.16.0.0/16,您应该不会得到任何答复。另一个测试是使用ip addr add ...添加一些其他地址wg0(或任何其他接口),并查看添加后是否可以 ping 通它们。

相关内容