VirtualBox - 虚拟机下主机与虚拟机、虚拟机与虚拟机之间通信配置

  看了一下网上别人写的文章: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修改,追加:

1 auto eth1    
2 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

  

 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

  

posted @ 2015-05-09 11:48  银槲  阅读(...)  评论(...编辑  收藏