引用链接:1)http://www.it165.net/os/html/201401/7063.html
2)http://www.cnblogs.com/sineatos/p/4489620.html
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
1 # The loopback network interface 2 auto lo 3 iface lo inet loopback 4 # The primary network interface 5 auto eth0 6 #allow-hotplug eth0 7 iface eth0 inet static 8 address 10.0.2.10 9 netmask 255.255.255.0 10 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方式,在混杂模式中选择全部允许(不知道选择其他可不可以,没有试,当时直接选择的全部允许)。记得点击确定哈。
打开虚拟机,(A和B都要做)
vi /etc/network/interfaces
添加两行
1 auto eth1 2 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 成功。