我司V5/V7平台交换机缺省未使能生成树协议,当交换机收到生成树 BPDU协议报文时,将透传转发。
当园区网部署生成树协议时,经常需要限定生成树 BPDU协议报文转发传输的范围。基于这个需求,目前我司交换机可采用的常见方法为在设备接口上关闭生成树协议,这样当该接口收到生成树报文后,将进行丢弃,不再转发。
#
interface Ten-GigabitEthernet1/0/1
port link-mode bridge
undo stp enable
#
上面的方式对于标准的stp/rstp/mstp报文可生效过滤,但是如果接口收到的bpdu是对端Cisco设备发来的PVST BPDU报文时,该方式将无法过滤 PVST的BPDU协议报文,PVST 的BPDU报文仍然会被透传转发。
为什么会这样呢?下面我们来分析下我司交换机接口下undo stp enable功能实现原理。
当前在我司V5/V7交换机接口视图下,如果配置了undo stp enable 命令后,在交换机底层实际上是通过下发qacl规则来阻止丢弃BPDU报文的。厂家工程师可以通过在交换机诊断视图下debug qacl show slot slot_id chip chip_id verbose number 命令查看下发的明细规则。比如:
========
Acl-Type RX IPv4 Middle, Stage IFP, Global, Installed, Active //规则状态生效
Prio Mjr/Sub 523/18, Group 1 [1], Slice/Idx 6/48, Entry 70, Double: 1072/1328
Rule Match --------
Ports: 0x02223fffffffffffe; 0x22223ffffffffffff
Dest mac: 0180-C200-0000, FFFF-FFFF-FFFF //对匹配目的mac地址为生成树协议规定的0180-C200-0000
EtherType: 0x88cc, 0xffff
Actions --------
Deny //执行的动作为deny丢弃
Account mode packets, green and non-green
Accounting: Hi 0, LO 0
========
通过执行undo stp enable命令后,在底层查看明细的规则可知,交换机设备仅能对目的MAC地址为0180-C200-0000的报文进行丢弃。对于Cisco私有的PVST BPDU报文,其目的MAC地址为0100-0ccc-cccd并没有规则匹配。
因此对于PVST BPDU报文,目前我司交换机通过在接口上undo stp enable肯定无法阻塞。
若用户希望在我司交换机上阻止PVST BPDU报文的透传转发,需要工程师在交换机的相关接口上部署包过滤策略,对匹配目的mac地址为0100-0ccc-cccd的报文,进行阻塞。例如:
#
acl number 4001
rule 1 deny dest-mac 0100-0ccc-cccd ffff-ffff-ffff
#
interface Ten-GigabitEthernet1/0/18
port link-mode bridge
port access vlan 3
undo stp enable
packet-filter 4001 inbound
#
我司交换机所涉及到的安全过滤等方面的功能,实际上均通过在芯片底层下发ACL规则的方式实现。对于每个功能具体实现下发的规则,厂家工程师可通过在交换机的诊断模式下,通过debug qacl show slot slot_id chip chip_id verbose number 命令学习查看。
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作