博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

ypxing

学而不思则罔,思而不学则殆

见贤思齐焉,见不贤而内自省也

人不知而不愠,不亦君子乎?

   ypxing.cublog.cn
关于作者  
姓名:星云鹏 (Yunpeng Xing)
职业:IT相关
年龄:28
位置:北京
个性介绍:
Love me, feed me, 
never leave me.
失败只有一种, 那就是半途而废

我的分类  




Ubuntu下配置VirtualBox的bridge上网方式
这种方式的优点是:外部主机可以直接访问guest系统

步骤如下: (以下命令均用root用户执行)
1. 安装uml-utilities和bridge-utils和,这两个工具分别含有tunctl和brctl命令

   apt-get install uml-utilities bridge-utils

2. 生成一个新的TAP接口

   tunctl -t tap1 -u <username>

这里<username>是你想用bridge联网方式启动VirtualBox的那个用户的用户名
比如我的是: tunctl -t tap1 -u ypxing

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.168.60

   ifconfig br0 192.168.168.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在一个局域网就可以了

参照了VirtualBox的官方手册

 发表于: 2007-04-28,修改于: 2007-05-08 13:06 已浏览3876次,有评论12条 推荐 投诉

  网友评论
  本站网友 时间:2007-05-08 11:09:21 IP地址:221.196.80.★
我按您的方法试了一试,您的第9步中好像是写错的,应该是/dev/net下才有tun,/etc中根本就没有net目录,也没有tun文件。VBOX中也有此提示,是应该在/dev/net下。

  本站网友 时间:2007-05-08 12:53:42 IP地址:221.196.80.★
还是我,完全按照您的方法试了一下,失败。

  ypxing 时间:2007-05-08 13:04:03 IP地址:159.226.42.★
不好意思,是写错了
应是chmod 0666 /dev/net/tun

  ypxing 时间:2007-05-08 13:07:06 IP地址:159.226.42.★
你再试一下,有错误的话告诉我是哪一步有问题,
我看看是否可以帮你解决

  bierdaci 时间:2007-05-31 21:26:28 IP地址:222.175.212.★
为什么我的virtualbox安装winxp的时候一到安装网络那里就停住了?

  ypxing 时间:2007-05-31 23:56:43 IP地址:210.77.3.★
我是在ubuntu下安装的winxp,没遇到什么问题
你先禁用virtualbox的网络,再安装试试

  本站网友 时间:2007-07-18 21:19:55 IP地址:218.18.205.★
执行完
   ifconfig eth0 0.0.0.0 promisc
这句之后
host立即不能上网,其他步骤照做,还是失败,盼博主解答

  ypxing 时间:2007-07-18 22:36:08 IP地址:210.77.2.★
执行一下route -n,把结果贴出来

  本站网友 时间:2007-07-18 22:48:21 IP地址:218.18.205.★
奇怪,又好了,谢谢,这个可行

  Jack 时间:2007-08-06 09:37:26 IP地址:218.20.60.★
你好,我按照文章中的进行了配置,Guest可以访问Host以及外网,但是Host不能访问Guest,不知道是怎么回事?
我的route -n后的信息如下:
内核 IP 路由表
目标            网关            子网掩码        标志  跃点   引用  使用 接口
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 br0
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth1
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 br0
0.0.0.0         0.0.0.0         0.0.0.0         U     1000   0        0 eth1
其中eth1是无线网卡,我现在没有使用。我的Guest的地址是192.168.1.99,Host的地址是192.168.1.104。
谢谢!

  本站网友 时间:2007-08-06 17:28:12 IP地址:159.226.42.★
运行下面的命令试试
route del -net 0.0.0.0 netmask 0.0.0.0 dev eth1

用你的主机ping一下别的机器试一下

  Jack 时间:2007-08-08 09:26:52 IP地址:219.137.110.★
各位大侠,是我自己的问题,我的XP虚拟机上开了防火墙,呵呵,把防火墙中的ICMP配置全部打开就可以了,谢谢大家。
不过还是有点奇怪,在修改配置前,其它的WINDOWS机器可以PING通GUEST,就是我的UBUNTU主机PING不通?


  发表评论



Copyright © 2001-2006 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们
页面生成时间:0.00969

京ICP证041476号