Host System:win7

Guest System:debian6.0.7(两台,这里我们记为A,B)

参考地址:

http://deepfuture.iteye.com/blog/602322

VirtualBox下共有四种网络配置方式:NAT,Bridge,Internal,Host-only。

这里我们只用到NAT和Host-only两种方式,具体的四种方式的联系区别可以参考VBox自带的User Manual。

一、主机与虚拟机通信(单向,虚拟机guest到主机host,可以上外网)

一般情况下,当你安装了VBox并装上guest os(debian6.0.7)后,guest os就是NAT直接可以上外网的,并且是通过dhcp获取ip地址的。参考地址中说的很详细,user manual中也有说明。

这里我们可以改成静态ip地址。打开Guest A

设置如下:

vi /etc/network/interfaces

# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
#allow-hotplug eth0
iface eth0 inet static
address 10.0.2.10
netmask 255.255.255.0
gateway 10.0.2.2

同样可以设置Guest B,只是address一行改为10.0.2.20(这里ip地址可以设为10.0.2.4-10.0.2.254之间,2.2为网关,2.3为dns)。

重启网络:/etc/init.d/networking restart。

这里如果直接使用原来的dhcp,发现guest的ip地址都是一样的(一般为10.0.2.15)。不过貌似也没关系,因为主机Host是无法访问虚拟机的。这时两台虚拟机之间也是无法ping通的(即使它们看起来在一个网段,这就与NAT的原理有关了)。一开始我以为能够ping通,才有了配置静态ip这么一段。配置完这一步可以保证虚拟机能够访问外网。

这时,

Guest A:

eth0 10.0.2.10

Guest B:

eth0 10.0.2.20

二、主机与虚拟机以及虚拟机之间互通信

关闭虚拟机(开机状态下无法设置),在设置->网络中,点击网卡2(网卡1被用作NAT),启用网络连接,选择Host-Only方式,在混杂模式中选择全部允许(不知道选择其他可不可以,没有试,当时直接选择的全部允许)。记得点击确定哈。

打开虚拟机,vi /etc/network/interfaces(A和B都要做)

添加两行

auto eth1

iface eth1 inet dhcp

重启网络,/etc/init.d/networking restart

这时A的地址会设置为192.168.56.101,B的地址会设置为192.168.56.102。

一开始我设置成静态地址,但发现上不了外网,不知是何原因。

这时,

Guest A:

eth0 10.0.2.10

eth1 192.168.56.101

Guest B:

eth0 10.0.2.20

eth1 192.168.56.102

主机ping Guest A:ping 192.168.56.101 成功。

主机ping Guest B:ping 192.168.56.102 成功。

Guest A和B ping主机:ping ip(这个ip为主机正在上网的ip地址,通过NAT) 成功。

             或者:ping 192.168.56.1(通过Host-Only) 成功。

Guest A ping Guest B:ping 192.168.56.101 成功。