![如何强制 Linux 接受带有环回 IP 的数据包](https://linux22.com/image/649024/%E5%A6%82%E4%BD%95%E5%BC%BA%E5%88%B6%20Linux%20%E6%8E%A5%E5%8F%97%E5%B8%A6%E6%9C%89%E7%8E%AF%E5%9B%9E%20IP%20%E7%9A%84%E6%95%B0%E6%8D%AE%E5%8C%85.png)
我有一个带有以太网接口的嵌入式系统,需要接受 IP 为 127.xxxx 的外部数据包。有没有办法强制 Linux 接受具有此环回地址的外部数据包并将这些数据包视为“正常”IP 数据包?此外,有没有办法在接口的 IP 为 127.xxx 时强制 Linux 发送 ping 数据包?
先感谢您。
答案1
Linux 的弱点主机模型网络堆栈实际上并不关心 TCP/IP 数据包到达哪个接口。如果数据包到达的是已配置的 IP 地址,则会被接受。
这没有考虑 ARP、防火墙规则和路由。
答案2
从RFC 1812:
(e){127,}
Internal host loopback address. Addresses of this form MUST
NOT appear outside a host.
内核用于net.ipv4.conf.<interface>.route_localnet
确定 127.0.0.0/8 是否可路由(实际上是否将这种类型的源/目标 IP 地址视为火星数据包)。
我完全不鼓励你玩这个,你必须重新考虑你的设置。