[问题]VirtualBox实现桥接模式

Kvm、VMware、Virtualbox、Xen、Qemu 等
回复
头像
SecretZero
帖子: 1670
注册时间: 2007-08-30 5:39

[问题]VirtualBox实现桥接模式

#1

帖子 SecretZero » 2008-03-03 3:40

原帖http://www.oceanboo.cn/read.php?55
一般而言,安装完VirtualBox设定网路时选择默认的NAT模式,Guest就可顺利联网了,但是这种方式比较死板,要作更有弹性的变化,应该采用桥接模式(Bridged),这里的桥接模式就如同VMware中的Bridged模式,Host与Guest在局域网(LAN)中的地位是相等的。

网上很多文章,包括VirtualBox自己的帮助文档都有为VirtualBox设置桥接模式的教程,但是基本上都是写Host和Guest都采用dhcp的方式来获取IP,但是在我的环境中,必须要设置自己的静态IP,所以最后有一些稍微不一样。

下面我在Ubuntu7.04下设定VirtualBox中Host Networking为桥接模式的过程, 桥接模式可以使Host OS 和Guest OS在区域网路中处于平行地位。

安装所需工具uml-utilities,bridge-utils
sudo apt-get install uml-utilities bridge-utils


首先为Host OS建立桥接界面(Bridge)和虚拟网卡设备(tap device),这样作的原故,是使将来取得IP是由桥接界面(bridge),而不是由ethx(真实的有线网卡)或tapx(虚拟网卡)来取得IP。

将下面的文本保存成文件,有需要按自己的情况修改一两个地方。存为在/etc/init.d/vboxbridgedrun
sudo gedit /etc/init.d/vboxbridgedrun

引用
# VirtualBox Bridging

# Create a tap device with permission for the user running vbox
# 建立一个使用者(user)有权限的设备tap0,{user}为自己用户名
tunctl -t tap0 -u {user}
chmod 0666 /dev/net/tun

# Bring up ethX and tapX in promiscuous mode
# 将ethx和tapx网卡界面设为混杂模式(Promiscuous)
ifconfig eth0 0.0.0.0 promisc
ifconfig tap0 0.0.0.0 promisc

# Create a new bridge and add the interfaces to the bridge.
# 建立新的桥接界面(bridge),並把 eth0, tap0加入bridge
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 tap0

# 下面是两种获取IP的方式,可以自由选择,把不需要的注释掉就好了。
# 将bridge设成静态IP。XXX都分别对应IP、子网掩码、网关。
ifconfig br0 XXX.XXX.XXX.XXX netmask XXX.XXX.XXX.XXX up
route add default gw XXX.XXX.XXX.XXX
# 将bridge设成动态DHCP分配IP。
#dhclient br0

给上面的文件加上可执行权限
sudo chmod +x /etc/init.d/vboxbridgedrun

然后再建立一个可执行文件,添加如下内容。
sudo gedit /etc/init.d/vboxbridge

引用
/etc/init.d/vboxbridgedrun &

sudo chmod +x /etc/init.d/vboxbridge

最后在/etc/rc2.d目录下做一个指向/etc/init.d/vboxbridge的链接
cd /etc/rc2.d/
sudo ln -sf ../init.d/vboxbridge S999vboxbridge #取名S999开头是为了让它最后启动


重新启动电脑之后,现在可以在VirtualBox的Guest OS网路设定画面中,将attached to的选项中选择host interface,interface name选项中设为tap0。

这样就完成Virtualbox桥接网路模式的设定了,马上启动Guest吧 ! Guest的网路设定和Host是独立平行的。

PS:实用小指令
刪除 tap0
tunctl -d tap0

刪除 br0
ifconfig br0 down
brctl delbr br0

将tap0, eth0 移出bridge(br0)
brctl delif br0 tap0
brctl delif br0 eth0
我是想实现这个效果:通过rdesktop在Ubuntu下运行原生IE、QQ等
http://linuxdesktop.cn/2007/06/11/use-r ... -on-ubuntu

但是我桥接失败,求论坛上得高手试试。桥接得方法有问题吗?
深度,值得深入!
http://bbs.deepin.org/?u=348684

最新的综艺魔法相册
http://www.77studio.net/?fromuid=344
头像
百草谷居士
帖子: 3918
注册时间: 2006-02-10 16:36
系统: Mint21.1/Deepin20.8

#2

帖子 百草谷居士 » 2008-03-03 11:23

你可以参考下面的帖子,另外vbox的帮助也是很好 。

viewtopic.php?t=97975
debian 12 / 深度系统 20.9 / Mint 21.3

为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
bosskey
帖子: 1
注册时间: 2008-03-25 21:46

#3

帖子 bosskey » 2008-03-30 16:43

楼主, 我通过你的介绍顺利桥接上了VBOX,谢谢!

那个通过rdesktop在ubuntu上运行原生WINDOWS文件也实现了,开了QQ,不过好像是没有声音的。

是我没弄好,还是本来就实现不了声音?
zhcxc
帖子: 32
注册时间: 2008-11-02 17:35

Re: [问题]VirtualBox实现桥接模式

#4

帖子 zhcxc » 2009-01-17 11:10

我试试
头像
yaska
帖子: 1169
注册时间: 2007-10-28 21:35

Re:

#5

帖子 yaska » 2009-01-17 11:38

bosskey 写了:楼主, 我通过你的介绍顺利桥接上了VBOX,谢谢!

那个通过rdesktop在ubuntu上运行原生WINDOWS文件也实现了,开了QQ,不过好像是没有声音的。

是我没弄好,还是本来就实现不了声音?
我也用过 rdesktop,用暴风影音看电影。
回复