- 主机操作系统:Windows 7
- 客户操作系统:Ret Hat Linux(RHEL 6)和 Windows 7
我想连接到两个客户操作系统。我尝试 ping 两个客户操作系统,但没有成功。不过两个客户操作系统都可以 ping 我的 Windows 7 主机。
答案1
我很惊讶地在一个 Ubuntu 论坛上找到了最终对我有用的答案:
根据您在 VirtualBox 中使用的 Windows 版本,为了能够收到 ping 的回复,您可能需要在 Windows 计算机上创建至少一个文件夹共享。例如,在 Windows XP 中,一旦您设置了至少一个共享,计算机就会响应 ping。但如果未设置共享,则不会返回任何 ping。
(完整答案请看这里:http://ubuntuforums.org/showthread.php?t=2028309)
所以我基本上做的是:
- 在主机 VirtualBox GUI 中对虚拟机使用桥接模式而不是 NAT
- 关闭windows主机的防火墙
- 在虚拟机本身中设置一些 foo 共享文件夹(c:\foo 或类似的)
编辑:澄清一下,我的设置是 Windows7 Host 和 Windows7 Guest。
就是这样,希望它能对某人有所帮助。
答案2
如果您希望虚拟机像独立机器一样在网络上可访问(我猜这就是您想要做的),请检查以下内容
在 VirtualBox GUI 界面中,在每个 VM 的网络设置下,选择桥接模式,而不是 NAT。
在每个 VM 内,设置静态 IP 或 dhcp。
对于防火墙阻止问题,请查看我对另一个问题的回答这里
在托管机器上的文件资源管理器中,转到
控制面板\所有控制面板项\Windows 防火墙\允许的应用程序
以上路径适用于 Windows 8,其他 Windows 版本可能略有不同。
查找应用程序名称(例如,Virtual Box 是“Oracle VM VirtualBox”)。该应用程序有 3 个复选框,全部选中,重新启动应用程序,它应该就可以正常工作了。
答案3
在两个 Ubuntu 16.06 客户机上进行了测试
您需要使用“ifconfig -a”列出所有可用的网络接口 - 首先只运行“ifconfig”(不带 -a 标志),记住它显示的网络接口,然后使用 -a 标志再次运行它,并找到额外的接口。在我的情况下,通过只运行“ifconfig”,我得到了两个接口 - “enp0s3”、“lo”,当使用“-a”标志运行时,我得到了一个额外的接口 - “enp0s8”。在我们获得该额外接口名称后,您可以编辑 /etc/network/interfaces 文件并在其中附加以下两行:
auto enp0s8 iface enp0s8 inet dhcp
完成更改后,您重新启动机器,现在运行“ifconfig”时应该会获得一个仅主机适配器的 IP,您可以使用它从主机进行连接。
两个客户操作系统都有不同的 IP。我可以从两个客户机 ping 主机,从客户机到客户机,从客户机到主机。
来源:sergeil 的回答
答案4
我搜索了三天来寻找解决方案,为什么我无法在我的 Virtual Box 内部网络上的 Windows Server 2016 客户机之间 ping 通...看来防火墙阻止了流量!
使用以下命令找到需要允许或禁用的防火墙规则 get-NetFirewallProfile | set-NetFirewallProfile -enabled false