我知道如何使用 创建桥brctl
,但有人建议我不要再使用它,而是使用iproute2
orip
代替(因为brctl
可能已被弃用)。假设这是个好建议,我如何使用创建一座桥ip
?例如,假设我想桥接eth0
和eth1
。
答案1
您可以使用bridge
object ipip
命令,或者bridge
使命令成为包的一部分iproute2
。
基本链接操作
要创建名为 的桥br0
,其成员为eth0
和eth1
:
ip link add name br0 type bridge
ip link set dev br0 up
ip link set dev eth0 master br0
ip link set dev eth1 master br0
要从网桥中删除接口:
ip link set dev eth0 nomaster
最后,在没有接口成为成员后销毁桥:
ip link del br0
转发操纵
操纵桥的其他方面,如 FDB(转发数据库)我建议你看一下bridge(8)
命令。例子:
显示转发数据库br0
bridge fdb show dev br0
禁用端口( eth0
) 的处理BPDU。这将使接口过滤任何传入的 bpdu
bridge link set dev eth0 guard on
环境直通式处理成本到一个端口(eth1
例如):
bridge link set dev eth1 cost 4
在 eth1 上设置根保护:
bridge link set dev eth1 root_block on
成本是根据一些因素计算的,链接速度就是其中之一。使用修复成本并禁用 BPDU 处理并启用 root_block 在某种程度上类似于guard-root
交换机的功能。
其他功能,如 vepa、veb 和簪bridge link
模式可以在子命令列表中找到。
VLAN 规则操作
桥命令中的对象vlan
将允许您在桥上创建入口/出口过滤器。
要显示是否有任何 VLAN 入口/出口过滤器:
bridge vlan show
向给定接口添加规则:
bridge vlan add dev eth1 <vid, pvid, untagged, self, master>
删除规则。使用与vlan add
命令末尾相同的参数来删除特定规则。
bridge vlan delete dev eth1
相关内容:
答案2
相当于.brctl show
bridge link
您可以显示每个设备的网桥状态,bridge link show dev eth0
但bridge
查看网络接口并告诉您它属于哪个网桥 - 而不是哪些网络接口属于某个网桥。
好像没有对应的brctl show br0
。不过,您可以使用 grep 得到类似的东西:
ip link | grep "master br0"
答案3
由于我的水平很低,无法对多米尼克的帖子发表评论并做出贡献,今天我们就在那里拥有该命令。它是:
ip link show master <bridge name>
HTH。
PS:还发现“组”配置的美妙之处。操作感兴趣的链接组的元素。