- 论坛徽章:
- 22
|
本帖最后由 GB_juno 于 2015-06-04 08:48 编辑
上面之所以说虚拟化环境下看到的基本是1bridge1个vlan,主要就是因为这样做才能够做到模拟现实中的物理机。最典型的例子可以参考下面的openstack vlanmanager的模式:这个模式是在neutron没有出现之前的nova-network模式中的一种,但这种方式在redhat rhev等企业虚拟化软件开始阶段就这么用的:
http://www.mirantis.com/blog/vlanmanager-network-flow-analysis/
另外,1 vm 1 bridge n vlan比较复杂。
举个例子比如说vm的网卡tap桥接到br0上,br0上面有eth0.200,eth0.300,那么vm的网卡就是同时跨了2个vlan,无论是vlan200/300的packet(packet目标ip是vm)到达主机时都会进行解包并送到vm里面,但是这里有一个缺陷就是vlan200和vlan300之间的隔离其实就作废了(为什么会作废呢?问题1来了),所以除非特殊用途一般不会这么使用
你问题中问的网卡tag0我不清楚是什么类型的网卡,如果是tap类型(vm网卡就是tap类型),这个网卡是没有vlan,就相当于物理网卡一样,谈不上属于哪个vlan。bridge是没有所谓的port的说法,bridge只能用来做交换,vlan的实现由vlan nic(eth0.100这样的)实现。
因此要想在linux中模拟交换机,那么就必须要使用vlan nic+bridge来做,bridge用来交换,vlan nic进行隔离。
说了这么多,其实还是先看看基础知识,看了之后你就会对1vm 1bridge n vlan的用法了解了
http://www.ibm.com/developerworks/cn/linux/1310_xiawc_networkdevice/index.html
http://www.ibm.com/developerworks/cn/linux/1312_xiawc_linuxvirtnet/
最后,给你问题2去思考:
物理网卡eth0接交换机端口,该端口已经配置trunk(native vlan,100,200),已有eth0.100,eth0,200,br0,vm有网卡tap0;执行下面的命令
brctl addbr br0
brctl addif br0 tap0
brctl addif br0 eth0.100
brctl addif br0 eth0.200
如果brctl中把eth0也加到网桥里面,那么会怎么样呢?这样会跟上面模拟路由器的一样吗?确认这样会正常工作吗?
brctl addif br0 eth0
这个问题有答案.
说了那么多,好久没这样了..唉,或许就是无聊了点
|
|