保护STP

STP也可能遭受到各种类型的攻击,所以STP的保护工作也非常重要
 
对接入端口的保护:Root Guard和BPDU Guard
对于接入端口而言,可能临时新连接一台交换机在其下,而这可能会引起STP拓扑不必要的变化。要防止此问题,可以在接入端口激活BPDU Guard和Root Guard来监控是否有BPDU进入。它们的基本操作如下:
1)BPDU Guard:在每个端口上激活;如果接收到任何BPDU,该端口即被屏蔽。配置后可自动恢复。
2)Root Guard:在每个端口上激活;忽略任何优先级更小的BPDU,这样可以阻止连接在此端口的交换机成为根交换机。无需配置即可自动恢复。

***BPDU保护****

SW3 PRI:0
 SW2: 
   interface f0/10
    spanning-tree bpduguard enable


全局:errdisable recovery cause bpduguard(300秒后自动恢复)
全局 errdisable revovery interval 30 (把这个errdisable模式调等待时间调整到30秒)

sw(config)#spanning-tree portfast bpduguard default(全部接口开启BPDU保护)
sw(config)#int f0/1 
sw(config-if)#spanning tree bpduguard disable(拒绝某个端口BPDU保护)
    
  
****根桥保护*******
sw(config-if)#spanning-tree guard root
启用这个命令是,端口状态会broken坏掉了
broken是动态的。如果一段时间没有收到优置的话,会up起来


   

show spanning-tree inconsistentports(查看那些端口被broken掉了)

在交换机中,errdisable 状态就相当于,接口和协议都down了
show errdisable recovery(查看errdisable的状态有哪些)
如果你的网络中,没有环路的话,就把生成树给关闭了。。 

****BPDU过滤******即不发也不收
防止向主机发送不必要的BPDU,在开启portfast端口上配置
 全局配置
    (config)#spanning-tree portfast bpdufilter default
 接口配置
    (config-if)#spanning-tree bpdufilter enable
 

●对中继端口的保护:UDLD和Loop Guard
对于中继端口(trunk port)而言,最主要的问题是要避免因为单向(Unidirectional)链路(链路一端失败,可能是因为一端接插问题而引起)的存在而导致交换机端口错误地从阻塞状态转换到转发状态。
解决这个问题的办法是:UDLD(两种模式)和Loop Guard,具体操作如下:
1)UDLD:使用第二层消息来决定什么时候交换机不再由邻接交换机接收帧,交换机未失败的传输接口置为错误屏蔽状态。配置后可自动恢复。
2)UDLD aggressive mode:当接收不到另一交换机消息时,先试图重连(8次),如果仍然没有反应,那么两端都置为错误屏蔽状态。配置后可自动恢复。
3)Loop Guard:当接收不到正常的BPDU时,端口不再进行正常的STP收敛,而是进入STP环路冲突(loop-inconsistent)状态。无需配置即可自动恢复。

    UDLD:单向链路检测解决硬件问题
    udld enable(一个口坏了的话,全部堵上)
    (config-if)#udld port
    configuring loop guard    解决软件问题,cup过载,端口堵塞
    (config-if)#spanning-tree guard loop
    这个建议配置在根端口和替代端口上
    
    
 

原文地址:https://www.cnblogs.com/cyrusxx/p/12615693.html