[问题]virtualbox中的虚拟机如何设置成想局域网中的机器一样?

Kvm、VMware、Virtualbox、Xen、Qemu 等
回复
头像
百草谷居士
帖子: 3918
注册时间: 2006-02-10 16:36
系统: Mint21.1/Deepin20.8

[问题]virtualbox中的虚拟机如何设置成想局域网中的机器一样?

#1

帖子 百草谷居士 » 2007-12-21 12:15

就是说把虚拟机接入到局域网(真实的,和主机相连接的),分配一个局域网的ip地址,和主机,包括主机以外的其他机器,共同组成一个局域网,可以像真实的局域网一样方便的使用。
在vmware中可以将网络设置为 桥接 模式,从而轻松的实现这个功能。而在vbox中我已经实验了一天,也没有成功。
有没有搞成功的,参考一下?
debian 12 / 深度系统 20.9 / Mint 21.3

为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
头像
windwiny
帖子: 2254
注册时间: 2007-03-13 17:26

#2

帖子 windwiny » 2007-12-21 12:25

代码: 全选

#!/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
头像
百草谷居士
帖子: 3918
注册时间: 2006-02-10 16:36
系统: Mint21.1/Deepin20.8

#3

帖子 百草谷居士 » 2007-12-22 16:26

我的宿主机是windows2000 server,虚拟机是ubuntu7.10。
debian 12 / 深度系统 20.9 / Mint 21.3

为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
头像
晶晶守护神
帖子: 705
注册时间: 2007-12-02 14:09

#4

帖子 晶晶守护神 » 2007-12-22 16:36

如果是你无线网卡 现在还不行~~~建立 好了 也上不了网的
悟以往之不鉴,知来者之可追
识迷途其未远 觉今是而昨非
头像
hubert_star
论坛版主
帖子: 5373
注册时间: 2007-10-29 22:12
系统: OSX 10.9 + Ub 1304
来自: 江苏南京

#5

帖子 hubert_star » 2007-12-22 16:42

而且桥接网络有时表现确实也不好,尤其是你要经常换网络的情况下
佛经说,人有八苦: 生、老、病、死、求不得、怨憎、爱别离、五阴盛 故我苦!
圣经说,人有七罪: 饕餮、贪婪、懒惰、淫欲、傲慢、嫉妒和暴怒  故我有罪!

我这篇帖子里面没有任何攻击我们伟大的中华人民共和国政府和任劳任怨的人民公仆(和本论坛高素质的版主)的文字和含义;

特此声明!

有些事,我们明知道是错的,也要去坚持,因为不甘心;有些人,我们明知道是爱的,也要去放弃,因为没结局;有时候,我们明知道没路了,却还在前行,因为习惯了。

欢迎来我的新浪微博@me
头像
sevk
帖子: 2060
注册时间: 2007-05-08 16:26
系统: arch
来自: 火星内核某分子内某原子核内
联系:

#6

帖子 sevk » 2007-12-23 9:27

2楼的东东不错,收藏了.
笔记本 :
F208S : gentoo
A460P i3G D6 : UBUNTU + WIN7
UN43D1 : UBUNTU + WIN7
1000人超级QQ群 LINUX + WIN : 31465544 或 18210387
头像
百草谷居士
帖子: 3918
注册时间: 2006-02-10 16:36
系统: Mint21.1/Deepin20.8

#7

帖子 百草谷居士 » 2007-12-24 8:16

windows2000server,好像无法建立桥接,怎么办呢?
debian 12 / 深度系统 20.9 / Mint 21.3

为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
头像
百草谷居士
帖子: 3918
注册时间: 2006-02-10 16:36
系统: Mint21.1/Deepin20.8

#8

帖子 百草谷居士 » 2008-01-02 10:59

顶一下。
在windows2000server下真的无解吗?
debian 12 / 深度系统 20.9 / Mint 21.3

为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
头像
ljj_jjl2008
论坛版主
帖子: 14255
注册时间: 2007-09-16 8:29

#9

帖子 ljj_jjl2008 » 2008-01-02 15:45

参考我的设置,我设置成功了。
viewtopic.php?t=89163
头像
百草谷居士
帖子: 3918
注册时间: 2006-02-10 16:36
系统: Mint21.1/Deepin20.8

#10

帖子 百草谷居士 » 2008-01-02 22:02

谢谢楼上的XD
不过我的宿主机是windows2000server,你的宿主机是ubuntu,现在我的问题是如何 在windows2000server下实现桥接,而不是如何在ubuntu下实现桥接。
debian 12 / 深度系统 20.9 / Mint 21.3

为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
头像
ljj_jjl2008
论坛版主
帖子: 14255
注册时间: 2007-09-16 8:29

#11

帖子 ljj_jjl2008 » 2008-01-03 10:43

那更好办,先在虚拟机设置里面网络链接模式上选择桥接,然后点击一个带+号的按钮建立一个虚拟网卡,会出现安全提示说什么没有通过安全认证,点继续安装,然后到网上邻居上右击,选配置网络,在里面把两个网卡都选择上,右击,菜单里面有建立网桥,最后需要设置网桥的DNS等。
头像
百草谷居士
帖子: 3918
注册时间: 2006-02-10 16:36
系统: Mint21.1/Deepin20.8

#12

帖子 百草谷居士 » 2008-01-06 8:52

呵呵,在windows xp上或者windows2003上有建立网桥的选项,在windows2000上是没有的。
debian 12 / 深度系统 20.9 / Mint 21.3

为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
回复