我正在读“人桥”,它是这样写的:
bridge vlan { add | del } dev DEV vid VID [ pvid ] [ untagged ] [ self ] [ master ]
“自我”和“主”选项有什么用?
男人说:
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”适用于“br0.10”等虚拟接口,让网桥(br0)知道接收到的帧可以用于它。正确的?
答案1
是的,自我是为了桥梁。 VLAN 被分配给桥接接口。
master 用于从属于桥接口的接口。您无需声明关键字 master,因为它是默认值。
创建桥梁
/ # ip link add br0 type bridge vlan_filtering 1
/ # ip link set br0 up
/ # bridge vlan
port vlan ids
br0 1 PVID Egress Untagged
添加 VLAN
/ # bridge vlan add dev br0 vid 10 self
/ # bridge vlan add dev br0 vid 20 self
/ # bridge vlan add dev br0 vid 30 self
/ #
/ # bridge vlan
port vlan ids
br0 1 PVID Egress Untagged
10
20
30
将 eth 接口添加为桥接的从接口
/ # ip link set eth0 master br0
/ # ip link set eth1 master br0
/ # ip link set eth2 master br0
/ # bridge vlan
port vlan ids
eth0 1 PVID Egress Untagged
eth1 1 PVID Egress Untagged
eth2 1 PVID Egress Untagged
br0 1 PVID Egress Untagged
10
20
30
从接口中清除默认 VLAN
/ # bridge vlan del dev eth0 vid 1
/ # bridge vlan del dev eth1 vid 1
/ # bridge vlan del dev eth2 vid 1
/ # bridge vlan
port vlan ids
eth0 None
eth1 None
eth2 None
br0 1 PVID Egress Untagged
10
20
30
将必要的 VLAN 添加到端口
/ # bridge vlan add dev eth0 vid 10 pvid untagged master
/ # bridge vlan add dev eth1 vid 20 pvid untagged master
/ # bridge vlan add dev eth2 vid 30 pvid untagged
/ # bridge vlan
port vlan ids
eth0 10 PVID Egress Untagged
eth1 20 PVID Egress Untagged
eth2 30 PVID Egress Untagged
br0 1 PVID Egress Untagged
10
20
30
如您所见,我对 eth0 和 eth1 使用了 master 关键字,但没有对 eth2 使用了 master 关键字,并且它没有改变结果。