标题:virtualbox虚拟机中nat和host only的网络“冲突”问题 出处:Felix021 时间:Tue, 14 Oct 2014 11:26:59 +0000 作者:felix021 地址:https://www.felix021.com/blog/read.php?2140 内容: 我大约从2010年起,就一直在自己的机器上使用 Windows宿主机+Ubuntu Server@VBox虚拟机 这种组合,一方面不用抛弃windows上早已熟悉的众多GUI软件,另一方面又可以享受到Linux带来的便利,在上面做开发等等。 虽然仅仅用一个NAT就可以解决网络的问题,但是如果每次新增一个服务就要添加一个端口映射也很麻烦,所以我开了双网卡,另一个使用Host-Only,这样主机和虚拟机之间可以直接互访。 虽然有人说用Bridged Network也能解决这个问题,但是前述方法却有更多好处:首先因为是外网无法直接访问这台机器,所以可以使用弱密码;其次虚拟机里使用NAT通过宿主机访问外部网络,因此像我现在主机上的双网卡的目标网络也可以免配置直接访问。 不过昨天遇到了个问题(貌似以前也曾经遇到过),就是突然不能访问外网了(但是仍然能ping通192.168.56.1,即宿主机的Host-Only IP),经过测试发现如果把Host-Only的网卡去掉就没问题,所以看起来像是这两个网络冲突了。 经过放狗搜索,SuperUser上的一个问题提醒我,这个其实是路由表的问题,由于没有指定默认网关,因此不知道为什么Ubuntu(WinXP也会)就把Host-Only的gateway当成默认网关了。 解决问题很简单,先删掉错误的默认网关,再添加新的默认网关: $ sudo route del default $ sudo route add default gw 10.0.2.2 不过这个重启以后就会消失,需要保持的话,就在 /etc/network/interfaces 添加一行 up route add default gw 10.0.2.2 Generated by Bo-blog 2.1.0