我在 Windows 7 主机上的 VMWare Workstation 中运行 Ubuntu 14.04。我可以从 Ubuntu VM 内部 ping 我的主机,但无法从另一个方向 ping。Ubuntu 客户机上的防火墙已禁用...... 发生这种情况的原因是什么?
主机的 IPconfig:
Windows IP 配置
Ethernet adapter Local Area Connection:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Ethernet adapter Local Area Connection 3:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::3016:ce81:45fd:f807%22
IPv4 Address. . . . . . . . . . . : 10.104.29.6
Subnet Mask . . . . . . . . . . . : 255.255.255.252
Default Gateway . . . . . . . . . :
Ethernet adapter Local Area Connection 2:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Wireless LAN adapter Wireless Network Connection 3:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Wireless LAN adapter Wireless Network Connection 2:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Wireless LAN adapter Wireless Network Connection:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::c50c:ec60:db1f:4f5f%11
IPv4 Address. . . . . . . . . . . : 192.168.1.13
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.1.1
访客的 IFConfig:
eth0 Link encap:Ethernet HWaddr 00:0c:29:3a:1d:cd
inet addr:192.168.49.150 Bcast:192.168.49.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe3a:1dcd/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:19570 errors:0 dropped:0 overruns:0 frame:0
TX packets:16031 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:24079595 (24.0 MB) TX bytes:1874418 (1.8 MB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:3231 errors:0 dropped:0 overruns:0 frame:0
TX packets:3231 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:260336 (260.3 KB) TX bytes:260336 (260.3 KB)
virbr0 Link encap:Ethernet HWaddr 96:18:75:1c:c2:7d
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
答案1
问题在于 NAT。来自 Ubuntu 计算机的数据包飞出计算机,进入网络。路由器看到这些数据包,并将它们发送到您的计算机,因为它知道计算机在哪里。然后,VMWare 确保您的 VM 收到数据包,因为这是它的工作。您获得连接。
当 ping 客户机时,来自 Windows 主机的数据包会飞到网络上,路由器会看到它们。路由器不知道您的虚拟机在哪里,因为 VMWare 已在您的主机上开辟了一个小空间用于专用网络。VMWare 无法帮助路由器找到您的虚拟机,因为此时,它超出了其影响范围。路由器会丢弃数据包,然后继续运行。
以下是VMWare 对 NAT 配置的解释。
将虚拟机放在桥接适配器上。这样您的路由器就可以为其分配一个它知道的 IP 地址,并且它位于您计算机“旁边”的网络上。然后它们就可以互相通信了。