我在无法看到外部世界的网络中的虚拟机管理程序上有一个虚拟机(主机 A)。我在另一个可以看到外部世界的虚拟机管理程序上还有另一个虚拟机(主机 B)。我可以从主机 A ping 主机 B。我想将流量从主机 A 路由到主机 B,这样我就可以到达外部。
主机 A 示例 IP:172.17.175.5
主机 B 示例 IP:10.130.128.242
在 HOST BI 上已完成
sysctl net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o ethx -j MASQUERADE
在 HOST AI 上尝试做
ip route del default
ip route add default via IP_of_HOSTA
但我得到 RTNETLINK 答案网络无法访问
在主机 A 上运行 10.130.128.242 的 traceroute 显示
1 172.17.175.1 (172.17.175.1) 0.453 ms 0.877 ms 0.870 ms
2 172.16.1.1 (172.16.1.1) 0.861 ms 0.853 ms 0.844 ms
3 la.la.la.net (172.16.255.254) 2.567 ms 2.627 ms 4.439 ms
4 10.0.40.105 (10.0.40.105) 1.921 ms 2.122 ms 2.253 ms
5 10.250.247.4 (10.250.247.4) 1.465 ms 1.495 ms 1.765 ms
6 blah.blah.blah.net (10.130.128.242) 0.811 ms 0.787 ms 2.412 ms
是否可以通过只编辑两台虚拟机上的配置来实现这一点?如果可以,该怎么做?
如果有必要的话,虚拟机将设置为桥接模式。
更新:添加后
ip route add 10.130.128.242/32 via 172.17.120.1
ip 路由显示
10.130.128.242 via 172.17.120.1 dev ens3
172.17.120.0/26 dev ens3 proto kernel scope link src 172.17.120.5
答案1
您需要通过主机 A 上的原始默认网关添加至主机 B 的路由。
ip route add IPOFHOSTB/32 via original_gateway
只有这样才能改变默认值。