我有一个连接到两个网络的 Ubuntu 服务器:10.0.8.18/24
和10.0.18.2/24
。
当我对某个 IP执行traceroute
从到 的操作时,我得到:10.0.8.x
10.0.18.0/24
traceroute to 10.0.18.1 (10.0.18.1), 30 hops max, 60 byte packets
1 10.0.8.18 (10.0.8.18) 18.237 ms 18.217 ms 18.438 ms
2 10.0.18.1 (10.0.18.1) 18.455 ms * *
但是当traceroute
对 IP执行该操作时10.0.18.2
我只得到:
traceroute to 10.0.18.2 (10.0.18.2), 30 hops max, 60 byte packets
1 10.0.18.2 (10.0.18.2) 17.809 ms 17.822 ms 17.818 ms
有没有办法让它10.0.8.18
看起来像跳跃?
答案1
这就是转发和联系本地 IP 之间的区别:Linux 对所有本地 IP 地址都一视同仁,因此您可以从任何接口直接访问任何本地 IP 地址。数据包不会先以某种方式转发到其他接口,然后再进行处理。
这让很多人感到困惑;你不是第一个问这个问题的人。
因此您的跟踪路由正确显示了实际发生的情况。
只要发生这种情况(您可以重新配置“将所有 IP 视为本地”行为,尽管是否可以获得您想要的行为并不明显,并且可能会破坏其他事情,所以我不推荐它),不,您不能让“缺失”的跳跃出现,因为它并不是真正缺失的。