ethtool是linux下排查网卡底层故障的核心工具,可查看链路状态、协商能力、驱动统计并临时修改参数。执行ethtool eth0获取速率、双工、自动协商及物理连通性;link detected: no需检查物理连接;speed为0或unknown表明协商失败;-s参数可定位crc错误、丢包等隐性问题。

遇到网卡无法连接、速度异常或频繁断连时,ethtool 是 Linux 下最直接、最有效的底层排查工具。它能读取和修改网卡驱动、物理层、链路状态等关键信息,比 ifconfig 或 ip 命令更深入。
查看网卡基础状态和能力
运行 ethtool eth0(将 eth0 替换为你的实际网卡名,如 enp0s3、ens33)可获取完整摘要:
- Settings for eth0:显示当前协商的速率(Speed)、双工模式(Duplex)、是否启用自动协商(Auto-negotiation)
- Supported link modes:网卡硬件支持的速率/双工组合(如 1000baseT/Full)
- Advertised link modes:当前向对端通告的能力(受 auto-negotiation 和 ethtool -s 设置影响)
- Link detected: yes/no:物理链路是否连通(注意:这不等于网络层可达)
检查物理连接与链路协商问题
很多“网卡 down”其实是物理层失败:
无线网络修复工具是一款联想出品的小工具,旨在诊断并修复计算机的无线网络问题。它全面检查硬件故障、驱动程序错误、无线开关设置、连接设置和路由器配置。 该工具支持 Windows XP、Win7 和 Win10 系统。请注意,在运行该工具之前,应拔出电脑的网线,以确保准确诊断和修复。 使用此工具,用户可以轻松找出并解决 WiFi 问题,无需手动排查故障。它提供了一键式解决方案,即使对于非技术用户也易于使用。
- 若 Link detected: no,先确认网线是否插紧、交换机端口是否 up、光纤是否弯折或脏污
- 若 Link detected: yes 但 Speed 显示 Unknown 或为 0,大概率是两端 auto-negotiation 不兼容(常见于旧交换机或强制设速后未同步)
- 对比本端 Advertised 和对端设备支持的模式,确保有交集;必要时在交换机侧也检查协商结果
临时修改网卡参数(慎用)
使用 ethtool -s 可手动设置速率和双工,用于排除 auto-negotiation 故障:
- 关闭自动协商并强制千兆全双工:ethtool -s eth0 speed 1000 duplex full autoneg off
- 恢复自动协商:ethtool -s eth0 autoneg on(执行后通常需等 3–5 秒重新协商)
- ⚠️ 注意:强制模式必须与对端设备配置严格匹配,否则链路无法建立;修改不持久,重启或网卡重载后失效
查看驱动与收发统计,定位隐性故障
添加 -S 参数可输出详细计数器,帮助发现 CRC 错误、丢包、缓冲区溢出等软故障:
- ethtool -S eth0 | grep -i "error\|drop\|over" 关注 rx_crc_errors、tx_aborted_errors、rx_missed_errors 等字段
- 持续增长的 rx_crc_errors 暗示线路干扰、网线质量差或接口接触不良
- 大量 rx_missed_errors 可能因 CPU 过载、中断分配不均或驱动处理不过来,需结合 top、irqbalance 检查









