我有两个正在运行的虚拟机(mars 和 saturn):
我希望它们能够互相 ping 通为此,我在两台虚拟机上都设置了一个内部网络适配器。在这里您可以看到 saturn 机器的网络设置:
在这里您可以看到火星机器的网络设置:
但由于某种原因,我无法从另一台机器 ping 一台机器,而是得到: 来自 ##.##.##.## 的回复:目标主机不可达。所以问题是:1) 我怎样才能让它们互相看到?2) 在内部网络上有两个虚拟机,我怎样才能让它们可以从主机访问?
更新2:好的,现在我可以从土星 ping 通火星,也可以从火星 ping 通土星,但是我仍然无法从主机 ping 通它们两个。
更新: 以下是mars虚拟机的ip设置:
以下是 saturn 虚拟机的 IP 设置:
当我尝试从土星向火星发送 ping 消息时,我得到了以下信息:
以下是运行的输出ipconfig /全部在两个虚拟机上:
答案1
看看这个关联。
内部网络:
这可用于创建一种不同类型的基于软件的网络,该网络对选定的虚拟机可见,但对主机上运行的应用程序或外部世界不可见。
您面临的问题是虚拟机无法访问您的 DHCP 服务器。它正在获取 APIPA 地址 (169.254.xx.xx)
桥接网络
这是为了满足更高级的网络需求,例如网络模拟和在客户机中运行服务器。启用后,VirtualBox 将连接到您已安装的网卡之一并直接交换网络数据包,从而绕过主机操作系统的网络堆栈。
如果您的网络上有路由器或 DHCP 服务器,请配置此选项以通过主机 NIC 接收 DHCP 数据包,以便虚拟机自动获取 IP 地址。
否则,您可以为两个虚拟机配置静态 IP 地址
例子:
VM Mars: IP 192.168.1.5, Subnetmask 255.255.255.0
VM Saturn: IP 192.168.1.6, Subnetmask 255.255.255.0
编辑:如果您希望主机与虚拟机通信,请为虚拟机使用桥接网络,并为虚拟机提供主机所在子网内的静态地址。或者让 DHCP 动态为虚拟机分配 IP 地址(假设您的主机从同一服务器/路由器获取 DHCP 地址)
答案2
两台具有相同硬件地址的机器无法相互通信,您已经解决了这个问题。
根据设计,您无法从主机 ping 虚拟机。使用“内部网络“允许多个虚拟机在内部网络上进行通信,但该网络不向外界开放,包括主机。
您可能更喜欢使用“仅主机网络“这与内部网络完全相同,但允许主机加入。
如果你想从其他主机访问虚拟机,你也可以使用桥接网络。
最后,我建议为虚拟机配置固定 IP 地址,或者配置内置VirtualBox dhcp 服务器。