Answers:
我很惊讶在ubuntu论坛上找到最终对我有用的答案:
根据您在VirtualBox中使用的Windows版本,为了能够回复ping,您可能需要在Windows计算机上创建至少一个文件夹共享。例如,在Windows XP中,一旦设置了至少一个共享,计算机将响应ping。但是,如果未设置共享,则不会返回ping。
(在此处查看完整的答案:http : //ubuntuforums.org/showthread.php?t=2028309)
所以基本上我所做的是:
编辑:澄清一下,我的设置是Windows7 Host和Windows7 Guest。
就是这样,希望能对某人有所帮助。
如果您希望虚拟机可以像独立计算机一样在网络上访问(我想这就是您要尝试的操作),请检查以下内容
在VirtualBox GUI界面的每个VM的网络设置下,选择网桥模式,而不是NAT。
在每个VM中,设置静态IP或dhcp。
对于防火墙阻止问题,请在此处查看我的答案以获取其他问题
在托管计算机上,在文件浏览器中,转到
控制面板\所有控制面板项目\ Windows防火墙\允许的应用
上面的路径适用于Windows 8,其他Windows版本可能略有不同。
查找应用程序名称(例如,Virtual Box为“ Oracle VM VirtualBox”)。该应用程序有3个复选框,选中所有复选框,然后重新启动应用程序,它应该可以工作。
在两个Ubuntu 16.06 guest虚拟机上测试
您将需要使用“ ifconfig -a”列出所有可用的网络接口-首先,您仅运行“ ifconfig”(不带-a标志),记住它向您显示的网络接口,然后使用-a再次运行标记,并找到该额外的接口。就我而言,仅运行一个“ ifconfig”就得到了两个接口-“ enp0s3”,“ lo”,当运行带有“ -a”标志时,我得到了一个额外的接口-“ enp0s8”。在获得该额外接口名称的名称之后,您可以编辑/ etc / network / interfaces文件,并在其中添加以下两行:
auto enp0s8
iface enp0s8 inet dhcp
进行此更改后,您将重新启动计算机,然后在运行“ ifconfig”时应获得仅主机适配器的IP,可用于从主机进行连接。
来宾操作系统都具有不同的ip。我能够从来宾,来宾到来宾以及来宾来ping通主机。
资料来源:sergeil回答
根据需要,为IP v4或IP v6允许ICMP回显软件包,如下所示:
netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=allow profile=private,domain
netsh advfirewall firewall add rule name="ICMP Allow incoming V6 echo request" protocol=icmpv6:8,any dir=in action=allow profile=private,domain
确保选择合适的配置文件:您可以将规则限制为域,专用网络或公用网络或任何其他。
其他解决方案导致出现防火墙条目,该条目也允许ICMP回显包也通过防火墙,但是我认为应该保持简单。
如果Mick的设置对您不起作用,则可能是这样。我遵循了Mick的设置,但最终无法ping回VM Guest。我做了一个更改,那就是启用防火墙并将其设置为“ WORK”,而不是禁用。我通过“允许程序通过Windows防火墙进行通信”编辑了防火墙,然后在“家庭/工作(私人)”配置文件下选择了“文件和打印共享”。我立即能够从LAN中的另一台PC ping我的VM Guest。我在下面粘贴了Mick的设置,以获取清晰度和单个帖子帮助。谢谢米克!
0-在主机VirtualBox GUI中为VM使用桥接模式而不是NAT 0-在Windows主机中关闭防火墙0-在VM本身中设置一些foo共享文件夹(c:\ foo或类似名称)0-EDIT:进行澄清,我的设置是运行Oracle Virtual Box 5.0.24 Host和Windows7 Guest的Ubuntu 16.04。