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

网卡收发流量严重不对称,比如接收(rx)很高但发送(tx)极低,或反过来,通常不是“正常负载差异”,而是配置、链路或应用行为异常的明确信号。重点不是看绝对值,而是看比例失衡是否超出业务预期——例如 Web 服务一般 tx > rx,而镜像下载或日志采集类服务则 rx 显著偏高。
先确认物理与驱动层是否稳定
很多看似“流量异常”的问题,根源在底层链路不可靠或驱动未正确工作:
- 运行 ethtool eth0(把 eth0 换成你的网卡名),检查 Link detected: yes 和 Duplex: Full 是否正常;若为 No,说明物理连接中断或协商失败
- 执行 ip link show eth0,确认状态为 UP,且无 NO-CARRIER 或 LOWER_UP 缺失
- 查内核报错:dmesg | grep -i "eth0\|virtio\|firmware",重点关注驱动加载失败、PCIe link down、ring buffer overflow 等提示
检查网卡统计是否真实异常
避免被监控工具误导,直接读取内核统计:
- 用 ip -s link show eth0 查看收发包计数、错误(RX-ERR/TX-ERR)、丢弃(RX-DRP/TX-DRP)、溢出(RX-OVR/TX-OVR)
- 若 RX-DRP 或 RX-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 -n 和 iptables -t nat -L -v -n,特别留意 OUTPUT 和 FORWARD 链中是否有针对性 DROP 或 SNAT/DNAT 导致出口路径改变
- 确认是否误配了策略路由:ip rule show 和 ip route show table xxx,某些场景下入向走 eth0、出向强制走 bond1,造成收发接口不一致










