如果我将虚拟机配置为与主机位于不同的子网中,有没有办法让虚拟机可以访问主机?
我不希望主机处理数据包,我只是想知道在这种情况下,是否有任何方法可以让数据包从我的虚拟机到达我的主机?
设置:CentOS 6.5 VM 在 Oracle VirtualBox 中的 Windows 7 主机上运行。
我刚刚尝试了以下场景:
- 将来自不同子网的静态 IP 分配给我的 VM 的桥接网络适配器。
- 从虚拟机 ping 该子网的第一个地址。
ping 到达我的 Windows 主机。(在 wireshark 上检查)。但是不其他 ping 到达我的 Windows 主机。有没有什么解决方法?
答案1
根据您的意见,我会提出这样的建议:
┌──────┐ ┌────────┐ ┌────────┐
│ HOST ├── VMnet0 ──┤ GUEST1 ├── VMnet1 ──┤ GUEST2 │
└──────┘ └────────┘ └────────┘
GUEST1
可以通过 VMnet0 以任何方式访问 Internet,例如 Bridged / Host-only / NAT。但我更喜欢 Host-only,因为两者HOST
可以GUEST1
互相看到(具有不同的 IP),而且它比 Bridged 效率高得多。Host-only 还可以使用 Windows Bridge 机制与任何网络接口桥接。
您可以使用 ICS 提供 Internet,但必须关闭 VMnet Host-only 的默认内置 DHCP 服务器。您可以使用以下命令将其关闭:
VBoxManage.exe list dhcpservers
VBoxManage.exe dhcpserver remove --netname "HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter"
GUEST2
通过 路由的 VMnet1 访问互联网GUEST1
。我认为它应该是仅主机模式,并且关闭 DHCP。