linux网桥支持vlan filtering过滤功能后,咱们不仔再须要经过子接口的形式进行vlan划分,简化了vlan配置。linux
1. bridge vlan说明
man bridge能够了解到,linux经过以下命令进行vlan filtering的配置:shell
bridge vlan { add | del } dev DEV vid VID [ pvid ] [ untagged ] [ self ] [ master ]
选项说明:ubuntu
pvid:端口的默认vlan,全部从该端口输入的没有携带vlan的报文,会被打上该vlan标签,该选项只对输入报文有效。ui
untagged:端口的untag vlan,输出报文携带该vlan时,会被剥离。code
通常状况下pvid和untagged是同时使用的,对应于cisco的switchport trunk native vlan接口
selfip
masterci
这两个选项在帮助手册上是这么解释的:terminal
self the vlan is configured on the specified physical device. Required if the device is the bridge device.
master the vlan is configured on the software bridge (default).
个人理解是:self表示该vlan是添加再bridge设备上的,并且给桥添加vlan时必须且只能携带该选项,不然会报错:it
ubuntu@VM-126-137-ubuntu:~$ sudo ip link add Bridge up type bridge vlan_filtering 1
ubuntu@VM-126-137-ubuntu:~/bgp-lab$ sudo bridge vlan add vid 100 dev Bridge self
ubuntu@VM-126-137-ubuntu:~/bgp-lab$
ubuntu@VM-126-137-ubuntu:~/$ sudo bridge vlan add vid 100 dev Bridge master
RTNETLINK answers: Operation not supported
ubuntu@VM-126-137-ubuntu:~/$ sudo bridge vlan add vid 100 dev Bridge
RT