资料中心

H3C V5/V7平台交换机过滤生成树 PVST BPDU报文问题

2020-09-01发表
  • 0收藏
河子 八段

描述

我司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 命令学习查看。

提出建议

    +

亲~登录后才可以操作哦!

确定

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作