看了一下网上别人写的文章:http://www.it165.net/os/html/201401/7063.html
文章里面使用的是Debian,我这里配置的虚拟机系统一个是Ubuntu 14.10,另一个是Red Hat 5.0 ,虚拟机软件是VitualBox
按照那篇文章的步骤可以完成Ubuntu的配置,但是Red Hat的有点不一样。
简要总结一下,先把虚拟机都关了,然后点击设置->网络,原本会开一张网卡用NAT给虚拟机上网,现在再开一张,选择Host-only,两个虚拟机都这样设置,然后打开虚拟机。用ifconfig检查是不是多了一张网卡。在Ubuntu里面,用管理员权限打开/etc/network/interfaces修改,追加:
auto eth1
iface eth1 inet dhcp
然后重启一下服务(当然,如果觉得麻烦可以直接重启虚拟机→_→):
/etc/init.d/networking restart
然后再确认一下网卡的配置。
接着就是配置Red Hat,红帽跟Ubuntu有点不一样它把每个网卡的配置都单独放在一个文件里面,不是统一放在一个文件里面。这些文件位于:
/etc/sysconfig/network-scripts/ifcfg-ethN
其中N代表网卡编号。
打开ifcfg-eth1(如果新网卡是eth1)然后做一次跟Ubuntu一样的配置,重启服务。
用ifconfig看一下两台虚拟机的网卡配置,这是应该th1的IP地址应该是不一样了。
Ping一下,对方,应该可以Ping得通,Ping宿主机IP应该也可以Ping得通。
这里顺便记下怎样配静态IP(虽然我没有配静态的IP),做实验的时候,如果觉得用动态麻烦可以设成静态。
两台虚拟机A,B
主机与虚拟机通信(单向,虚拟机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