双网关导致ping丢包问题解决过程

时间:2024-04-07 10:42:40

    一天,有同事反映,他的内网服务器192.168.193.254访问北京总部的资源172.16.1.1丢包严重,ping测试在服务器上用tcpdump看如下图:

双网关导致ping丢包问题解决过程

可以看到很多发出的request没有回包,中间部分有回包。

和他确定组网如下:

双网关导致ping丢包问题解决过程

ros路由器通过v*n连接北京的资源172.16.1.1。

看组网,自己pc去ping172.16.1.1,看到很少有丢包,如下图:

双网关导致ping丢包问题解决过程

很奇怪,为啥他的ping丢包这么厉害,决定从ros到核心交换机逐级抓包,看看丢在哪一级了?

 在ros上抓包,看到ping的包序号不连续,上来的ping的request消息均收到了目的方回复的reply消息,判断是很多ping的request消息没有发到ros导致,没有丢在ros路由器侧。服务器侧看到发出的ping的seq连续,而ros出口看到只有很少一部分。

双网关导致ping丢包问题解决过程

双网关导致ping丢包问题解决过程

决定镜像抓一下机柜汇聚交换机到核心交换机间的包看看,发出来的是否有问题?

双网关导致ping丢包问题解决过程

发现序号不连续,过来的ping的request均收到回包。判断发出的ping消息丢了好多。

觉得交换机丢包的可能性不大,到服务器上192.168.192.254上去看看?

看ip配置

双网关导致ping丢包问题解决过程

执行route   -n查看路由表的情况?

双网关导致ping丢包问题解决过程

看到配置有双路由,而且等级一样!

决定执行tcpdump  -i any   -nne   icmp 看看发出的mac地址,另起一个putty进行ping看看。

双网关导致ping丢包问题解决过程

发现有一部分ping request发向了另一mac地址,这些request都没有返回ping的reply消息。

发现发给fa:16:3e:1c:fd:81的ping的request消息都没有收到reply消息。

而发给c8:50:e9:67:fa:0c却收到的reply消息,检查一下这两个mac对应的ip地址。

检查这两个mac地址:

双网关导致ping丢包问题解决过程

由mac地址表对应关系看出,双路由导致发给192.168.193.116的mac地址的包没有收到响应reply消息。

同事反馈,116那条路由是过去测试虚拟机临时加的,不能上外网,现在不使用。所以删掉路由route del -net 0.0.0.0/0 gw 192.168.193.116后,ping的抓包后正常。

双网关导致ping丢包问题解决过程

双网关导致ping丢包问题解决过程

 知识点:

   1,ros路由器可以指定mangle里tzsp端口进行抓包。

   2,ping消息含序号,用来确定是那一包。

   3,Tcpdump命令查看mac地址用-enn,但当使用-i  any时,因为没有指定端口无法获取收发双方的mac地址。

   4,交换机一般不会引起丢包。