按“ping→traceroute→端口→DNS→接口/路由/防火墙”五步排查,90%网络问题5分钟内可定位:先分层ping验证连通性,再用mtr/traceroute查路径中断点,接着用ss/nc测端口服务,然后绕过DNS直连测试解析,最后检查网卡状态、路由表和防火墙规则。

Linux网络不通,别急着重装系统或重启服务器。按“ping → traceroute → 端口 → DNS → 接口/路由/防火墙”这个顺序排查,90%的问题能在5分钟内定位清楚。
一、先确认基础连通性(用ping分三步走)
不是随便ping一个网址就完事,要分层验证:
-
本地回环:运行
ping 127.0.0.1—— 不通说明TCP/IP协议栈异常,可能是内核模块损坏或netfilter配置错 -
网关可达性:执行
ping $(ip route | grep default | awk '{print $3}')—— 若丢包或超时,问题出在本机到局域网出口之间,检查网线、交换机端口、网卡UP状态(ip link show)、ARP缓存(arp -a) -
外网与DNS分离验证:分别执行
ping 8.8.8.8和ping baidu.com—— 前者通后者不通,基本锁定DNS问题;两者都不通,说明路由或上游网络异常
二、追踪路径中断点(traceroute/mtr看哪一跳断)
当ping网关或外网失败时,用路径分析快速定位故障节点:
- 优先用
mtr -r -c 10 google.com(比traceroute更稳定,自带统计);若无mtr,用traceroute -n google.com(加-n跳过DNS解析,提速) - 重点观察:连续出现 * * * 的那一跳——可能是中间设备禁ICMP、策略限速,也可能是该节点宕机
- 某跳延迟突然飙升(如从10ms跳到300ms),说明该节点拥塞或链路质量差;若后续跳数全不可达,大概率是这一跳之后的网络设备或策略拦截了流量
三、验证服务是否真在听(端口级连通性测试)
能ping通≠服务可用。常见误区是“IP通了就以为SSH/HTTP能连”,其实端口可能被拦、服务未启、或监听绑定错了地址:
标签: linux centos git go github 防火墙 端口 栈 ai 路由 dns google 网络问题
还木有评论哦,快来抢沙发吧~