VirtualBox 仅主机网络,无法从客户机 ping 主机

VirtualBox 仅主机网络,无法从客户机 ping 主机

我有以下设置:
主机 Windows:

   IPv4 Address. . . . . . . . . . . : 192.168.0.103
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.0.1

VirtualBox 中的客户机 Ubuntu:

2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:01:85:e3 brd ff:ff:ff:ff:ff:ff
    inet 192.168.33.3/24 brd 192.168.33.255 scope global dynamic enp0s3
       valid_lft 359sec preferred_lft 359sec
    inet6 fe80::a00:27ff:fe01:85e3/64 scope link
       valid_lft forever preferred_lft foreve

VirtualBox 仅主机以太网适配器:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::1454:89c9:eb7c:9d6d%37
   IPv4 Address. . . . . . . . . . . : 192.168.33.1
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . :

VirtualBox DHCP:

Server 192.168.33.2
Mask 255.255.255.0
Lower addr 192.168.33.3
Upper addr 192.168.33.254

我可以轻松地ping从主机 Windows 切换到客户机:

ping 192.168.33.3

Pinging 192.168.33.3 with 32 bytes of data:
Reply from 192.168.33.3: bytes=32 time<1ms TTL=64
Reply from 192.168.33.3: bytes=32 time<1ms TTL=64
Reply from 192.168.33.3: bytes=32 time<1ms TTL=64

否则它对我来说不起作用。也就是说,我无法从客户机 Ubuntu ping 到主机 Windows:

ping 192.168.0.103
ping: connect: Network is unreachable

PS 我甚至尝试修改客户机的地址为 192.168.0.3 以匹配主机的网络,而实际结果是一样的:
我无法从客户机 Ubuntu ping 到主机 Windows 机器192.168.0.103

但是,客户机(Ubuntu)可以 ping VirtualBox 仅主机以太网适配器:

ping 192.168.33.1
PING 192.168.33.1 (192.168.33.1) 56(84) bytes of data.
64 bytes from 192.168.33.1: icmp_seq=1 ttl=128 time=0.378 ms
64 bytes from 192.168.33.1: icmp_seq=2 ttl=128 time=0.430 ms

VirtualBox 有以下表:
https://www.virtualbox.org/manual/ch06.html

Host-only:
VM→Host +
VM←Host +
VM1↔VM2 +
VM→Net/LAN -
VM←Net/LAN -

这是正常的 VirtualBox 行为吗?(我看到有人在这种模式下可以从客户机 ping 到主机)。
我遗漏了什么?

答案1

我有相同的设置 - 一个 Windows 主机,上面有一个 Ubuntu VM。同样的问题。我可以从主机 ping 客户机,但反过来不行。我在 VM 设置中使用了桥接适配器,并且我完全删除了 VirtualBox 创建的仅主机适配器...

问题原来出在 Windows Defender 防火墙上!作为一种散弹枪式方法,我直接将其完全禁用,然后进行测试... 瞧!

理想情况下,人们会希望添加防火墙规则来为特定的 IP 范围、端口、协议打开针孔...首先尝试使用散弹枪来查看是否存在相同的基本问题。

答案2

您的主机 PC 有多个网络接口和多个 IP 地址。很难确定,但根据您提供的信息,IP 很192.168.0.103可能是您的标准网络接口。VirtualBox 创建了第二个网络接口,称为“VirtualBox 仅主机以太网适配器”,并为该适配器指定了 IP 192.168.33.1

由于您可以192.168.33.1从来宾虚拟机 ping 通,因此您可以从来宾 ping 通主机,但您只能 ping 与虚拟机共享的接口/IP。您的 PC 不会将网络流量从主机专用接口路由到您的真实网络接口。

至于使用 Wireshark 捕获流量,Wireshark只能使用物理接口主机专用接口是VirtualBox 创建的软件界面所以您可能无法从中捕获信息。

答案3

这对于 Virtual Box 中的仅主机模式来说是正常的。

https://condor.depaul.edu/glancast/443class/docs/vbox_host-only_setup.html#:~:text=With%20host%2Donly%20networking%2C%20virtual,in%20VirtualBox%20on%20the%20host

VirtualBox 主机专用适配器还可以用作 DHCP 服务器,为 VirtualBox 虚拟机分配 IP 地址。主机(以及其他虚拟机,如果有)然后可以使用 ssh 或 sftp 使用这些 IP 地址连接到虚拟机(前提是虚拟机上运行着 ssh 服务器)。

这确实意味着使用主机专用的虚拟机无法访问外部世界,但具体来说,主机应该能够使用 ssh 登录到虚拟机(运行 ssh 服务器)并使用 sftp 在主机和虚拟机之间传输文件。

如果您希望互连,请考虑使用桥接或 NAT 模式。这样可行。

答案4

我遇到了同样的问题,并发现了这一点

https://bitlaunch.io/blog/how-to-make-windows-10-pingable/#:~:text=You'll%20be%20taken%20to,allow%20ping%20in%20Windows%2010

在 Windows 中,您只需配置防火墙并启用此功能 在此处输入图片描述

希望我能帮到你

相关内容