上一篇
Linux千兆网卡如何强制百兆?
- Linux
- 2025-06-06
- 3177
在Linux系统中,可以使用
ethtool
命令将千兆网卡强制设置为百兆模式,执行命令
sudo ethtool -s speed 100 duplex full
(或
half
)即可实现网卡速率降速。
在Linux系统中,将千兆网卡降速为百兆通常用于解决兼容性问题(如连接老旧交换机)、降低功耗或排除网络故障,以下是三种主流方法,操作前请备份配置文件并确保具备root
权限。
使用 ethtool 工具(推荐)
ethtool
是Linux下最直接的网卡配置工具,支持实时修改速率。
操作步骤:
-
安装 ethtool(若未预装):
# Debian/Ubuntu sudo apt install ethtool -y # CentOS/RHEL sudo yum install ethtool -y
-
查看当前网卡状态(以网卡
eth0
为例):sudo ethtool eth0
输出关键信息:
Speed: 1000Mb/s # 当前为千兆 Supported link modes: 1000baseT/Full 100baseT/Full # 支持的速率
-
降速为百兆:
sudo ethtool -s eth0 speed 100 duplex full autoneg off
speed 100
:强制速率100Mbpsduplex full
:全双工模式(百兆需匹配)autoneg off
:关闭自动协商(必须关闭才能强制生效)
-
验证结果:
sudo ethtool eth0 | grep -i "Speed"
输出应为:
Speed: 100Mb/s
注意:此修改重启后失效,若需永久生效,需结合方法二。
修改网络配置文件(永久生效)
通过系统网络服务固化配置,以主流发行版为例:
Ubuntu/Debian(Netplan)
-
编辑配置文件(如
/etc/netplan/01-netcfg.yaml
):network: version: 2 ethernets: eth0: dhcp4: true link-local: [] # 添加以下参数 ethtool: features: {} link-mode: 100baseT-full # 关键配置
-
应用配置:
sudo netplan apply
CentOS/RHEL(NetworkManager)
-
创建降速脚本(如
/sbin/slow_eth0.sh
):#!/bin/bash /sbin/ethtool -s eth0 speed 100 duplex full autoneg off
-
添加开机执行权限:
sudo chmod +x /sbin/slow_eth0.sh echo "/sbin/slow_eth0.sh" | sudo tee -a /etc/rc.local sudo chmod +x /etc/rc.local
使用 ip 命令(临时生效)
ip
命令可配合 ethtool
实现快速调整:
sudo ip link set eth0 down # 先关闭网卡 sudo ethtool -s eth0 speed 100 duplex full autoneg off sudo ip link set eth0 up # 重启网卡
注意事项与常见问题
-
兼容性检查:
执行ethtool eth0
确认网卡支持100baseT/Full
模式,否则无法降速。 -
恢复千兆模式:
sudo ethtool -s eth0 speed 1000 duplex full autoneg on
-
故障排除:
- 网卡无法连接:检查双工模式是否匹配(百兆设备需同为
full duplex
)。 - 命令报错:尝试加载内核模块
sudo modprobe mii
(部分老旧驱动需此模块)。 - 重启失效:确认永久配置文件的语法和路径是否正确。
- 网卡无法连接:检查双工模式是否匹配(百兆设备需同为
-
风险提示:
- 强制降速可能导致网络延迟升高,仅在必要时使用。
- 部分USB网卡或虚拟网卡可能不支持速率调整。
降速为百兆是解决特定兼容性问题的有效手段,但会牺牲网络性能,建议优先使用 ethtool
临时调试,确认稳定后再改为永久配置,对于服务器等关键设备,操作前务必在测试环境验证。
引用说明:
- Linux
ethtool
官方文档:https://www.kernel.org/doc/html/latest/networking/ethtool.html- Netplan 配置参考:https://netplan.io/reference
- RHEL 网络管理指南:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_and_managing_networking/index