分页: 1 / 1
[问题]virtualbox中的虚拟机如何设置成想局域网中的机器一样?
发表于 : 2007-12-21 12:15
由 百草谷居士
就是说把虚拟机接入到局域网(真实的,和主机相连接的),分配一个局域网的ip地址,和主机,包括主机以外的其他机器,共同组成一个局域网,可以像真实的局域网一样方便的使用。
在vmware中可以将网络设置为 桥接 模式,从而轻松的实现这个功能。而在vbox中我已经实验了一天,也没有成功。
有没有搞成功的,参考一下?
发表于 : 2007-12-21 12:25
由 windwiny
代码: 全选
#!/bin/sh
# vim:set ft=sh:
## 2007-09 windwiny vboxbridgedrun.sh
## 使用前自行修改 id,ip,gw,eth?,br?,tap? 等相关参数,
# VirtualBox Bridging VirtualBox 实现桥接模式
## 参考 http://www.oceanboo.cn/read.php?55
# Ubuntu 里安装软件包
## sudo apt-get install uml-utilities bridge-utils
## ---------------------------------------------------------------------
function usage() {
echo -e "$RED Usage:
$GREEN sudo `basename "$0"` {start|stop} $WHITE\n"
}
if [ `id -u` -ne 0 ]; then
echo " must root can run this "
usage
exit 1
fi
. /lib/lsb/init-functions
[ -e /etc/lsb-base-logging.sh ] && . /etc/lsb-base-logging.sh || true
if [ -f ~/MYIP ] ; then
source ~/MYIP
else
IP=192.168.1.243 && NETMASK=255.255.255.0 && GW=192.168.1.1
fi
function start() {
# echo -e "$GREEN `basename "$0"` START $WHITE"
# log_begin_msg "$GREEN `basename "$0"` START $WHITE"
log_begin_msg "`basename "$0"` START"
log_end_msg 0
# Create a tap device with permission for the user running vbox
# 建立一个使用者(user)有权限的设备tap?,-u 参数为自己用户名 或 id
tunctl -t tap0 -u n1 # 不能用 `id -u`,因为使用sudo 执行时id为0
tunctl -t tap1 -u n1
tunctl -t tap2 -u n1
tunctl -t tap3 -u n1
chmod 0666 /dev/net/tun
# Bring up eth? and tap? in promiscuous mode
# 将eth?和tap?网卡界面设为混杂模式(Promiscuous)
ifconfig eth0 0.0.0.0 promisc
ifconfig tap0 0.0.0.0 promisc
ifconfig tap1 0.0.0.0 promisc
ifconfig tap2 0.0.0.0 promisc
ifconfig tap3 0.0.0.0 promisc
# Create a new bridge and add the interfaces to the bridge.
# 建立新的桥接界面(bridge),並把 eth?, tap? 加入bridge
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 tap0
brctl addif br0 tap1
brctl addif br0 tap2
brctl addif br0 tap3
# 下面是两种获取IP的方式,可以自由选择,把不需要的注释掉就好了。
# 将bridge设成静态IP。XXX都分别对应IP、子网掩码、网关。
ifconfig br0 $IP netmask $NETMASK up
route add default gw $GW
# 将bridge设成动态DHCP分配IP。
# dhclient br0
}
function stop() {
# echo -e "$GREEN `basename "$0"` STOP $WHITE"
# log_begin_msg "$GREEN `basename "$0"` STOP $WHITE"
log_begin_msg "`basename "$0"` STOP"
log_end_msg 0
## 刪除 tap?
tunctl -d tap0
tunctl -d tap1
tunctl -d tap2
tunctl -d tap3
##
## 停止 br?
ifconfig br0 down
## 将 tap?, eth? 移出bridge
brctl delif br0 eth0
brctl delif br0 tap0
brctl delif br0 tap1
brctl delif br0 tap2
brctl delif br0 tap3
## 刪除 br?
brctl delbr br0
##
## 自定义恢复IP地址,默认网关
ifconfig eth0 $IP netmask $NETMASK up
route add default gw $GW
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
usage
exit 1
;;
esac
exit 0
sudo vbox.sh start / stop
发表于 : 2007-12-22 16:26
由 百草谷居士
我的宿主机是windows2000 server,虚拟机是ubuntu7.10。
发表于 : 2007-12-22 16:36
由 晶晶守护神
如果是你无线网卡 现在还不行~~~建立 好了 也上不了网的
发表于 : 2007-12-22 16:42
由 hubert_star
而且桥接网络有时表现确实也不好,尤其是你要经常换网络的情况下
发表于 : 2007-12-23 9:27
由 sevk
2楼的东东不错,收藏了.
发表于 : 2007-12-24 8:16
由 百草谷居士
windows2000server,好像无法建立桥接,怎么办呢?
发表于 : 2008-01-02 10:59
由 百草谷居士
顶一下。
在windows2000server下真的无解吗?
发表于 : 2008-01-02 15:45
由 ljj_jjl2008
发表于 : 2008-01-02 22:02
由 百草谷居士
谢谢楼上的XD
不过我的宿主机是windows2000server,你的宿主机是ubuntu,现在我的问题是如何 在windows2000server下实现桥接,而不是如何在ubuntu下实现桥接。
发表于 : 2008-01-03 10:43
由 ljj_jjl2008
那更好办,先在虚拟机设置里面网络链接模式上选择桥接,然后点击一个带+号的按钮建立一个虚拟网卡,会出现安全提示说什么没有通过安全认证,点继续安装,然后到网上邻居上右击,选配置网络,在里面把两个网卡都选择上,右击,菜单里面有建立网桥,最后需要设置网桥的DNS等。
发表于 : 2008-01-06 8:52
由 百草谷居士
呵呵,在windows xp上或者windows2003上有建立网桥的选项,在windows2000上是没有的。