ethtool 看什么
ethtool 直接向网卡驱动查询物理层状态,是判断『网线、光模块、协商』这三件事的第一眼工具。一块网卡在系统里显示已启用,并不代表链路真的正常:速率可能协商到百兆、双工可能掉到半双工,这些状态下网络能通但会明显变慢或间歇丢包。ethtool eth0 的输出里,速率、双工、自协商状态与链路检测结果四行最关键。
基本信息
| 适用平台 | Linux 需要安装 ethtool 包;Windows 用网卡属性或厂商工具查看对应信息 |
|---|---|
| 核心命令 | ethtool 网卡名 查看状态;-S 看统计;-i 看驱动;--show-permaddr 看永久地址 |
| 权限要求 | 查看通常不需 root;修改链路参数与重启协商需要 root |
| 注意 | 虚拟机与容器网卡显示的是虚拟值,不能代表宿主物理口状态 |
典型使用场景
- 报修前先自查:用户说网慢,先看是不是协商到了百兆或半双工
- 割接后核验:换过网线、光模块或交换机端口后确认协商结果符合预期
- 排查间歇丢包:结合错误计数器判断是否存在双工不匹配造成的冲突
- 资产清点:用永久地址字段核对物理网卡身份,排查地址克隆问题
- 虚拟化环境对照:先看虚拟机网卡,再回到宿主机物理口上看真实协商结果
基础查询
基础查询
ethtool eth0 # 查看链路状态:速率、双工、自协商、链路检测
ethtool -i eth0 # 查看驱动与固件版本,判断是否为已知问题版本
ethtool --show-permaddr eth0 # 查看永久硬件地址,用于核对是否被克隆
ethtool -r eth0 # 重新协商链路,执行瞬间会短暂断网
ethtool -s eth0 speed 1000 duplex full autoneg on # 固定速率与双工,需两端一致关键字段读法
| 字段 | 含义 | 正常与异常 |
|---|---|---|
| Speed | 协商出的链路速率 | 千兆口应显示 1000Mb/s 或更高;显示 100Mb/s 说明线缆或端口有问题 |
| Duplex | 双工模式 | 现代链路应为 Full;出现 Half 基本可判定协商异常 |
| Auto-negotiation | 自协商是否开启 | 两端不一致时容易出现速率与双工不匹配 |
| Link detected | 是否检测到有效链路信号 | 显示 no 说明对端未通、未插线或光模块异常 |
| Supported link modes | 网卡支持的链路模式 | 期望模式不在列表里说明硬件能力本身不支持 |
典型异常组合
| 输出表现 | 常见原因 | 处理方向 |
|---|---|---|
| 速率低且为半双工 | 网线劣质、水晶头氧化、两端强制配置不一致 | 换线、改用自协商,必要时两端统一固定参数 |
| 速率正常但反复闪烁 | 光模块或电口接触不良 | 清洁或更换模块,检查端口错误计数 |
| 链路检测为否 | 对端设备未启用、线缆断、光衰过大 | 先替换线缆与端口,再查对端状态 |
| 速率显示为未知 | 驱动或虚拟网卡不支持该查询 | 换用驱动级信息或到宿主机物理口上确认 |
千兆及以上链路在标准里不允许半双工:看到半双工基本可以断定协商出了问题,而不是『网络本来就慢』。
ethtool -r 会重启自协商,链路会短暂中断;在业务高峰或远程管理链路上执行要提前确认影响范围与备用通道。
用 ethtool -s 强制固定速率与双工必须两端同时修改,单端强制会造成协商不一致,反而引发丢包与性能骤降。