![使用“ip route add”添加跳数使得 traceroute 在第一跳处停止](https://linux22.com/image/739851/%E4%BD%BF%E7%94%A8%E2%80%9Cip%20route%20add%E2%80%9D%E6%B7%BB%E5%8A%A0%E8%B7%B3%E6%95%B0%E4%BD%BF%E5%BE%97%20traceroute%20%E5%9C%A8%E7%AC%AC%E4%B8%80%E8%B7%B3%E5%A4%84%E5%81%9C%E6%AD%A2.png)
我正在练习 LFCS。我有两台虚拟机,都是 ubuntu 18.04。在 machine1 上,当我运行时,traceroute 8.8.8.8
输出正常。在 machine1 上运行时
sudo ip route add 8.8.0.0/16 proto static metric 10 via inet if-of-machine2 dev ens3
然后跟踪路由在第一跳处停止,如下所示
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
1 machine2 0.439 ms 0.380 ms 0.359 ms
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
.....
并且永远不会完成。在 machine2 上,traceroute 8.8.8.8
绝对成功。我还设置了
sysctl net.ipv4.ip_forward=1
我已刷新iptables
并确保所有策略都设置为“接受”。ufw
已被禁用。
我遗漏了什么?为什么 traceroute 没有进一步深入 machine1 上的第一跳?
答案1
故障排除
- 使用命令检查 machine2 上的路由
ip route get 8.8.8.8 from <ip-machine1> iif <iface>
。它应该返回一条有效的路由。 - 使用 检查传出的数据包
tcpdump
。 - 很可能您需要该
SNAT/MASQUERADE
规则,否则所有下一跳都应该知道到源的路由。