即使目标是本地主机,也可以通过网络发送数据包

Gil*_*il' 10 linux networking ip ethernet

在 Linux 下,如果您将数据包发送到其网络接口之一的地址,则该数据包将在内部路由,永远不会通过网络发送。这在 99.99% 的情况下都是正确的。

有时,在测试网络配置时,从机器本身通过本地链接发送数据包很有用,机器本身作为目标。我怎样才能做到这一点?如果不是点对点链接,至少对于总线类型的链接,例如以太网。我只对 IP 数据包(IPv4 和 IPv6)感兴趣。

oak*_*kad 8

linux 上的每个网络适配器都有一个 sysctl 布尔参数accept_local( /proc/sys/net/ipv4/conf/eth0/accept_local)。尝试将所有涉及的适配器设置为 0(此外,您可能需要修改路由表以适合您的测试设置)。

此外,请确保rp_filter( /proc/sys/net/ipv4/conf/eth0/rp_filter) 已启用(不是 0)。

参考:http : //code.metager.de/source/xref/linux/stable/Documentation/networking/ip-sysctl.txt