本文目录导读:

“交换异常”是一个比较宽泛的概念,在不同的场景下含义不同,为了给出最精准的排查和处理方案,我们需要先明确你指的是哪一种“交换”。
结合常见的故障场景,我将从三大核心方向为你归类整理排查与处理方法:
网络交换异常(最常见,涉及交换机、网络通信)
这是IT运维中最常见的“交换”问题,通常指交换机硬件故障、环路、配置错误或ARP攻击导致的网络中断或卡顿。
现象:
- 网络时通时断、延迟高。
- 大规模网络中断(广播风暴)。
- 特定网段或端口无法访问。
排查步骤(从外到内):
-
第1步:物理层检查
- 指示灯:查看交换机端口指示灯是否正常(常亮/闪烁),如果熄灭或为橙色/红色,可能是网线、光模块或端口损坏。
- 光模块/电口:检查光模块是否插紧、清洁,更换网线/跳线测试。
- 电源:电源故障是导致交换机重启或死机的常见原因。
-
第2步:广播风暴与环路检测
- 现象:交换机所有端口指示灯疯狂闪烁,CPU占用率飙升至100%。
- 根本原因:网络环路(STP/生成树协议未正常工作)、非法设备接入。
- 应急处理:立刻拔掉疑似环路的网线(通常是办公室的串联交换机、或用户私自加的HUB)。
- 预防措施:启用STP(生成树协议)、配置环路保护(Loopback Detection)、配置端口隔离。
-
第3步:MAC地址与ARP表检查
- 命令(以思科/H3C为例):
show mac-address-table,show arp。 - 排查:查看是否有漂移(同一个MAC地址在不同端口出现)、过载(一个端口学到太多MAC)、伪造(ARP攻击)。
- 处理:确认非法MAC来源,在接入层配置MAC地址绑定或端口安全(Port Security)。
- 命令(以思科/H3C为例):
-
第4步:VLAN与Trunk配置
- 现象:部分用户能通,部分不能通。
- 排查:检查两端Trunk口配置的VLAN列表是否一致、Native VLAN是否匹配、VLAN是否在数据库中存在。
- 命令:
show vlan brief,show interface trunk。
-
第5步:系统资源与日志
- 日志:
show log查看是否有CPU高、内存不足、端口错误(CRC、FCS错误)。 - 系统负载:
show processes cpu,如果CPU过高,可能是受到攻击或存在配置缺陷。
- 日志:
交换内存/进程异常(操作系统层面的内存交换)
如果你指的是操作系统(如Linux/Windows)的内存交换(Swap)异常,表现为系统响应缓慢,频繁读写磁盘。
现象:
top或任务管理器显示内存使用率100%,但Swap使用率很低(说明内存不够)。- 或者Swap使用率很高(大量进程被交换到磁盘),系统I/O等待(wa)高。
- 服务器卡顿,点击或输入命令延迟极高。
排查方法(Linux为例):
-
第1步:查看内存与交换总量
free -h # 查看Mem和Swap的总量、已用、可用 swapon --show # 查看哪些分区/文件被用作Swap
-
第2步:判断异常类型
- 类型A:内存不足 + Swap几乎满 -> 物理内存不够,需要扩容或关闭进程。
- 类型B:内存充足,但Swap使用率高 -> 这是最糟糕的情况,说明系统的“积极换出”策略有问题。
-
第3步:谁是罪魁祸首?
# 查看哪个进程占用Swap最大(Linux 2.6+) for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 2 -n -r | head -20 # 或者使用 smem 工具 smem -t -p | sort -k 5 -r | head -10 -
第4步:查看IO等待
iostat -x 1 5 # 查看磁盘IO情况,看是否是Swap导致的磁盘瓶颈
处理方法:
- 临时解决:
echo 3 > /proc/sys/vm/drop_caches(清空缓存,释放部分内存)。kill或systemctl restart那些占用Swap巨大的异常进程(如内存泄漏的Java/Python程序)。
- 长期优化:
- 调整Swappiness:
sysctl vm.swappiness=10(默认60,值越小越不倾向于使用Swap),生产环境建议10或1。 - 增加物理内存:最根本的解法。
- 关闭不必要的服务:减少内存占用。
- 禁用SWAP(如果服务器内存充足且用于数据库):
swapoff -a(谨慎操作,可能导致OOM)。 - 程序优化:检查是否存在内存泄漏。
- 调整Swappiness:
网络封包交换异常(VPN、隧道、路由转发)
如果你指的是基于IPSec/SSL VPN的隧道交换或路由交换出现问题。
现象:
- VPN拨号成功,但无法访问内网资源。
- 网络延迟极高,丢包严重。
- 路由表混乱,数据包被错误转发。
排查方法:
- 第1步:检查隧道状态
# IPSec show crypto isakmp sa # 检查IKE阶段1 show crypto ipsec sa # 检查阶段2 是否有数据包加解密错误 (encrypt/decrypt errors) # 常见错误:预共享密钥不匹配、证书过期、NAT穿越问题。 - 第2步:检查路由表
route -n 或 netstat -rn
- 确保去往目标网段的路由指向了隧道接口,而不是物理出接口。
0.0.0 0.0.0.0 192.168.1.1这种默认路由不能与去往内网的路由冲突。
- 确保去往目标网段的路由指向了隧道接口,而不是物理出接口。
- 第3步:检查MTU与分片
- 现象:大包(如QQ传文件、网页图片)无法打开,小包(ping -l 1500)不通,但小包正常。
- 原因:隧道封装增加了包头,导致超过链路MTU(1500字节)。
- 处理:在客户端或网关上调整MTU为1400或更小。
sysctl -w net.ipv4.tcp_mtu_probing=1。
快速对号入座
| 你遇到的异常场景 | 大概率是哪个方向 | 最优先的排查动作 |
|---|---|---|
| 整个办公室断网,灯狂闪 | 网络环路 | 拔掉所有非官方网线,尤其是小交换机 |
| 个别PC上不了网 | 端口安全 / VLAN | 检查该PC的交换机端口配置和MAC绑定 |
| 服务器越用越慢,磁盘灯常亮 | 内存Swap异常 | 执行 free -h 和 top,看Swap被谁占满 |
| VPN能连,但打不开网页 | MTU/路由问题 | 减小VPN客户端MTU值(如1300) |
| 路由器/交换机CPU 100% | 攻击 / 广播风暴 | 登录设备,show processes cpu 查看具体进程 |
如果你能补充更多具体细节(比如出现异常时电脑显示什么错误、交换机品牌型号、操作系统版本等),我可以给出更精准的排查步骤。