ethtool可快速查看网卡物理连接状态、速率、双工模式等关键参数;speed显示协商速率,duplex显示全/半双工,port标识接口类型,link detected为yes表示链路连通,auto-negotiation应为on以确保正确协商。

使用 ethtool 可以快速查看网卡的物理连接状态、速率、双工模式等关键参数,无需重启或进入BIOS,是排查网络连通性与性能问题的第一步。
查看网卡基础物理信息
运行以下命令可获取当前网卡(如 eth0)的实时物理层信息:
ethtool eth0
输出中重点关注以下字段:
-
Speed:当前协商速率(如
1000Mb/s或10000Mb/s) -
Duplex:显示
Full(全双工)或Half(半双工) -
Port:接口类型(常见为
TP表示双绞线,FIBRE表示光纤) -
Link detected:显示
yes表示物理链路已连通,no则需检查网线、交换机端口或光模块
确认是否为全双工模式
全双工(Full Duplex)允许网卡同时收发数据,是现代千兆及以上以太网的标准配置。若显示 Duplex: Half,可能因以下原因导致:
- 对端设备(如交换机端口)未开启自动协商或强制设为半双工
- 网线质量差或长度超标(尤其百兆非屏蔽双绞线超100米时易降级)
- 驱动或固件异常(较少见,可尝试更新网卡驱动)
注意:Linux内核不会主动将全双工“降级”为半双工;若出现 Half,基本说明链路两端协商结果即为此模式。
检查自动协商(Autonegotiation)是否启用
自动协商是决定速率与双工模式的关键机制。输出中 Auto-negotiation 字段应为 on:
- 若为
off,则速率和双工由手动设置(如用ethtool -s eth0 speed 1000 duplex full),但强烈建议保持on以避免两端不匹配 - 若协商失败(如一端开、一端关),可能导致
Speed: Unknown!或Duplex: Unknown!,此时需统一两端配置
对比多网卡或虚拟接口状态
若系统含多个物理网卡(如 enp1s0、enp2s0)或绑定接口(如 bond0),可批量查看:
ethtool -i enp1s0 # 查看驱动与固件版本ethtool -S enp1s0 # 查看详细统计(含错误包、丢包等)ls /sys/class/net/ | grep -E '^(en|eth|bond)' | xargs -I{} sh -c 'echo === {}; ethtool {} | grep -E "Speed|Duplex|Link|Auto"'
该命令能快速比对各接口协商结果,便于发现配置不一致或硬件异常节点。











