主机与设置为NAT模式的ubuntu虚拟机互访

我们都知道设置为NAT的话,主机是不能访问到虚拟机的。设置为桥接模式是可以的。但有时候只能设置为NAT模式(至于为什么就不细说了,如果可以桥接还是设置为桥接吧)。

这里拿虚拟机软件为vitualbox,宿主机为win7系统,虚拟机为ubuntu为例进行讲解。主要实现方式是通过在虚拟机中设置两块网卡来实现。

1.新增设置第二块网卡(第一块为NAT就不说了),网卡连接方式选择host only adapter方式。在宿主机中查看host only 网络连接的ip,一般是192.168.56.1。

2.在虚拟机中设置网卡2(即eth1)的静态ip为跟宿主机中host only ip的子网ip。比如192.168.56.100。具体操作命令如下:

vim /etc/network/interface

可以看到eth0的设置(即第一块nat网卡的设置)。这块保持不变。增加eth1的网卡设置。

auto eth1
iface eth1 inet static
address 设置的ip(比如192.168.56.100)
netmask 子网掩码
#gateway 网关

注意:这里的eth1的gateway不能设置(我前面用#注掉了)。因为如果设置了的话,会导致默认使用eth1的网关,这样就不能访问网络了。访问网络主要走eth0。

3.重启网卡

sudo service networking restart

这样你在宿主机中就能通过192.168.56.100访问虚拟机了。:)

PS.如果默认还是走了eth1的网关导致无法访问网络。可以通过route命令查看default路由。

你可以通过sudo route add -net 192.168.56.1 netmask 255.255.255.0 gw 0.0.0.0 dev eth1命令来设置路由。192.168.56.1是网段。gw后面的是网关。具体可根据实际情况来写。