Linux 服务器网络故障排查命令实战——从 ping 到 tcpdump
服务器连不上、网站打不开、SSH 断连——别慌,按这个流程查。
1. 先看能不能通
ping 114.114.114.114能通说明网络基本正常。只 ping 域名不通的话,是 DNS 问题。
2. 查 DNS
nslookup blog.7ehl.com
dig blog.7ehl.com看解析结果对不对。不对就去改 DNS 记录。
3. 查端口通不通
telnet 192.168.1.1 22
nc -zv 192.168.1.1 22端口不通的原因:服务没启动、防火墙拦了、或者端口不是默认的。
4. 看本机监听端口
ss -tlnp # TCP 监听端口
ss -ulnp # UDP 监听端口查看服务是不是真的在跑、是不是绑对了 IP。
5. 看路由
traceroute 8.8.8.8 # Linux
tracert 8.8.8.8 # Windows看数据包走到哪一跳断了,可能是某个中间网关的锅。
6. 抓包分析
tcpdump -i eth0 host 192.168.1.1 -nn
tcpdump -i eth0 port 80 -nn看数据包有没有发出去、有没有回应。
7. 看网卡和连接
ip addr # IP 配置
ip route # 路由表
ss -tnp # 当前所有连接快速排查流程
1. ping 114.114.114.114 # 通了吗?
2. ping blog.7ehl.com # 域名能解析吗?
3. telnet target 22 # 端口通吗?
4. ss -tlnp # 服务在监听吗?
5. iptables -L -n # 防火墙拦了吗?几个经典场景
场景一:能 ping 通 IP 但打不开网页
→ 检查服务是否启动、防火墙是否放行 80/443 端口
场景二:ping 域名不通但 ping IP 能通
→ DNS 问题,检查 /etc/resolv.conf
场景三:外网不通但内网能通
→ 检查默认网关和路由表,ip route | grep default
场景四:突然断连
→ 先连带外管理口(IPMI/iDRAC),看系统日志 dmesg | tail
记住这个排查顺序:IP → DNS → 端口 → 防火墙 → 抓包。每一步都先确认上一步没问题再往下查。
评论