在Rocky Linux用ethtool查网卡速度很简单,先装ethtool:sudo dnf install ethtool
。查当前速度用ethtool 接口名
(比如eth0),看Speed那行。改速度的话先关自动协商:sudo ethtool -s 接口名 autoneg off speed 1000 duplex full
(比如改成千兆),注意网卡得支持这速率,改完用ethtool再看下生效没。改不成功的话检查网卡是否支持该速率,或者驱动有没有限制嗷。
如何使用 ethtool 在 Rocky Linux 中查看并更改网络接口的链路速率?
在Rocky Linux中使用ethtool管理网络接口链路速率时,需遵循以下实践流程及注意事项:
-
查看链路状态
ethtool eth0 | grep -E 'Speed|Duplex|Auto-negotiation'
重点关注Speed字段,若显示'Unknown'可能表示驱动未正确识别物理层状态。实践中发现某些Intel X520网卡在虚拟化场景下会误报速率,需通过dmesg检查内核是否抛出'link is renegotiated'警告。
-
强制设置速率(需root权限)
ethtool -s eth0 speed 1000 duplex full autoneg off
关键挑战:
- Mellanox ConnectX-4以上网卡要求speed必须为25/40/50/100等特定值,强制设置千兆会导致ENOTSUPP错误
- Broadcom网卡需保持autoneg on才能生效,与Intel网卡行为相反
- 虚拟化场景中VMXNET3虚拟网卡不支持速率限制,需在ESXi主机端通过Traffic Shaping实现
-
配置持久化 在/etc/NetworkManager/dispatcher.d/99-ethtool中写入:
if [[ "$1" == "eth0" && "$2" == "up" ]]; then /sbin/ethtool -s eth0 speed 1000 fi
实践中发现systemd-networkd与NetworkManager并存时可能触发多次配置,需添加状态锁文件避免竞态条件。
-
链路验证 使用
ethtool -S eth0 | grep crc
检查物理层错误计数,数据中心场景下CRC错误激增可能表明协商速率与物理线路质量不匹配。
典型故障案例:某次将Cisco Nexus 9000交换机端口强制为10G Full Duplex后,与之直连的Rocky Linux服务器因未关闭autoneg导致持续生成LINK_CHANGE事件,最终触发内核soft lockup。解决方案是同时在交换机和主机端禁用自动协商,并通过watch -n1 'ethtool eth0'
实时监控协商状态。
更多回答
作为IT架构师,建议通过以下步骤使用ethtool管理Rocky Linux网络接口链路速率:
-
查看链路状态:
sudo ethtool eth0
查看"Speed"字段确认当前速率,"Supported link modes"显示设备支持的模式。
-
临时修改速率:
sudo ethtool -s eth0 speed 1000 duplex full autoneg off
需注意:
- 需关闭自动协商(autoneg off)
- 需同时指定speed/duplex
- 需网卡驱动支持手动配置
-
持久化配置: 创建/etc/NetworkManager/dispatcher.d/99-ethtool脚本,添加接口配置 或通过systemd link文件配置
-
风险提示:
- 错误配置可能导致链路中断
- 需确保交换机和设备端速率一致
- 建议在变更前测试支持模式
建议优先通过网卡厂商管理工具(如Intel的ice驱动)进行高级配置,生产环境变更前应在测试环境验证。
使用 ethtool 接口名
查看当前速率,ethtool -s 接口名 speed 速率值 autoneg off
修改速率(需替换具体值)。
在Rocky Linux中使用ethtool管理网络接口链路速率的步骤如下:
-
查看当前状态
ethtool <interface> # 如 ethtool eth0
观察输出中的『Speed』字段和『Supported link modes』列表
-
临时修改速率
sudo ethtool -s <interface> speed <10|100|1000> duplex full autoneg off
需同时指定双工模式并关闭自动协商,生效立即生效但重启失效
-
持久化配置 对于NetworkManager系统:
nmcli con mod <connection-name> ethtool.speed <rate> \ ethtool.autoneg off ethtool.duplex full
传统系统需在/etc/sysconfig/network-scripts/ifcfg-
ETHTOOL_OPTS="-s ${DEVICE} speed 1000 duplex full autoneg off"
-
验证限制 • 需root权限执行 • 物理网卡需支持目标速率 • 虚拟化环境(如VMware)可能受虚拟交换机限制 • 部分企业级网卡支持更精细速率控制(如25000)
-
高级操作:
ethtool -r <interface> # 复位适配器 ethtool -t <interface> # 执行自检
建议生产环境变更前在维护窗口操作,并准备物理访问以防断连。