网络无法通信排障指南——小白必看

🧭 网络无法通信通用排障流程✔ 基础连通性验证代码语言:javascript复制1)ping 本机IP

2)ping 网关

3)ping 同网段设备

4)ping 其他网段

5)traceroute 跳点定位

判定逻辑:

能否 ping

故障层级

127.0.0.1 不通

网络协议栈异常(本机问题)

本机IP 不通

NIC驱动/系统防火墙问题

网关不通

VLAN/网关配置/线速/MAC异常

外网不通但网关通

路由/ACL/NAT出口故障

配置一致性检查 Checklist(用于任何现场)必查项

正常条件

IP地址

与网段统一

子网掩码

与目标端兼容

Default Gateway

必须在同一网段

DNS

可选择8.8.8.8 / 公司内部服务器

MTU

VPN/PPPoE环境可能需调整

如果五项都没问题→进入链路层排查

1️⃣ 物理层故障:断网、丢包、抖动、高误码率🔥 常见问题问题

典型现象

水晶头歪斜

速度跌为10M、随机断链

光模块速率不匹配

单向链路Up/Down反复抖动

光功率过低(>-23dBm即危险)

帧错,丢包增大

双绞线过长 > 100m

速率自动降级

排障动作(现场可直接执行)代码语言:javascript复制show interface status

show interface counters error

test cable-diagnostics tdr interface g0/1

⚠ 当crc increment快速增加=物理层有问题

案例 · 交换机间连通不稳定 → 直接掉业务| 现象 | 每分钟链路UP/DOWN,视频会议延迟爆炸 | | 排查 |

代码语言:javascript复制show int g0/1 → CRC error持续上升

光功率 -24dBm(低于阈值)

| 解决 | 更换光纤跳线 ➤ 延迟从1200ms降为3ms |

物理问题占故障总量的35%+

2️⃣ 数据链路层:VLAN / STP环路 / MAC漂移❗ VLAN 是无法通信 TOP1 杀手错误表现同一交换机不同端口无法互通跨交换机通信失败只有 DHCP 成功但无法访问网关排查 Checklist代码语言:javascript复制show vlan

show interface trunk

show mac address-table dynamic

必须确认:

项目

正确条件

access端口属于正确VLAN

switchport access vlan x

trunk允许承载此VLAN

allowed vlan add

SVI网关已配置

interface vlan x ip address ...

案例:公司办公网VLAN10/20跨楼层不通| 检查第1层 | 物理OK | | 检查第2层 | VLAN 10未加入Trunk链路!❌ | | 修复 |

代码语言:javascript复制switchport trunk allowed vlan add 10,20

🔚 5 秒全楼恢复

🔥 广播风暴 / 环路导致整网卡死现象ping随机丢包50%+CPU升到80%以上交换机流量飙到线速核心排障代码语言:javascript复制show spanning-tree detail

show storm-control

debug spanning-tree events

解决措施:

手段

效果

开启RSTP/MSTP

快速收敛防环路

接入端口启用 PortFast + BPDU Guard

防止误环路

Storm-control limit 广播

避免雪崩

3️⃣ 网络层故障:路由、网关、子网掩码、ACL🔥 掩码错误导致看似同网但无法互通例:

代码语言:javascript复制A:192.168.1.10/24

B:192.168.2.10/16

A认为B同网+ARP请求 B认为A是外网+发去网关 → 永远无法通信

诊断:

代码语言:javascript复制ipcalc 192.168.1.10/24

ipcalc 192.168.2.10/16

解决:统一掩码 or 路由转发

❗ 单向可达 = 必有路由缺失traceroute 是神器 🔍

代码语言:javascript复制A traceroute B 失败

B traceroute A 成功

→ 说明回程路由缺失

修复:

代码语言:javascript复制ip route add 192.168.1.0/24 via 192.168.2.1

4️⃣ 传输层故障:端口不通、丢包、握手失败🔥 ping通但业务连不上?= 80%是端口问题排查方法:

代码语言:javascript复制telnet

nc -zv IP PORT

netstat -antp

ss -ltnp

如果端口未 LISTEN → 服务没运行 or bind错误

如果 ping通但 telnet 失败=防火墙

代码语言:javascript复制iptables -L

ufw status

firewall-cmd --list-all

TCP三次握手抓包分析方法Wireshark过滤:

代码语言:javascript复制tcp.flags.syn==1 && tcp.flags.ack==0 # SYN

tcp.analysis.retransmission # 重传

tcp.window.size_value < 128 # 窗口过小

-> 可定位MTU、拥塞、丢包点

5️⃣ 安全层防护导致网络不通(出现频率越来越高)阻断方式

表现

ACL拒绝规则

内网可ping 外网访问失败

IDS/IPS误杀

大流量服务突然断连

FW NAT出口未映射

外网访问不回包

排查命令:

代码语言:javascript复制show access-lists

show security policy hit-count

show session table

解决策略:

代码语言:javascript复制permit tcp any host X.X.X.X eq 443

no deny ip any any

⚠发布前必须评估→避免安全事故

6️⃣ 应用层:最难定位、但故障占比最高🔥 DNS 是最常见应用层致命点现象:

ping IP 正常,但访问域名失败curl https://www.baidu.com 超时验证:

代码语言:javascript复制nslookup www.baidu.com

dig @8.8.8.8 www.baidu.com

解决方式:

代码语言:javascript复制/etc/resolv.conf

nameserver 223.5.5.5

nameserver 8.8.8.8

服务监听异常 / Bind错误常见原因:

问题

表现

Nginx监听127.0.0.1

外网访问不了

MySQL监听本地

跨机无法连接

Redis默认禁止公网

拒绝 connect

修改:

代码语言:javascript复制listen 0.0.0.0;

bind-address=0.0.0.0

资源耗尽导致网络假死(运维最容易忽略)指标

检测命令

CPU load

top 、htop

FD耗尽

cat /proc/sys/fs/file-nr

SYN flood 攻击

netstat -ant

grep SYN_RECV

完整修复:

代码语言:javascript复制ulimit -n 65535

sysctl net.ipv4.tcp_max_syn_backlog=65535

随便看看