VirtualBox下的GUESS系统一直都是以NAT方式上网,这对于局域网的分机想访问虚拟机下的系统一直都不方便。通过网上流行的Bridge方式是可以解决局域网问题,但也有同样的问题出现:
1、每次重启后都要再运行一次,即使你做成SHELL,但也是要运行
2、VirtualBox下的GUESS系统是连入了网络,而且也可以通过DHCP或手动IP上网,但问题出现在HOST那里,变成了主机自己不能上网!
网上流行的Bridge方案如下:
代码: 全选
步骤如下: (以下命令均用root用户执行)
1. 安装uml-utilities和bridge-utils和,这两个工具分别含有tunctl和brctl命令
apt-get install uml-utilities bridge-utils
2. 生成一个新的TAP接口
tunctl -t tap1 -u
这里是你想用bridge联网方式启动VirtualBox的那个用户的用户名
比如我的是: tunctl -t tap1 -u 4studio
3. 生成一个叫做br0的bridge
brctl addbr br0
4. 把你的真实网卡设成promiscuous模式,使得它能够接收发送到别的MAC地址的帧
ifconfig eth0 0.0.0.0 promisc
5. 把你的真实网卡加到bridge br0的一端
brctl addif br0 eth0
6. 把你的真实网卡的配置设置到br0上, 比如我的eth0的ip地址是192.168.1.60
ifconfig br0 192.168.1.60
如果你的是通过DHCP配置的,则执行dhclient br0即可
7. 把上面生成的TAP接口加到 bridge br0的另一端
brctl addif br0 tap1
8. 激活TAP
ifconfig tap1 up
9. 设置/dev/net/tun的读写权限
chmod 0666 /dev/net/tun
经过以上几步之后,在你的guest系统启动之前,将它的Network的Adapter0设成
HostInterface,然后Interface Name那一栏天上tap1
启动guest系统,在该系统中,将你的ip地址设成跟Host系统的eth0在一个局域网就可以了
方法如下:
代码: 全选
代码:
sudo apt-get install uml-utilities
sudo apt-get install bridge-utils
将4studio加到uml-net组(4studio是我的用户名,要改成你的用户名)
代码:
sudo gpasswd -a 4studio uml-net
修改interfaces文件
代码:
sudo gedit /etc/network/interfaces
在前面加入
代码:
auto br0
iface br0 inet dhcp
bridge_ports eth0
保存退出编辑。
重启网络:
代码:
sudo /etc/init.d/networking restart
并
代码:
sudo VBoxAddIF vbox0 4studio br0
好像到了这步后,要重新启动系统。
虚拟机网络设置
网络适配器0
Host interface
主机网络界面名称
vbox0
然后客户机手动设置一下跟HOST机的同一网段就行了。