我正在练习 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
规则,否则所有下一跳都应该知道到源的路由。