Linux下使用mtr做路由图进行网络分析

说白了,用mtr来分析网络,就是看数据包沿途的丢失和延迟情况。
它特别适合对慢速网络或数据包丢失进行故障排除。

先说最重要的一点,mtr需要安装,不同系统安装方法不同。
我们去年跑的项目在Ubuntu上使用了sudo apt update && sudo apt install mtr,大约花了三分钟完成。
但是,要安装CentOS,您需要使用sudo yum install mtr。
价格差异非常明显。

还有一点,使用mtr时,不能盲目使用参数。
比如去年有位同事没有加-n参数。
结果,每一跳的路径名都出现了乱码,这让我们相信网络受到了攻击。
后来我们发现主机名没有被解析,因为没有添加。
还有另一个重要的细节。
例如,整夜运行--report可以生成丢包图,这对于在大流量测试后查看整体情况特别有用。
上次我们测试北京机房的时候,报告直接增加了几百行。
最后我们发现上海节点的时延明显增加。

一开始我以为地铁只能看到单向路径,但后来我发现我错了。
它实际上可以动态刷新。
当你看到延迟突然跳到5 00ms时,你应该迅速检查跳跃的路径。

很多人都没有注意到这一点。
mtr 输出不是静态的,您应该密切关注变化。

如何在Linux中诊断网络故障 Linux ping/traceroute使用

说白了,ping和traceroute是Linux中诊断网络问题的两个强大工具。
我们先来说说最重要的事情。
使用 ping 来查看是否可以直接连接到目标,例如 ping google.com,看看是否“目标主机无法访问”或者是否超时或延迟是否荒谬。
我们去年做的项目中,延迟突然从5 00m增加了。
后来我们发现海洋链路不稳定,但直接击中目标并不能看出问题所在。
还有一点就是ping-i参数非常重要。
例如,ping-i0.2 可以帮助您找到 google.com 的辅助网络流量。
许多问题由此产生。
还有另一个重要的细节。
使用 ping -s1 4 7 2 google.com 测试 MTU。
去年我们遇到了一个陷阱。
由于MTU不匹配,网关对数据包进行分片。
结果,ping 完全正常,但应用程序无法连接。

一开始我以为ping超时是因为网线没插好,后来才发现是这个问题。
有些是由防火墙创建的。
例如,ping-i0.2 可以通过 google.com,但 ping google.com 自动超时,这意味着 ICMP 被阻止。
等等,还有一件事。
Traceroute 是一个查找错误的好工具。
例如,traceroute google.com 显示前三跳正常,但第四跳突然变成星号。
基本上,锁是操作者的问题。
去年我们本地网络追了好久才换,最后跨区链接光缆断了。
如果没有踪迹,需要几天的时间。

提醒一下,现在许多系统默认使用跟踪路径而不是跟踪路径。
CentOS需要traceroute来手动安装yum。
很多人不注意这一点。
顺便说一句,mtr 工具很棒。
它结合了 ping 和跟踪来持续监控链路质量。
去年,我们使用 mtr 来确定特定路由器的 CPU 是否爆裂,导致延迟并直接识别硬件问题。
建议初学者先Ping本地网关,再Ping外网8 .8 .8 .8 ,最后使用路径搜索操作员界面开始练习。

This routine is tried and tested.