最近在Ubuntu10.10下用VitualBox装了XP,Red Hat Enterprise 5以及Ubuntu9.04,想实现他们4个直接的互相Ping联通以便搭建内置的局域网玩玩,互相ping了以下,发现只是虚拟机直接以及虚拟机到主机之间可以ping通,但是主机无法Ping通任何虚拟机,找了不少资料。。终于解决了。可以互相Ping了。。(网络这东西很神奇。)
具体VBOX版本有点差异,我截了我自己的图上来。
首先要安装两个用于桥接网络的库,Ubuntu下使用下述命令安装这两个库:
sudo apt-get install uml-utilities bridge-utils
之后,系统中会出现一个名为“uml-net”的用户组,使用下述命令将运行虚拟机的用户添加到该组中:
sudo gpasswd -a user_name uml-net 红色部分为你自己虚拟机的用户名,一般和你主机一样
将上面的“user_name”替换成运行虚拟机的用户的用户名,然后编辑网络接口的配置文件:
sudo vi /etc/network/interfaces
在文件的最后或者开头,添加下面一段:
auto tap0
iface tap0 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user user_name 同上设置
上面的配置信息的意思是,设定虚拟网络接口的名字为“tap0”;其IP配置方式为手动;指定使用此接口的用户为“user_name”。然后要配置一个桥,同样在上述配置信息的下方添加如下内容:
auto br0
iface br0 inet dhcp
bridge_ports all tap0
此段配置信息的意思是,建立名为“br0”的桥,它获取IP的方式是通过DHCP自动获取,本机所有网络接口,包括“tap0”虚拟接口都将建立在这个桥之上。如果希望手动指定IP,可以将上面的配置信息替换成如下内容:
auto br0
iface br0 inet static
address 192.168.0.5
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
上面的配置信息设置该桥的IP为“192.168.0.5”。
将该文件保存,重新启动系统,然后在虚拟终端中输入如下命令启用此桥接网络,此命令只需执行一次:
sudo /sbin/ifup br0
sudo /sbin/ifup tap0
打开打开 VirtualBox,在列表中选中Guest系统,然后点击工具栏上的“设置”->“网络”,在列出的几个网络适配器中随便选择一个,一般只用一个“网络适配器0”,点选“启用网络适配器”;然后在“连接到”后的下拉列表中选择“Host Interface”,同时确保“接入网线”处于选中状态;然后在“主机网络界面名称”中填写“tap0”;其余的不用管。点“确定”后启动Guest,设置系统的IP为自动获取即可使桥接网络生效了。
这段看个人自己的虚拟机版本了,我的设置截图如下:
设置好后就可以Ping通了,下图主机和虚拟机互相Ping通:
注意:XP下要是ping通的话得关掉防火墙先。
互相Ping通后可以搭建相应的服务器通信啦,怎么配置就先不写了,还再学习中……TFTP,SAMBA。。