virtualbox网络连接解释 – 如何让virtualbox中客机与主机互通


最近一直在研究virtualbox的网络模式, 主要是4种, NAT, Bridged, Internal和Host-only. Internal模式基本就是单机运行, 这里不讨论.

如果主客机之间无需互通的话, 只要默认用NAT模式就行, 在这种模式下, 假设主机连接路由, 路由网关为192.168.1.1, 主机的IP为192.168.1.2, virtualbox网卡IP一般为192.168.56.1, 而虚拟机中的系统(客机)的IP一般为10.0.2.15. 此时主客机都能访问外网, 但是外网和主机都无法访问客机, 情况为2个局域网. 如图

如果主客机需要互访, 或是外网也能访问客机, 则必须要使3者位于一个局域网, 即客机的IP也位于192.168.1.x范围. 开始我尝试了Bridged模式, 在主机能访问的情况下, 将主机的网卡和virtualbox网卡进行桥接(如图), 此时网桥的IP为192.168.1.2. 将virtualbox的网络连接方式选择Bridged, 名称选择网桥(Mac Bridged). 启动虚拟机后, 客机的IP分配为192.168.1.3, 位于一个局域网. 理论上这时主客机都能上网, 并且应该能互访, 但是我实际情况试下来, 客机无法上网也无法访问主机和网关, 非常奇怪.

最后我尝试了Host-only模式, 在主机网卡与virtualbox网卡桥接的情况下(同上), virtualbox连接方式选择Host-only, 名称选择virtualbox网卡(VirtualBox Host-Only Ethernet Adapter) (如果客机是xp, 则在advanced里选择PRO/1000 T server, 这样客机能自己装驱动), 如下图. 启动虚拟机后, 由于选的是host only模式, 客机不会自己分配合适的IP地址, 手动将客机网卡IP设置为192.168.1.3, 网关为192.168.1.1. 尝试ping网关, 主机都能通, 并且主客机都能访问外网, 此时主客机地位基本等同, 如果外网需要分别访问不同服务, 只需在路由处设置端口映射.