Linux

如何將流量從一台主機路由到另一台主機,中間有躍點

  • August 10, 2017

我在無法看到外界的網路中的 Hypervisor 上有一個 VM(主機 A)。我在另一個可以看到外部世界的 Hypervisor 上有另一個 VM (HOST B)。我可以從主機 A ping 主機 B。我想將流量從主機 A 路由到主機 B,這樣我就可以到達外面。

HOST 範例 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

您將需要通過主機 A 上的原始預設網關添加到主機 B 的路由。

ip route add IPOFHOSTB/32 via original_gateway

只有這樣才能更改預設值。

引用自:https://serverfault.com/questions/867816