如何在Linux中网卡速率 Linux ethtool速率协商

使用ethtool命令可查看和设置网卡速率,如ethtool eth0查看当前速率、双工模式及自动协商状态,通过ethtool -s eth0 speed 100 duplex full autoneg off设置固定速率,需注意两端设备配置匹配,避免双工不匹配导致丢包,设置仅临时生效,持久化需写入网络配置文件。

如何在Linux中网卡速率 Linux ethtool速率协商

在Linux系统中,查看和设置网卡速率通常通过 ethtool 命令实现。这个工具可以查看网卡的当前工作模式、协商速率、双工方式,并支持手动设置速率和关闭自动协商。

查看网卡当前速率和协商状态

使用 ethtool 加网卡接口名,可以查看当前网卡的详细信息:

ethtool eth0

输出内容包括:

  • Speed: 当前协商的速率,如 1000Mb/s
  • Duplex: 双工模式,如 Full
  • Auto-negotiation: 是否开启自动协商
  • Supported link modes: 网卡支持的速率和模式
  • Advertised link modes: 当前广告(协商)的速率模式

设置网卡速率和关闭/开启自动协商

可以使用 ethtool 手动设置网卡速率。常见场景包括强制 100Mbps 全双工,或关闭自动协商避免协商失败。

例如,将 eth0 设置为 100Mbps 全双工,关闭自动协商:

ethtool -s eth0 speed 100 duplex full autoneg off

若要重新启用自动协商(推荐用于大多数环境):

ethtool -s eth0 autoneg on

然后让系统自动协商最佳速率。

如何在Linux中网卡速率 Linux ethtool速率协商

Reecho睿声

Reecho ai:超拟真语音合成与瞬时语音克隆平台

如何在Linux中网卡速率 Linux ethtool速率协商519

查看详情 如何在Linux中网卡速率 Linux ethtool速率协商

其他常用设置示例:

  • 强制 1000Mbps 全双工:
    ethtool -s eth0 speed 1000 duplex full autoneg off
  • 恢复自动协商(建议连接对端也启用):
    ethtool -s eth0 autoneg on

注意事项和常见问题

手动设置速率时需注意以下几点:

  • 两端设备(如服务器与交换机)的速率和双工设置必须匹配,否则可能导致丢包或性能下降。
  • 关闭自动协商后,若对端仍为自动协商,可能出现“双工不匹配”问题。
  • 某些网卡在强制速率时要求 autoneg 关闭,否则设置无效。
  • 设置仅在当前运行时有效,重启后失效。如需持久化,应写入网络配置文件。

在 CentOS/RHEL 系统中,可将命令加入网卡的 ifup 脚本或使用 ETHTOOL_OPTS(旧版本):

# 在 /etc/sysconfig/network-scripts/ifcfg-eth0 中添加
ETHTOOL_OPTS=”speed 1000 duplex full autoneg on”

在 Ubuntu/Debian 系统中,可通过 netplan 或 systemd-networkd 配置,或使用开机脚本。

基本上就这些。ethtool 是调试网卡速率问题的核心工具,理解自动协商机制有助于避免链路异常。

linux centos go ubuntu 工具 linux系统 常见问题 接口 linux ubuntu centos debian

上一篇
下一篇