环境:
1.管理主机:win7(ip:192.168.90.24/24)
2.交换机:10.108.0.5/24 型号: C2960S (sw_ver:15.0(2)SE6)
现象:
某天登陆交换机调试,完成后保存配置到本机tftp,继续一些其他操作后,突然和交换机连接断开,本机再也无法Ping通此交换机。
处理过程:
事出突然,首先检查内部网络,发现仅本机无法访问此交换机,分别做如下测试:
1. 本机访问网关,正常;访问内部其他网段,正常。
2. 本机访问交换机同网段设备,正常
3. 本机访问交换机IP,超时,异常
4. 其他主机访问此交换机,正常
看来问题是在本机和交换机之间,首先对本机进行处理:
1. 重启电脑,尝试访问,异常
2. 删除本机相关无用软件,尝试访问,异常
3. 关闭本机防火墙,尝试访问, 异常
4. 清理本机进程,尝试访问,异常
5. 本机执行ipconfig /flushdns arp -d ,故障依旧
到这里初步怀疑:本机之前的某个操作,触发了交换机的某种安全机制,导致本机到交换机的连接全部被拒绝。
登录交换机进行排查:
1.查看交换ARP缓存,如下:
从上图可以明显看出,交换已经有了管理主机的IP-MAC记录,理论上应该是能够通的才对(这里掉进坑里了) 。网上搜索了半天,也木有找到类似情况的介绍,折腾了一天还是没啥进度。
实在没辙了,手动清理了交换arp表,突然管理主机就可以访问了。
难道问题就是ARP这里??
为了复现故障,尝试在管理主机重新执行操作,登录、备份配置tftp,继续操作,几分钟后突然掉线。换主机登录交换,删除ARP记录,再次恢复。
那么到底是哪一个操作造成ARP记录的??
多次测试后发现,只要执行了备份配置到tftp,tftp所在的服务器就无法访问此交换机,同时交换机本地会生成tftp服务器的ARP项目。
原因分析:
管理主机(90.24/24)和交换机(0.5/24)处于两个不同的网络中,管理主机telnet访问交换机时,数据通过网关传递给交换机,交换机也通过网关回传数据。但是在执行copy running tftp过后,交换机本地新增了ARP缓存,记录了管理主机的ip-mac对应关系。导致交换机回传数据时,直接从ARP表抓取MAC地址封包传递,数据不经过网关,仅仅在本网段传送,导致管理主机和交换机异常断开,且只要使用这个IP的主机,都不能和交换机通信。
这个应该是交换机IOS的一个bug,在网上找到一个类似的情况,
解决办法:
1.升级IOS版本到SE7以上
2.执行no ip arp gleaning tftp /udp
官方链接:http://tools.cisco.com/quickview/bug/CSCun38166
参考链接:http://www.devilwah.com/2015/05/the-mystery-of-cisco-2960s-and-strange-arp-cache/
本文转自OnMyWay博客51CTO博客,原文链接http://blog.51cto.com/active/1708127如需转载请自行联系原作者
yab109