当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 5 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 这网络怎么配置 [半完美解决]
帖子发表于 : 2010-09-14 3:11 
头像

注册: 2008-07-30 23:21
帖子: 13424
地址: freebuilder@yeah.net
系统: Debian stable AMD64
送出感谢: 38
接收感谢: 126
-net tap 只能一台虚拟机接一个虚拟网卡,而且各虚拟机不能在同一网段,否则除第一台,其它虚拟机无法连接任何网络,虚拟机直接也不能互通。
我想要的是下面的效果,n 台虚拟机在一个网段下,用虚拟交换机连接,主机用一虚拟网卡与该虚拟网络连接。如同 VMware 的 NAT (Windows 主机,Linux 不清楚)。诸位大侠!怎么搞阿?
------------------------------------------------
由于网上流传文章的局限性以及 debian 文档本身的落后性,害实验了很多次 :em20
还好终于找到可行方法了 :em05
--------------------------------------------------
深夜再次修改,倾情奉献,附最终脚本。
附件:
tap0vde.sh.gz [367 Bytes]
被下载 7 次

代码:
aptitude install -R vde2

vi /etc/network/tap0vde.sh {
#!/bin/sh

TAPNAME=tap0
TAPMAC=52:53:00:00:00:01
VDEDIR="/var/run/${TAPNAME}vde"
VDEGROUP=vde2-net
NETWORK=192.168.10.0

case "$1" in
  up)
    vde_tunctl -t $TAPNAME
    ip link set dev $TAPNAME address $TAPMAC
    mkdir -p "$VDEDIR"
    vde_switch -s "$VDEDIR" -t $TAPNAME -g $VDEGROUP -m 660 \
      --mgmt "${VDEDIR}/mgmt" --mgmtgroup $VDEGROUP --mgmtmode 660 --daemon
    slirpvde -s "$VDEDIR" -n $NETWORK --dhcp -g $VDEGROUP -m 660 \
      -p "${VDEDIR}/slirpvde.pid" --daemon
    ;;
  down)
    kill `cat "${VDEDIR}/slirpvde.pid"`
    vdecmd -s "${VDEDIR}/mgmt" shutdown
    rm -r "$VDEDIR"
    vde_tunctl -d $TAPNAME
    ;;
esac

exit 0
}
chmod +x /etc/network/tap0vde.sh

vi /etc/network/interfaces {
auto tap0
iface tap0 inet static
   address 192.168.10.1
   netmask 255.255.255.0
   pre-up /etc/network/tap0vde.sh up
   post-down /etc/network/tap0vde.sh down
}
gpasswd -a $USERNAME vde2-net

# qemu 启动参数
-net nic,macaddr=XX:XX:XX:XX:XX:XX -net vde,sock=/var/run/tap0vde/
# 要创建 n 台虚拟机的,必须指定 MAC

一些问题:
interfaces 文件中,pre-up 之类语句,多条时,执行顺序不确定,所以我不得不将其写如单独文件中,之用一条语句调用。
对于虚拟交换机命令名也是五花八门,vde-switch、vde2-switch、vde2_switch 等,我的机器是 vde_switch ,请注意检查。
/etc/network/if-*.d/ 下面的脚本会被多次执行,没操作一个设备就要执行一次,过去只有 lo 和 eth0 时是两次,现在是三次。所以没事最好不要往里面挤。
vde_switch 默认目录,根账户是 /var/run/vde.ctl 而非文档所说 /var/run/vde2 ,且不可运行多次,否则必须手动指定路径。非根账户为 /tmp/vde.ctl 运行多次亦需手动指定。另外,不知 /var/run/vde2 是否有其它用途,所以我干脆不用,而是用了自定义目录。
tap0 的 MAC 随机,tunctl 中也没发现能指定的选项。
vde_tunctl 执行会自动载入 tun 模块,故无须特别在 /etc/modules 中指定。
非根账户可启动 vde_switch 创建虚拟交换机,也可用 slirpvde 创建虚拟路由等,n 台虚拟机可连内网,可出外网,ping 不同外网,但 ftp/http 等无误。唯独不能和主机联网,要和主机连接只能虚拟网卡,偏偏虚拟网卡要根账户,连接虚拟网卡的虚拟交换机也必须要根账户。好在连接根账户创建的虚拟交换机的虚拟机不用根账户,--group vde2-net --mode 660 指定就行了。
----------------------------------------------------
上述方案已过期,最新方案已合并到 squeeze 安装日志。


附件:
1.png
1.png [ 18.39 KiB | 被浏览 438 次 ]



_________________
(2015-11-16 更新)适合 WM 的截图脚本
(2015-08-24 更新)Debian、Ubuntu 源列表说明
(2013-02-01 首发)文字如何绘出
▷▷ 【更 多 在 此】 ◁◁
箪食瓢饮随遇安,不求栋梁求参天。
【初韵】一门牛逼的编程语言。


最后由 自由建客 编辑于 2012-01-08 17:44,总共编辑了 5 次
页首
 用户资料  
 
2 楼 
 文章标题 : Re: 这网络怎么配置
帖子发表于 : 2010-09-14 19:53 
头像

注册: 2008-04-07 17:36
帖子: 4010
地址: 泰安人在阜新
送出感谢: 0 次
接收感谢: 0 次
Virtualbox 吗?


_________________
宇宙数学物理 sssssssss Ubuntu 桌面培训 sssssssss 问打包的问题之前先看
和我一样的新手请看,我看过了,腰不酸了,腿不疼了,上楼也有劲了
想去IRC的点这里——一个比QQ群好N多的东西


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 这网络怎么配置
帖子发表于 : 2010-09-14 20:24 
头像

注册: 2007-11-25 13:29
帖子: 7158
地址: 新疆博乐
系统: 14.04/16.04/Fedroa22
送出感谢: 35
接收感谢: 98
虚拟机用桥接上网方式,不用 nat,然后设置固定IP


附件:
Screenshot-winxp1 - 设置.png
Screenshot-winxp1 - 设置.png [ 37.39 KiB | 被浏览 416 次 ]



_________________
===新手请看===
Ubuntu 安装 | Ubuntu12.04/14.04/16.04 桌面操作指南
··Ubuntu16.04 安装图文教程(超简单)
····有时间就静下心来——折腾:)
页首
 用户资料  
 
4 楼 
 文章标题 : Re: 这网络怎么配置
帖子发表于 : 2010-09-14 21:30 
头像

注册: 2008-04-07 17:36
帖子: 4010
地址: 泰安人在阜新
送出感谢: 0 次
接收感谢: 0 次
如果是要作虚拟网络实验

就选择上图 的 internal

然后,不同的网络输入不一样的名称


_________________
宇宙数学物理 sssssssss Ubuntu 桌面培训 sssssssss 问打包的问题之前先看
和我一样的新手请看,我看过了,腰不酸了,腿不疼了,上楼也有劲了
想去IRC的点这里——一个比QQ群好N多的东西


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 这网络怎么配置
帖子发表于 : 2010-09-17 13:15 
头像

注册: 2008-07-30 23:21
帖子: 13424
地址: freebuilder@yeah.net
系统: Debian stable AMD64
送出感谢: 38
接收感谢: 126
解决问题,顶一下!


_________________
(2015-11-16 更新)适合 WM 的截图脚本
(2015-08-24 更新)Debian、Ubuntu 源列表说明
(2013-02-01 首发)文字如何绘出
▷▷ 【更 多 在 此】 ◁◁
箪食瓢饮随遇安,不求栋梁求参天。
【初韵】一门牛逼的编程语言。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 5 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译