在实际开展Linux服务器运维以及网络故障排查工作的过程当中,经常会遇到一些比较常见的网络异常情况。
比如,服务器突然没有办法正常访问,网络接口出现中断,域名始终无法完成解析,或者目标端口明明已经开放,但是客户端却一直无法建立相对应的连接。
本篇文章整理了Linux网络排查工作当中使用频率相对较高的16条命令,并按照“接口—地址—路由—DNS—连通—路径—端口—应用—抓包”的顺序进行系统拆解。
内容的重点并不只是告诉你每一条命令应该怎样输入,还会进一步说明这些命令分别适合解决什么类型的问题,执行以后应该重点查看哪些字段,以及不同输出结果可能代表什么样的网络状态。
通过这样的方式,可以把原本相对分散的Linux网络命令,连接成一套更加完整的故障排查流程。
下次再遇到“网络不通”“服务无法访问”或者“端口连接失败”等问题时,就不需要在大量命令之间反复尝试,也不必在没有明确依据的情况下直接重启服务器或者关闭防火墙。
更加合理的做法,是先从接口和地址开始,然后依次检查邻居、路由、DNS、网络路径、端口、应用以及实际数据包,逐步缩小当前问题所在的范围。
只有按照真实的网络通信过程逐层进行判断,才能够更加准确地确认异常到底来自本机配置、网络链路、中间设备,还是远端服务本身。