Linux bridge 命令是管理 Linux 网桥设备和其端口配置的核心工具。下面总结了它的一些最常见和实用的使用示例。
说明
brctl 是一种相对老旧但仍可用的工具,专门用于配置和管理 Linux 内核中的以太网桥
1. 基础网桥管理
命令
目的
ip link add name br0 type bridge
创建 一个名为 br0 的新网桥设备。
ip link set dev br0 up
启用 网桥设备 br0。
ip link set dev br0 down
禁用/关闭 网桥设备 br0。
ip link delete br0
删除 网桥设备 br0。
2. 端口(接口)管理
命令
目的
ip link set dev eth0 master br0
将网络接口 eth0 添加 到网桥 br0 中作为端口。
ip link set dev eth0 nomaster
将网络接口 eth0 从其所属的网桥中 移除 。
ip link set dev eth0 up
启用/激活 网桥端口 eth0(必须先激活端口才能工作)。
3. 查看配置信息
命令
目的
bridge link show
显示 所有连接到网桥的端口的详细信息(包括 STP 状态)。
bridge fdb show
显示 网桥的 转发表 (Forwarding Database - FDB) ,即 MAC 地址学习表。
bridge vlan show
显示 所有网桥设备的 VLAN 过滤配置 状态。
bridge mdb show
显示 网桥的 多播数据库 (Multicast Database - MDB) (用于 IGMP Snooping)。
4. VLAN 过滤配置 (VLAN Filtering)
注意: 在执行这些命令之前,通常需要先启用网桥上的 VLAN 过滤:echo 1 > /sys/class/net/br0/bridge/vlan_filtering。
命令
目的
bridge vlan add dev eth0 vid 10 pvid untagged
将端口 eth0 配置为 VLAN ID 10 的 Access Port (接入端口) 。接收 untagged 流量时打上 VID 10 标签,发送 VID 10 流量时去标签。
bridge vlan add dev eth0 vid 20 tagged
将端口 eth0 配置为 Trunk Port (干线端口) ,允许 VID 20 的带标签流量通过。
bridge vlan add dev eth0 vid 30
这是一个简单的 Tagged 示例,通常与 tagged 相同,允许 VID 30 流量通过。
bridge vlan del dev eth0 vid 10
删除 端口 eth0 上对 VLAN ID 10 的配置。
# 或
ip link set eth0 type bridge vlan_filtering 1
5. FDB(MAC 地址表)管理
命令
目的
bridge fdb add 01:23:45:67:89:ab dev eth0 master
添加 一个静态 FDB 条目,将 MAC 地址绑定到端口 eth0。
bridge fdb del 01:23:45:67:89:ab dev eth0
删除 该静态 FDB 条目。
6. STP(生成树协议)管理
命令
目的
bridge link set dev eth0 stp_state forwarding
手动设置端口 eth0 的 STP 状态为 转发 (Forwarding) 。
bridge link set dev eth0 priority 8
设置端口 eth0 的 STP 端口 优先级 。
bridge link set dev eth0 cost 10
设置端口 eth0 的 STP 路径开销 。