分支网络一接错线全网广播风暴?华为交换机环路检测自动掐断问题口
新分支网络并进公司网,怕的往往不是配置不通,而是"通了之后出事":施工时一根线两头都插进交换机,或者下挂小交换机被谁随手对接起来,二层环路就此成型——广播、组播、未知单播报文在环里一圈圈复制,不多时上行网络跟着一起瘫。华为交换机的 Loop Detection 环路检测就是给这种场景准备的:接口周期性发出检测报文,报文绕一圈回到本设备,就判定环路存在,按事先配置的动作把出问题的接口置于受控状态(默认关闭接口),同时上报告警记录日志。华为官方文档有一套完整的举例——配置通过Loop Detection检测设备下挂网络环路示例,本篇按这套示例把整套配置走一遍,两种检查命令的输出一并解读。
本文的组网需求、配置思路与命令步骤,整理自华为官方发布的典型配置案例,参数可直接参考使用。
组网需求
某企业新建分支网络接入到汇聚交换机Switch,该新建分支网络所属VLAN范围为10~20。新建网络可能因连接或配置错误而产生环路,进而影响到Switch及其上行网络的通信。
用户希望能在Switch上及时检测到新建分支网络中的环路,防止环路对Switch及其上行网络的冲击。
翻译成白话:Switch 是汇聚交换机,下行口 GE1/0/1 接新建分支网络,这个分支跑 VLAN 10 到 20 共 11 个 VLAN。要求 Switch 自己能发现下挂网络里的环路,发现后自动把 GE1/0/1 关掉,别让分支的环把上行网络拖下水。
配置思路
按照官方思路,配置分四步走,全部落在 Switch 上:
- 全局与 VLAN 使能:打开全局 Loop Detection 开关,并对 VLAN 10~20 开启检测——分支 VLAN 数大于 8,正好用 VLAN 级检测覆盖。
- 定节奏:配置检测报文的发送周期。
- 定动作:打开告警开关,接口处理动作定为 Shutdown,检测到环路直接关闭接口。
- 打通底座:分支网络内的交换设备接口链路类型配为 Trunk 或 Hybrid 并放行相应 VLAN,保证新建网络内以及新建网络与 Switch 间的二层互通。
核心逻辑一句话:接口定时往外发探测报文,报文从别的口或原口绕回来就说明有环,设备立刻按动作处理接口并上报——单节点检测、点到为止,破环还得靠人。
操作步骤
一、使能全局的Loop Detection功能
<HUAWEI> system-view
[HUAWEI] sysname Switch
[Switch] loop-detection enable //使能全局的Loop Detection功能
总开关先打开,此后各接口的环路检测缺省均处于使能状态。
二、使能VLAN的Loop Detection功能
[Switch] vlan batch 10 to 20
[Switch] loop-detection enable vlan 10 to 20 //配置设备对VLAN10到VLAN20下的所有接口进行环路检测
Loop Detection 只发 Tagged 检测报文,检测以 VLAN 为单位开展;这里把分支的 VLAN 10~20 全部纳入检测范围。
三、配置Loop Detection检测报文的发送周期
[Switch] loop-detection interval-time 10 //配置Loop Detection检测报文的发送周期为10s
周期越短发现环路越快,占用的系统资源也越多;示例取 10 秒,检测报文的发送量与响应速度在此取得平衡。
四、配置Loop Detection处理动作
打开Loop Detection告警开关:
[Switch] snmp-agent trap enable feature-name ldttrap //打开Loop Detection的告警开关,使设备具有发送Loop Detection Trap报文的功能
配置Loop Detection处理动作为Shutdown,并在接口GE1/0/1上放行VLAN 10~20:
[Switch] interface gigabitethernet 1/0/1
[Switch-GigabitEthernet1/0/1] port link-type hybrid //V200R005C00及以后版本交换机接口的缺省链路类型不是Hybrid类型,用户可根据需要执行命令port link-type hybrid配置接口的链路类型为Hybrid
[Switch-GigabitEthernet1/0/1] stp disable //去使能接口的STP功能
[Switch-GigabitEthernet1/0/1] port hybrid tagged vlan 10 to 20
[Switch-GigabitEthernet1/0/1] loop-detection mode port-shutdown //配置Loop Detection检测到环路时对接口GE1/0/1的处理动作为Shutdown
[Switch-GigabitEthernet1/0/1] quit
四条命令四件事:hybrid 链路类型放行带标签的 VLAN 10~20;stp disable 把接口的 STP 关掉——Loop Detection 与 STP/RSTP/MSTP 等环网功能冲突,同接口不能共存;port-shutdown 定下"见环关口"的动作。检测到环路时还有 Trap、Block、No learning、Quitvlan 几种动作可选,关口属干脆利落的一档。
检查配置结果
配置完成后,执行命令display loop-detection,查看设备上全局环路检测运行情况:
[Switch] display loop-detection
Loop Detection is enabled.
Detection interval time is 10 seconds.
Following VLANs enable loop-detection:
VLAN 10 to 20
Following ports are blocked for loop:
NULL
Following ports are shutdown for loop:
GigabitEthernet1/0/1 Include Vlans:
10
Following ports are nolearning for loop:
NULL
Following ports are trapped for loop:
NULL
Following ports are quitvlan for loop:
NULL
查看GE1/0/1接口的环路检测运行情况:
[Switch] display loop-detection interface gigabitethernet 1/0/1
The port is enabled.
The port's status list:
Status WorkMode Recovery-time EnabledVLAN
-----------------------------------------------------------------------
Shutdown Shutdown 255 10
Normal Shutdown 255 11
Normal Shutdown 255 12
Normal Shutdown 255 13
Normal Shutdown 255 14
Normal Shutdown 255 15
Normal Shutdown 255 16
Normal Shutdown 255 17
Normal Shutdown 255 18
Normal Shutdown 255 19
Normal Shutdown 255 20
两张输出对着看:全局表确认检测开着、周期 10 秒、VLAN 10~20 在列,“Following ports are shutdown for loop"下面挂着 GE1/0/1 与 VLAN 10——说明 VLAN 10 检测到了环路,接口已被关闭。接口表里 11 个 VLAN 逐行列状态,只有 VLAN 10 是 Shutdown、其余 Normal,环路所在的 VLAN 一眼锁定。官方同时提醒:Shutdown 动作生效后环路报文消失,可能检测不到其余成环 VLAN,排查时别把这张表当成全网无环的证明。
配置脚本
Switch的配置脚本:
#
sysname Switch
#
vlan batch 10 to 20
#
loop-detection enable
loop-detection interval-time 10
loop-detection enable vlan 10 to 20
#
interface GigabitEthernet1/0/1
port link-type hybrid
port hybrid tagged vlan 10 to 20
stp disable
#
snmp-agent trap enable feature-name LDTTRAP
#
return
注意事项
- 本例适用于框式交换机的所有版本,盒式设备先核对应形态的支持口径。
- Loop Detection 与 STP/RSTP/MSTP、ERPS、RRPP、SEP、Smart Link 等环网功能冲突,使能了 Loop Detection 的 VLAN 所在接口不要再配环网功能,反之亦然——本例接口上 stp disable 就是这个原因。
- 它是单节点环路检测技术,只负责发现并控制接口,不具备网络级破环能力;接口受控后设备仍继续发检测报文,恢复时间内收不到受控接口的探测报文才认为环路消除。
- 检测要发大量检测报文、耗费系统资源,不需要环路检测时及时关闭;多接口多 VLAN 同时成环时检测性能会下降,此时建议手工破除环路。
- 当设备的网络侧接口发生环路时,接口配置 Block 或 Shutdown 动作会导致设备上的业务全部中断,网络侧接口不建议部署 Loop Detection——本例只挂下挂侧的 GE1/0/1。
- 告警开关(trap)要在动作之前配好,环路出现时网管与日志里才有据可查。
成环一次的代价往往是全网瘫上半天,建议请诚鑫致达科技把环路检测的配置与动作参数纳入季度巡检清单,顺带核一遍告警开关还在不在——检测在跑、告警哑火,等于白防。各厂商设备的命令与默认参数存在差异,本文步骤与命令均出自华为官方文档,操作前请核对你的设备型号与软件版本。
源:华为S系列交换机官方文档