拓扑结构
image.png
交换机配置
# ip link add name br0 type bridge
# ip link add name veth11 type veth peer veth12
# ip link set veth11 master br0
# ip addr add 192.168.0.1/24 dev br0
# ip link set veth11 up
# ip link set veth12 up
# ip link set br0 up
添加namespace ns1和ns2
# ip netns add ns1
# ip netns add ns2
# ip netns add ns3
# ip netns exec ns1 ip link set lo up
# ip netns exec ns2 ip link set lo up
# ip netns exec ns3 ip link set lo up
Bridge 所有的端点都直接连接在一起
VEPA 虚拟以太网端口聚合器模式。在同一物理接口上的不同macvlan接口之间的数据通过物理接口传输。macvlan接口之间通信需要交换机支持发夹( hairpin)模式,或者有一个路由器来转发。macvlan的缺省模式为VEPA
Private 不允许同一物理接口上的macvlan实例之间通信,即使外部交换机支持发夹( hairpin)模式。
passthru [nopromisc] -这种模式给单个端点更多的能力,通常在macvtap模式。不允许在同一物理接口上有一个以上的端点。所有流量将被转发到这个端点,从而允许virtio来宾更改MAC地址或设置混杂模式,以便在接口上架桥或在其上创建vlan接口。默认情况下,此模式强制底层接口进入混杂模式。传递nopromisc标志可以防止这种情况发生,因此可以使用标准工具控制promisc标志。
Source-允许一个允许的mac地址列表,这是用来匹配源mac地址从接收帧在底层‐ing接口。这允许创建基于mac的VLAN关联,而不是基于标准端口或标签。这个特性对于部署基于802.1xmac的行为很有用,因为底层接口的驱动程序不允许这样做。
1、bridge模式
Macvlan之间都通
广播洪泛到所有接口
与父接口不通
父接口down,macvlan接口也会down
添加macvlan link veth12.1和veth12.2
# ip link add veth12.1 link veth12 type macvlan mode bridge