Azure 中虛擬機器的路由行為很奇怪

Azure 中虛擬機器的路由行為很奇怪

我有三台Ubuntu機器,機器A、B、C。 / 24

機器 A 有 3 張網路卡,eth0、eth1、eth2 機器 B 有 2 個網路卡 eth0、eth1 機器 C 有 2 個網路卡 eth0、eth1

我讓每台機器的 eth0 連接到 SubN1 以便管理。機器 A eth1 和機器 B eth1 屬於 SubN2 機器 A eth2 和機器 C eth1 屬於 SubN3 我想讓機器 B 透過介面 eth1 連接到機器 C,這意味著我需要在機器 B 和 C 之間添加一條路由驗證B和C未連接。

然後,在機器B 路由表中,我鍵入指令: ip route add {SubN3}/24 via {機器A 的eth1 的Ip 位址} dev eth1 在機器C 路由表中,我鍵入指令: ip route add {SubN2} / 24 透過 {機器 A 的 eth2 的 IP 位址} dev eth1

我甚至沒有在機器A中設定IP轉發,然後機器B可以透過其eth1成功連接到機器C。

這很棒!然而,問題也來了。

當機器 B 和 C 連接時(互相 ping 或 ssh),我看不到機器 A(eth1 或 eth2)中的任何流量

即使我關閉機器 A,機器 B 和 C 仍然連接!

我想要的是:機器 B 和 C 連接,但流量應該通過機器 A。

你能告訴我出了什麼問題或我需要設定什麼嗎?

謝謝

答案1

我認為您需要等待更多時間才能看到 ping 輸出。

我跟你有同樣的測驗。

vm1 has nic0 10.0.0.4, nic1 10.0.1.4, nic2 10.0.2.4;
vm2 has nic0 10.0.0.5, nic1 10.0.1.5;
vm3 has nic0 10.0.0.6, nic2 10.0.2.5.
nic0s join into subnet0 10.0.0.0/24; 
nic1s join into subnet1 10.0.1.0 24; 
nic2s join into subnet2 10.0.2.0/24.

然後我將一條路由加入到 vm2:sudo ip route add 10.0.2.0/24 via 10.0.1.4 dev eth1 在此輸入影像描述

新增一條到 vm3 的路由:sudo ip route add 10.0.1.0/24 via 10.0.2.4 dev eth1 在此輸入影像描述

因此我可以使用 eth1 從 vm2 ping 到 vm3。一旦我停止了門戶上的 vm1。我找到回應:目標主機無法存取。 在此輸入影像描述

一旦我重新啟動 vm1,ping 連線就會恢復。 在此輸入影像描述

所以我認為你設定正確,在這種情況下只是需要更多時間。

相關內容