Linux服务器网络不稳定怎么办?,网络波动如何排查

Linux服务器网络不稳定,先在两端用 mtr 定位到具体跳数,再用 ip -s link 和 ethtool 看网卡错误计数,绝大部分问题在这两步就能分出是链路、网卡还是本机负载,剩下的才轮到内核参数。

网络时快时慢、SSH 偶尔卡顿、接口隔几分钟超时一次,这类问题最磨人,它不像宕机那样有明确信号,你登录上去看 CPU 内存都正常,top 一切平静,可业务就是断断续续,下面按“分清故障类型逐层定位长期加固”的顺序讲,都是能照着敲命令的路子。

Linux网络故障排查必须要懂的五个命令!
加载中
Linux网络故障排查必须要懂的五个命令!
D
DevOps架构师阿良
9255--
原视频地址

先把故障类型分清楚:网络抖动、丢包和带宽打满不是一回事

很多运维上来就改内核参数,这是典型的药不对症,三种现象的处理方向差得很远:

  • 网络抖动:延迟忽高忽低,ping 值在 5ms 到 200ms 之间跳,多见于链路拥塞、无线回传、云厂商跨可用区转发。
  • 持续丢包:延迟稳定但丢包固定在某个比例,多为网卡错误、光模块老化、MTU 不匹配。
  • 带宽打满:丢包伴随重传飙升,sar -n DEV 里 rxkB/s 贴着网卡上限跑。

(表格略)

用一张表对照更直观:

现象 典型原因 首个验证命令
延迟忽高忽低,偶发超时 链路拥塞、跨区转发、队列排队 mtr -rwzc 200 目标IP
丢包比例稳定 网卡错误、MTU 黑洞、光模块 ip -s link show eth0
吞吐先高后崩 网卡速率协商、半双工 ethtool eth0
连接建立慢但通 SYN 队列溢出、连接数打满 ss -lnt、nstat -az

先把这张表对上号,再往下走。

Linux服务器丢包严重怎么排查:四层定位法

排查顺序建议从外到内,别一上来就翻内核源码。

第一层:确认丢在哪一跳

在服务器和客户端两边分别跑长 ping 和 mtr,样本量给足,200 个包起步:

ping -c 200 -i 0.2 目标IP
mtr -rwzc 200 目标IP

mtr 的价值在于它把每一跳的丢包都列出来,看两个细节:丢包是从第几跳开始的,以及后续跳数是否恢复正常,如果某一跳丢 20% 但下一跳丢 0%,那通常是那一跳路由器对 ICMP 限速,不是真故障;如果从某跳开始一直丢到底,问题就锁定在那一段。

顺带用 ip route get 目标IP 确认出口网卡,多网卡机器上经常出现流量走了错误网卡的情况。

第二层:看网卡自己有没有在丢

ip -s link show eth0
ethtool -S eth0 | egrep -i 'err|drop|discard|fifo|miss'
ethtool eth0

ip -s link 的 RX errors、RX dropped、TX errors 三个计数是核心,注意区分:errors 增长对应物理层或驱动问题,dropped 增长多半是本机缓冲不够或上层丢弃。

ethtool eth0 重点看 Speed 和 Duplex,千兆网卡被协商成 100M 半双工是经典事故,症状就是大流量时延迟飙升、小流量完全正常,这种情况换网线、换交换机端口、强制指定速率都能验证。

驱动层的问题看内核日志:dmesg -T | grep -iE 'eth|link|reset|timeout',频繁出现 link up/down 或者 tx timeout,基本可以判定网卡、驱动或线缆有问题。

第三层:TCP 重传和连接队列

丢包在应用层最直观的表现是重传,查看方式:

nstat -az | grep -iE 'Retrans|Reset|Overflow'
ss -lnt

Send-Q 长期不为 0,说明应用写得慢、内核发不出去;Recv-Q 堆积则是应用读得慢,这和网络无关,但表现很像网络卡。

nstat 里 TcpExtListenOverflows 或 ListenDrops 有增长,说明 SYN 队列被打满,需要调 net.core.somaxconn 和 net.ipv4.tcp_max_syn_backlog。

还有一个容易被忽略的点:NAT 场景下的 conntrack 表满,用 conntrack -C 对比 sysctl net.netfilter.nf_conntrack_max,接近上限时新连接会直接丢,日志里表现为 nf_conntrack: table full。

第四层:MTU 黑洞和流量整形

云上环境尤其注意 MTU,VXLAN 封装后有效 MTU 通常是 1450,GRE 更小,判断方法:

ping -M do -s 1472 -c 3 目标IP

1472 加 28 字节头部正好 1500,如果大包不通小包通,就是典型的 MTU 黑洞,调小网卡 MTU 或开启 net.ipv4.tcp_mtu_probing=1。

如果本机配过 tc 限速,用 tc -s qdisc show dev eth0 看 backlog 和 drop 计数,限速策略写错导致的丢包,现象和链路故障几乎一样。

云服务器网络延迟高,是服务器问题还是运营商问题

这是用户问得最多的一类问题,云上排查和物理机不完全一样,因为你看不到物理链路,但可以看几处边界信号。

先做排除,再看边界:

  • 在同一可用区内两台机器互 ping,延迟稳定在 1ms 以内,说明云内网络正常。
  • 跨可用区或跨地域延迟升高,属于正常物理距离,看是否在厂商文档的参考区间内。
  • 只有公网访问慢,内网互访正常,那多半是公网出口或运营商侧链路。

业内专家指出,云环境的网络问题有相当一部分最终定位到公网出口拥塞或运营商互联质量,而不是用户实例本身,这种情况下继续在服务器上改参数,属于无效努力。

具体判断路径:

  1. 用 mtr 从服务器到客户端方向跑,再从客户端到服务器方向跑,对比丢包出现在哪一段。
  2. 换一个运营商线路的机器做对照测试,比如同时用电信和联通节点。
  3. 检查实例规格的网络收发包能力(PPS 上限),小规格实例在突发流量下会先丢包。

如果是公网质量问题,处理方式是提工单、换弹性公网 IP、或者加 CDN 和转发层做兜底,而不是继续调内核。

网络恢复稳定之后:双网卡绑定与监控告警

定位完故障,接下来做的是让它别再复发。

双网卡 bond 怎么配

单点网卡和单点交换机是物理机环境最常见的隐患,Linux 双网卡绑定(bonding)有几种模式:

  • mode=1 主备:配置简单,交换机不用配合,切换时有一次短断。
  • mode=4 LACP:需要交换机侧做端口聚合,吞吐和冗余兼得。
  • mode=0 轮询:不推荐生产使用,容易出现乱序。

配置文件在 /etc/sysconfig/network-scripts/ 下建 ifcfg-bond0,关键几行:

BONDING_OPTS="mode=4 miimon=100 lacp_rate=fast xmit_hash_policy=layer3+4"

注意:云服务器上的多网卡通常不支持 LACP,主备模式也需要厂商支持,上生产前先确认,这条踩坑的人不少。

该盯哪些指标

监控上至少埋这几个点,比看平均延迟有用得多:

  • 网卡 RX/TX dropped 的增量速率,不是绝对值。
  • TCP 重传率的分钟级增量。
  • 各链路的 mtr 丢包率,定期主动探测。
  • 连接数、conntrack 使用率和文件描述符占用。

据工信部公开的通信行业服务质量统计口径,链路质量主要看丢包率与时延抖动这两项,和自己的监控指标对得上。

Linux服务器网络不稳定怎么办:三个高频疑问

问:ping 一直通但业务偶尔报超时,这种情况怎么查?

ping 走 ICMP,业务走 TCP,路径上设备对两者的处理策略可能不同,重点看 TCP 重传、SYN 队列溢出和 conntrack 表满三项,命令在第三层定位里已经列过,另外确认业务侧有没有配超时时间过短的连接池。

问:改了内核参数之后网络更差了,是什么原因?

常见于调大 net.core.somaxconn 和 backlog 却没同步调整应用侧的 accept 队列,或者为了降延迟把 tcp_retries2 调得过小,导致轻微丢包就断连,改参数前先记录基线,一次只改一到两个,观察 24 小时再动下一个。

问:物理机和云服务器的排查思路有什么差别?

物理机多一层网卡速率协商、光模块和交换机端口,ethtool 和 dmesg 的信息量更大;云服务器看不到物理链路,重心放在实例规格的 PPS 上限、安全组丢包计数、公网出口质量,以及多网卡环境下的路由和策略路由配置上。

抓住一条主线就够了:先用 mtr 把丢包钉到具体一跳,再用网卡计数和 TCP 重传判断是本机还是链路,最后才动内核参数和架构层面的冗余,顺序反了,问题只会越查越糊。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/782832.html

赞 (0)
上一篇 2026年11月5日 02:54
下一篇 2026年11月5日 02:56

相关推荐

  • 广电u点服务器支持多少帧4k?4k电视多少帧率才流畅

    广电u点服务器在标准配置下最高支持4K 60帧输出,若搭载2026年主流全量HEVC/H.265硬解集群与AV1解码模块,在专线网络环境中最高可稳定推流4K 120帧,广电u点服务器4K帧率解码力拆解帧率支撑的核心技术底座广电u点服务器的帧率上限并非单一硬件决定,而是由编解码芯片组、GPU集群与总线带宽共同制约……

    2026年4月26日
    5200
  • ASP.NET后台制作攻略,如何高效开发管理系统?|ASP.NET网站后台系统搭建实战指南,快速实现自定义功能

    构建高效、安全、可扩展的ASP.NET网站后台制作核心指南在当今数字化运营时代,一个强大、稳定且易于管理的网站后台系统是企业线上业务的核心引擎,ASP.NET,特别是其现代化演进版本ASP.NET Core,凭借其卓越的性能、丰富的生态系统、企业级的安全特性和跨平台能力,成为构建专业网站后台的首选技术栈之一,本……

    2026年2月9日
    20330
  • 2026广东有云VPS评测靠谱吗?国内海外云服务器哪家性价比高

    2026年广东有云VPS凭借覆盖香港、洛杉矶及国内多地的优质机房资源,以极具竞争力的价格和稳定的网络连接,成为建站与跨境业务的高性价比首选方案,在云计算市场日益内卷的2026年,选择一款既稳定又便宜的VPS不再仅仅是看参数,更要看机房的实际落地能力和网络质量,广东有云作为国内知名的云服务提供商,其产品线虽然精简……

    2026年7月8日
    16000
  • R250服务器2016系统怎么改IP?,服务器IP如何修改?

    戴尔R250服务器装Windows Server 2016改IP,最快路径是“网络共享中心-更改适配器设置-右键网卡-属性-IPv4”,直接填静态IP、掩码、网关和DNS,保存即生效,全程不超过2分钟,但很多运维在实际操作中会卡在“找不到对应网卡”或“改完就断网”上,这篇按场景拆解,从图形界面到命令行再到BMC……

    2026年10月6日
    000
  • AI智能拍照算法是什么,手机AI拍照功能怎么开启?

    在移动摄影领域,硬件传感器的物理尺寸正逐渐触及瓶颈,单纯依靠提升像素数量或光圈大小已难以带来质的飞跃,真正的成像革命源于软件层面的突破,AI智能拍照算法已成为决定影像质量的核心引擎, 它不再仅仅是后期的滤镜处理,而是深入到成像的全链路,通过深度学习、语义分割和多帧合成技术,将硬件捕捉到的原始数据转化为超越人眼视……

    2026年2月19日
    26800
  • 为什么csgo社区服务器连不上,解决方法有哪些?

    CSGO社区服务器连接不上怎么办?最直接的答案:先别急着怪电脑,打开控制台手动输入 connect 服务器IP:端口 验证服务器状态,再用 netstat 检查本地网络,大多数连接失败都出在这两步上,CSGO社区服务器连接不上的常见原因在动手处理之前,你得明白社区服务器和官方匹配完全是两套逻辑,官方匹配由V社调……

    2026年10月10日
    300
  • aspx文件乱码怎么解决设置UTF-8编码格式

    ASPX文件出现乱码的根本原因在于字符编码不一致,当文件保存的编码、服务器解析的编码、浏览器渲染的编码或数据库交互的编码任一环节不匹配时,中文字符或其他非ASCII字符就会显示为乱码,核心解决方案是统一整个数据流的字符编码(强烈推荐使用UTF-8),并确保各环节配置正确,以下是导致ASPX乱码的五大核心原因及即……

    2026年2月6日
    20030
  • fastai深度学习社区怎么样,有哪些学习资源?

    fastai深度学习社区是目前最适合零基础入门的深度学习实践社区,它通过免费、实战导向的课程和全球活跃的讨论氛围,帮助大量学习者快速掌握深度学习核心技能,fastai深度学习社区值得加入吗?很多人一开始都会问fastai深度学习社区怎么样,我的体验是它确实能帮你快速上手,社区最核心的优势在于低门槛+高实践性,让……

    2026年7月21日
    600
  • 我的世界自建房怎么变成服务器,怎么开服?

    方案是否要公网IP适合人数操作难度局域网开放不需要3人以内低路由器端口转发需要10人左右中内网穿透软件不需要5人以内中如果查下来你宽带是内网IP,就别折腾端口转发了,转到本文第五部分用内网穿透解决,Java版单机世界变成服务器的完整流程——三种方法按需选Java版的机制和基岩版不同,它自带一个独立的服务端程序……

    程序编程 2026年10月22日
    000
  • 动态IP解析服务器连接失败咋回事,IP解析失败怎么解决?

    连接动态ip解析服务器失败,根因通常集中在本机网络异常、DDNS服务商状态波动、路由器或防火墙拦截、以及域名解析配置错误这四类上,按顺序排查即可定位,很多人发现家里的NAS或监控连不上了,第一反应是怀疑宽带运营商封了端口,但排查到最后,往往只是路由器里的DDNS客户端悄悄掉线了,或者服务商那边临时抽风,这篇文章……

    程序编程 2026年11月4日
    000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注