0

0

Linux 网卡流量突然不对称(收发包差距巨大)排查思路

舞夢輝影

舞夢輝影

发布时间:2026-01-21 20:00:01

|

362人浏览过

|

来源于php中文网

原创

网卡收发流量严重不对称通常是配置、链路或应用异常的明确信号,需依次检查物理连接、驱动状态、内核统计、流量来源、进程行为及防火墙/路由策略。

linux 网卡流量突然不对称(收发包差距巨大)排查思路

网卡收发流量严重不对称,比如接收(rx)很高但发送(tx)极低,或反过来,通常不是“正常负载差异”,而是配置、链路或应用行为异常的明确信号。重点不是看绝对值,而是看比例失衡是否超出业务预期——例如 Web 服务一般 tx > rx,而镜像下载或日志采集类服务则 rx 显著偏高。

先确认物理与驱动层是否稳定

很多看似“流量异常”的问题,根源在底层链路不可靠或驱动未正确工作:

  • 运行 ethtool eth0(把 eth0 换成你的网卡名),检查 Link detected: yesDuplex: Full 是否正常;若为 No,说明物理连接中断或协商失败
  • 执行 ip link show eth0,确认状态为 UP,且无 NO-CARRIERLOWER_UP 缺失
  • 查内核报错:dmesg | grep -i "eth0\|virtio\|firmware",重点关注驱动加载失败、PCIe link down、ring buffer overflow 等提示

检查网卡统计是否真实异常

避免被监控工具误导,直接读取内核统计:

a0.dev
a0.dev

专为移动端应用开发设计的AI编程平台

下载
  • ip -s link show eth0 查看收发包计数、错误(RX-ERR/TX-ERR)、丢弃(RX-DRP/TX-DRP)、溢出(RX-OVR/TX-OVR)
  • RX-DRPRX-OVR 持续增长,说明内核 Ring Buffer 不足或内存压力大,导致接收包被静默丢弃(表现为“收不到”但实际已进网卡)
  • TX-DRP 高,可能是输出队列满、QoS 限速、或防火墙规则(如 iptables OUTPUT 链 DROP)主动丢弃

定位是本机行为还是外部影响

区分流量来源和去向,才能判断责任边界:

  • iftop -i eth0 -P 实时观察:哪些远端 IP 和端口在大量收/发?如果全是某个 IP 单向发包(如 UDP 扫描、SYN Flood),可能是被攻击
  • nethogs -d 2 查进程级流量:确认是否某个进程(如 rsync、tcpdump、日志轮转脚本)在单向猛灌数据
  • 对比 ss -s 输出中的 total:TCP: 行,若 ESTAB 连接数极少但 RX 包量巨大,大概率是无效流量(如 ICMP 泛洪、UDP 反射攻击)

排查常见人为配置陷阱

一些看似合理的配置,会导致收发行为严重割裂:

  • 检查是否启用了 tcp_tw_recycle(已废弃)或 rp_filter(反向路径过滤):开启 strict 模式(net.ipv4.conf.eth0.rp_filter = 1)可能导致多路径或非对称路由下回包被丢弃,表现为“能收不能回”
  • 查看防火墙规则:iptables -L -v -niptables -t nat -L -v -n,特别留意 OUTPUT 和 FORWARD 链中是否有针对性 DROP 或 SNAT/DNAT 导致出口路径改变
  • 确认是否误配了策略路由:ip rule showip route show table xxx,某些场景下入向走 eth0、出向强制走 bond1,造成收发接口不一致

相关专题

更多
硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1047

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

86

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

455

2025.12.29

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

11

2026.01.19

overflow什么意思
overflow什么意思

overflow是一个用于控制元素溢出内容的属性,当元素的内容超出其指定的尺寸时,overflow属性可以决定如何处理这些溢出的内容。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1743

2024.08.15

tcp和udp的区别
tcp和udp的区别

TCP和UDP的区别,在连接性、可靠性、速度和效率、数据报大小以及适用场景等方面。本专题为大家提供tcp和udp的区别的相关的文章、下载、课程内容,供大家免费下载体验。

119

2023.07.25

udp是什么协议
udp是什么协议

UDP是OSI参考模型中一种无连接的传输层协议。本专题为大家带来udp是什么协议的相关文章,免费提供给大家。

287

2023.08.08

tcp和udp有什么区别
tcp和udp有什么区别

tcp和udp的区别有:1、udp是无连接的,tcp是面向连接的;2、udp是不可靠传输,tcp是可靠传输;3、udp是面向报文传输,tcp是面向字节流传输。想了解更多tcp相关的内容,可阅读本专题下面的相关文章。

381

2024.11.14

Java编译相关教程合集
Java编译相关教程合集

本专题整合了Java编译相关教程,阅读专题下面的文章了解更多详细内容。

9

2026.01.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.5万人学习

Git 教程
Git 教程

共21课时 | 2.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号