Linux

我無法從 Windows 主機以外的任何機器 ping 我的 linux VM

  • April 1, 2022

我可以在 192.168.1.166 上 ping 我的 BBB,這是我的路由器給它的地址,此後我將其設為靜態。

視窗主機

IP地址:192.168.1.219

我的 linux 虛擬機(在 windows 主機上執行):

enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
       inet 192.168.56.102  netmask 255.255.255.0  broadcast 192.168.56.255
       inet6 fe80::dddc:91d0:276:c7b2  prefixlen 64  scopeid 0x20<link>

BB:

eth0: flags=-28605<UP,BROADCAST,RUNNING,MULTICAST,DYNAMIC>  mtu 1500
       inet 192.168.1.166  netmask 255.255.255.0  broadcast 192.168.1.255
usb0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
       inet 192.168.7.2  netmask 255.255.255.0  broadcast 192.168.7.255

我還嘗試添加一條路線,所以我的路線表如下所示:

debian@beaglebone:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.254   0.0.0.0         UG    0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.1.254   0.0.0.0         255.255.255.255 UH    0      0        0 eth0
192.168.6.0     0.0.0.0         255.255.255.0   U     0      0        0 usb1
192.168.7.0     0.0.0.0         255.255.255.0   U     0      0        0 usb0
192.168.56.0    192.168.1.166   255.255.255.0   UG    0      0        0 eth0 <-- ADDED THIS

概括

  • 從我的 linux 虛擬機,我可以 ping 我的 Windows 主機和 BBB,包括 usb0 和 eth0(我也可以通過兩者 ssh 到 BBB)。
  • 從我的 Windows 主機我可以 ping 我的 linux VM 和 BBB(兩個地址)
  • 從我的 BBB 我可以 ping 我的 windows 主機,但不能 ping 我的 linux VM

我認為這可能與我的 linux VM 位於不同的子網有關:192.168.56.x,而不是 192.168.1.x。所以這就是我在上表中添加路線的原因。

我究竟做錯了什麼?

更新

我的網路(192.168.1.120)上有另一個 linux 機器,BBB 可以 ping 通它。然而,這第二個 linux 機器也無法 ping 我的 linux VM - 所以我認為問題是不是我的 windows 主機 PC 無法 ping linux VM ……所以這個問題的標題現在可能是錯誤的,這個更多的是“無法ping我的linux VM”問題。正在更新標題…

我懷疑你已經將你的虛擬機設置為 NAT 模式,Windows 主機在你的虛擬機前面放置了一個假網路路由​​器,並轉換 IP 地址,以便看起來所有網路流量都來自 Windows 主機。在某些 VM 程序中預設使用此模式,因為它是最可靠的,但它不允許所有網路功能工作。

嘗試橋接模式,允許 VM 直接連接到網路。它應該像真正的電腦一樣加入您的家庭網路,並從您的家庭路由器獲取 192.168.1 子網中的地址。

引用自:https://unix.stackexchange.com/questions/697614