![当没有找到默认路由以外的路由时,如何丢弃在默认路由接口上接收的 IP 数据包?](https://linux22.com/image/1360760/%E5%BD%93%E6%B2%A1%E6%9C%89%E6%89%BE%E5%88%B0%E9%BB%98%E8%AE%A4%E8%B7%AF%E7%94%B1%E4%BB%A5%E5%A4%96%E7%9A%84%E8%B7%AF%E7%94%B1%E6%97%B6%EF%BC%8C%E5%A6%82%E4%BD%95%E4%B8%A2%E5%BC%83%E5%9C%A8%E9%BB%98%E8%AE%A4%E8%B7%AF%E7%94%B1%E6%8E%A5%E5%8F%A3%E4%B8%8A%E6%8E%A5%E6%94%B6%E7%9A%84%20IP%20%E6%95%B0%E6%8D%AE%E5%8C%85%EF%BC%9F.png)
我正在设置基于 Linux 内核的路由器。正如预期的那样,如果未找到其他路由,则默认路由使用的接口上收到的 ipv4 数据包将被发送回同一接口。
有没有办法防止在默认路由接口上收到的 ipv4 数据包被发送回同一接口?我希望丢弃数据包而不是将其发送回去。
我一直在 /proc/sys/net/ipv4/conf 中查找,但没有找到任何东西。我希望找到一个简单的设置,而不是使用 ip 表。
答案1
我没有找到任何简单的设置。不过,使用 iptables 解决这个问题相当容易:
iptables -I FORWARD -i eth2 -o eth2 -j DROP
其中 eth2 是默认路由使用的接口。