ITKeyword,专注技术干货聚合推荐

注册 | 登录

xen上的vlan配置

w4521wang 分享于 2010-12-21

推荐:Linux xen 网桥配置

0.必须明白网桥工作在数据链路层,在eth0与eth1等之下,网桥收到数据包后根据MAC地址转发到与该网桥相连接的1或多个网卡,也就是说,如果网桥不正常工作机器就断

2019阿里云全部产品优惠券(新购或升级都可以使用,强烈推荐)
领取地址https://promotion.aliyun.com/ntms/yunparter/invite.html

终于把xen的vlan搞定了。

 

首先说一下我的需求吧

用xen做测试床,模拟一个测试环境,我负责拓扑重现这块

首先要做的就是vlan,因为目标网络环境一般是分为多个网段的,比如10.0.1.X,10.0.0.X等等

 

默认xen网络采用一个网桥的方式连接所有的domU,即所有的domU和dom0都处在同一个网段,且均可以相互ping通

我的设计是建立多个网桥,将不同网段的机器连在不同的网桥上,网桥内部可以ping通,网桥之间不能ping,这样比较接近目标网络

采用的网络方式是vlan。

查了很多资料,大该概有以下解决方案:

 

1)服务器有多快网卡,每块网卡对应建立一个网桥

http://tilt.lib.tsinghua.edu.cn/node/459

http://holy2010.blog.51cto.com/1086044/342144

http://hi.baidu.com/sdgtxuyong/blog/item/47706709c9ade0c13bc76388.html

这几篇文章方法大同小异,有效性未验证,因为我的服务器只有一块网卡。

 

2)继续使用1)中的方法,用虚拟网卡来解决问题

http://www.usidcbbs.com/read-htm-tid-2084.html

http://hi.baidu.com/woody213/blog/item/86ce49fbfe3f89ceb58f313c.html

这两篇文章都提供了方法,试了一下,bonding可以工作,eth0和eth1总是起不起来(本人菜鸟,可能是配得不对)

 

3)看来多网卡支持多网桥的方式比较困难,于是想到用vlan的方式(其实也是多网桥,早该这么做)

http://johnwang.blog.51cto.com/474770/367688

这篇文章基本说明了一切,这里重复一下我的做法

cd /etc/sysconfig/network-scripts

创建两个文件ifcfg-xenbr11和ifcfg-eth0.11,前者是网桥设备,后者是网桥对应的vlan接口,其实可以看出这个接口也是在网卡eth0上的

因为我需要至少两个网端进行测试,所以重复上面的做法,建立ifcfg-xenbr22和ifcfg-eth0.22.

[root@XenServer network-scripts]# cat ifcfg-xenbr11
DEVICE=xenbr11
BOOTPROTO=static
ONBOOT=yes
TYPE=Bridge
[root@XenServer network-scripts]# cat ifcfg-eth0.11
DEVICE=eth0.11
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
VLAN=yes
BRIDGE=xenbr11

 

修改domU的配置文件

vif = [ "mac=************,bridge=xenbr11,script=vif-bridge" ](其他字段可以不管,就把bridge字段改成xenbr11就好)

 

我所使用的拓扑是vm02(IP=10.0.1.20),vm03(IP=10.0.1.30)->xenbr11;vm04(IP=10.0.0.40),vm05(IP=10.0.0.30)->xenbr33;即vm02和vm03一个网段,vm04和vm05一个网段

 

重启dom0,brctl show的结果:

 

[root@testbed01 ~]# brctl show

推荐:libvirt配置xen网络 API

up vote 3 down vote favorite 1 I'm using Ionic to build an app for Android, and when testing from a device, the call I make using the org.apache.cordo

bridge name     bridge id               STP enabled     interfaces

eth0            8000.a4badbfd5da5       no              peth0

virbr0          8000.000000000000       yes

xenbr11         8000.a4badbfd5da5       no              eth0.11

xenbr33         8000.a4badbfd5da5       no              eth0.33

 

这里的 bridge id 就是mac地址,eth0的mac地址是真实的mac(个人觉得无关紧要)

 

一次用xm create vm02,xm create vm03……命令启动domU

brctl show的结果如下:

 

[root@testbed01 ~]# brctl show

bridge name     bridge id               STP enabled     interfaces

eth0            8000.a4badbfd5da5       no              peth0

virbr0          8000.000000000000       yes

xenbr11         8000.0a300e60401c       no              vif4.0

                                                       tap4.0

                                                         vif3.0

                                                       tap3.0

                                                         eth0.11

xenbr33         8000.86c9277207e7       no              vif2.0

                                                         tap2.0

                                                         vif1.0

                                                         tap1.0

                                                         eth0.33

 

 

vlan搭建成功

 

 

测试:vm02与vm03可以ping通,vm04与vm05可以ping通;vm02,vm03与vm04,vm05之间不能ping通;达到预期效果

 

注意:虚拟接口脚本ifcfg-eth0.11貌似不能重复,即不能有多个接口对应同一个网桥,不然可能就有问题了。打开网络配置管理器,随便操作几下,就会好,很诡异。

 

最后以下几篇资料对我的帮助也不小:

 

http://www.felipe-alfaro.org/blog/2006/07/21/xen-network-configuration-and-multiple-vlans/

http://renial.net/weblog/2007/02/27/xen-vlan

http://www.netomata.com/blog/brent_chapman/2009/02/25/36

推荐:linux vlan 配置

参考下面图例说明 |-- br-ex.11em1, em2 --建立绑定-> bond0 --建立ovs桥接-> br-ex --

终于把xen的vlan搞定了。   首先说一下我的需求吧 用xen做测试床,模拟一个测试环境,我负责拓扑重现这块 首先要做的就是vlan,因为目标网络环境一般是分为多个网段的,比如10.0.1.X,10.0.0.X

相关阅读排行


用户评论

游客

相关内容推荐

最新文章

×

×

请激活账号

为了能正常使用评论、编辑功能及以后陆续为用户提供的其他产品,请激活账号。

您的注册邮箱: 修改

重新发送激活邮件 进入我的邮箱

如果您没有收到激活邮件,请注意检查垃圾箱。