即使有路由表條目,也無法 ping 到另一台電腦上的虛擬機

即使有路由表條目,也無法 ping 到另一台電腦上的虛擬機

我有 2 台電腦。電腦 A 正在運行虛擬機,該虛擬機位於 NAT 後方。計算機 B 只是想 PING 該虛擬機。我知道 NAT 後面的虛擬機器是為了讓外部無法訪問,這就是 NAT 存在的首要原因。我的實驗只是為了了解這一切是如何運作的。

電腦A的IP:192.168.1.105

A電腦虛擬機器IP:172.16.66.132

B電腦IP:192.168.1.107

根據我的理解,電腦 B 無法 PING 虛擬機,因為它不知道如何到達那裡,並且嘗試通過路由器 (192.168.1.1) 到達那裡,但失敗了,因為路由器然後轉到互聯網(我用 驗證tracert) 。

我認為我可以透過在電腦 B 上的路由表中新增自訂條目來更改這一點。

route add 172.16.66.0 MASK 255.255.255.0 192.168.1.105

上述規則將通知電腦 B 可以透過 192.168.1.105(這是電腦 A 的 IP)存取網路 172.16.66.0。

結果?不用找了。我甚至看到,在 PING 虛擬機器時,我的自訂條目已從表中刪除。

為什麼我的解決方案不起作用?

答案1

route add命令無效,且該路由可能已被刪除,因為它經過測試並顯示為無效。

原因是您遇到了雙 NAT 的情況:您使用的虛擬機器軟體有自己的虛擬路由器,為虛擬機器執行 DHCP 和 NAT。主機沒有到該虛擬路由器的路由,因此無法轉送任何內容。

我建議在這種情況下將虛擬網路定義為橋接而不是 NAT。

相關內容