BPDU Filter 是什么
BPDU Filter 让端口既不发送也不接收 BPDU,常被用在接终端的边缘口上降低噪声。它和 BPDU Guard 是两件事:Guard 收到 BPDU 时把端口关闭并告警(保护),Filter 直接把 BPDU 丢掉(沉默)。配在级联口或上联口上等于在该端口关闭了 STP,一旦形成环路,没有任何机制能发现,这正是它的高风险之处。
基本信息
| 适用平台 | 三厂交换机的 STP 边缘端口特性 |
|---|---|
| 关键命令 | stp bpdu-filter enable / spanning-tree bpdufilter enable / stp bpdu-filter |
| 推荐位置 | 确定只接终端、不会接交换机的端口 |
| 风险等级 | 高:配错位置会静默形成二层环路 |
| 替代方案 | 绝大多数场景应使用 BPDU Guard |
典型使用场景
- 接终端的边缘口出现 BPDU 噪声需要抑制
- 排查终端口为什么反复进入 err-disable 或关闭状态
- 理解 Filter 与 Guard 的区别,选择正确的保护机制
- 审查存量配置,找出配在级联口上的 BPDU Filter
- 接入层边缘端口优化时的方案评估
思科 IOS
思科 IOS
interface GigabitEthernet0/1
spanning-tree bpdufilter enable
! 全局方式只对 PortFast 端口生效
! spanning-tree portfast bpdufilter default华为 VRP
华为 VRP
interface GigabitEthernet0/0/1
stp bpdu-filter enable
# 校验配置是否生效
display stp interface GigabitEthernet 0/0/1H3C Comware
H3C Comware
interface GigabitEthernet1/0/1
stp bpdu-filter
# 校验
display stp interface GigabitEthernet 1/0/1Filter 与 Guard 对照
| 特性 | 行为 | 适用端口 | 风险 |
|---|---|---|---|
| BPDU Filter | 不发也不收 BPDU | 只接终端且确定不接交换机的口 | 配错位置会静默形成环路 |
| BPDU Guard | 收到 BPDU 就关闭端口并告警 | 终端边缘口 | 行为显式,误接会被发现 |
| Root Guard | 收到更优 BPDU 时阻塞该端口 | 朝向下游的上联口 | 防止外部设备抢根,行为可预期 |
| Loop Guard | 收不到 BPDU 时阻止端口转发 | 根口与备用口 | 应对单向链路,用途不同 |
思科的全局形式 spanning-tree portfast bpdufilter default 只对 PortFast 端口生效,且当这类端口真的收到 BPDU 时会自动失去 PortFast 与过滤行为,转为普通 STP 端口参与计算。逐口配置的 bpdufilter 是无条件生效的,不会因为收到 BPDU 而自动退出,配置前要想清楚这个差别。
绝大多数网络应该使用 BPDU 保护(Guard)而不是 BPDU 过滤(Filter):Guard 把异常变成显式的端口关闭与告警,Filter 把异常变成沉默,环路只有等到业务大范围中断时才被发现,代价完全不同。