怎样快速检测网络环路?

在多年的IT外包服务过程中,曾经遇到过无数次网络环路引起的广播风暴,轻则某个部门断网,重则整个公司的网络瘫痪。

如果快速地定位网络环路,在全是傻瓜交换机的网络环境里,经验就显得尤为重要了。

曾经有这么一次吧,已经是十几年前了,三个网管在寻线测线过程中,一时手快造成了网络环路,楼上楼下地跑了两小时,没找到问题所在,投标部正要投标,自然急得要命。

图片

我一路赶过去,到机房后,几分钟就解决了问题:

第一步,笔记本电脑ping 网关ip -t,意思就是持续不断地ping,此时当然是不通的;

第二步,观察交换机,一共4台交换机,全在一个机柜里面,我就一台台扫描式地观察,看哪几个灯闪得最疯狂,很快就锁定了其中一台交换机的23和24两个口——同步闪,而且闪得最疯狂;

第三步,拔掉23口的网线,回头看笔记本电脑,果然能ping通网关IP了,问题解决,后来才知道,两条网线是去另外一幢楼的,一条在用,一条是备用线,平时不插交换机的,网管寻线的时候,一时手快(手贱)给插上了,环路就形成了。

老板全程在机房看着,网管被骂了个狗血淋头,我就收割了一波崇拜的眼神,哈哈,下面是当时写的文章的截图。

图片

但凡有一台是网管型的交换机,就不至于这么被动了,至少可以登录上去看一下日志或者告警信息,很容易就能排除故障了。

那么除了看日志,有没有什么检测手段呢?答案是肯定的,今天就来讲一下,如何通过 Loop Detection 功能检测网络环路。

Loop Detection通过从接口周期性发送检测报文,检查该报文是否返回本设备,从而判断该接口、设备所在网络或设备下挂网络是否存在环路。注意,Loop Detection仅为单节点环路检测技术,并不支持STP/RSTP/MSTP等环网技术。

如果发现检测报文从发出去的接口接收到,则认为该接口发生自环或该接口下挂的网络中存在环路。

如果发现检测报文被本设备上的其他接口接收到,则认为该接口或设备所在的网络中存在环路。

在发现环路后,将发送告警和记录日志,并能根据用户事先的配置对接口进行处理,默认是直接关闭接口。如果是单一VLAN的网络环境,建立就采取默认行为;如果是多个VLAN的网络环境,则建立采用Quitvlan的处理动作,即退出出现网络环路的VLAN。

图片

如上图所示,某企业网络采用二层组网,LSW1为汇聚交换机,各交换机均配置为允许VLAN 10~20通过。由于人员流动性大,往往会因操作不慎而造成连接错误,进而导致VLAN 10~20中产生环路。

为防止网络环路大面积地影响办公网络,所以配置 Loop Detection实现对VLAN 10~20的环路检测。

1、使能全局的Loop Detection功能

<HUAWEI> system-view

[HUAWEI] sysname Switch

[Switch] loop-detection enable

2、使能VLAN的Loop Detection功能

[Switch] vlan batch 10 to 20

[Switch] loop-detection enable vlan 10 to 20 //配置设备对VLAN10到VLAN20下的所有接口进行环路检测

3、配置Loop Detection检测报文的发送周期

[Switch] loop-detection interval-time 10 //配置Loop Detection检测报文的发送周期为10s

4、配置Loop Detection处理动作

[Switch] snmp-agent trap enable feature-name ldttrap //打开Loop Detection的告警开关,使设备具有发送Loop Detection Trap报文的功能

配置Loop Detection处理动作为Quitvlan。

[Switch] interface gigabitethernet 1/0/0

[Switch-GigabitEthernet1/0/0] port link-type hybrid

[Switch-GigabitEthernet1/0/0] stp disable //去使能接口的STP功能

[Switch-GigabitEthernet1/0/0] port hybrid tagged vlan 10 to 20

[Switch-GigabitEthernet1/0/0] loop-detection mode port-quitvlan //配置Loop Detection检测到环路时对接口的处理动作为Quitvlan

[Switch-GigabitEthernet1/0/0] quit

[Switch] interface gigabitethernet 2/0/0

[Switch-GigabitEthernet2/0/0] port link-type hybrid

[Switch-GigabitEthernet2/0/0] stp disable //去使能接口的STP功能

[Switch-GigabitEthernet2/0/0] port hybrid tagged vlan 10 to 20

[Switch-GigabitEthernet2/0/0] loop-detection mode port-quitvlan

[Switch-GigabitEthernet2/0/0] quit

5、配置受控接口的恢复时间

[Switch] interface gigabitethernet 1/0/0

[Switch-GigabitEthernet1/0/0] loop-detection recovery-time 90 //受控接口的恢复时间为90秒

[Switch-GigabitEthernet1/0/0] quit

[Switch] interface gigabitethernet 2/0/0

[Switch-GigabitEthernet2/0/0] loop-detection recovery-time 90

[Switch-GigabitEthernet2/0/0] quit

注意,Loop Detection需要发送大量检测报文来进行环路检测,所以,肯定会耗费一定的系统资源,请在不需要环路检测时及时关闭此功能。

阅读原文

简介:鄙人从事IT行业20年,写点技术类短文或相关趣事,全是原创。有兴趣的朋友请关注微信公众号:IT狂人日志58446291

声明:本文来自“IT狂人日志58446291”,本文链接:https://www.zyxiao.com/p/297618

发表评论

登录后才能评论
网站客服
网站客服
内容投稿 侵权处理
分享本页
返回顶部