跳转到主内容
极星编程网:以代码为星,赴技术山海!

如何设置Linux网卡工作模式 半双工全双工切换

linux 网卡工作模式可通过ethtool工具调整,1.临时修改使用命令sudo ethtool -s eth0 speed 100 duplex full autoneg off;2.永久修改需在配置文件中添加ethtool_opts或ethtool_opts参数;3.排查 网络问题 时应检查网线、端口、驱动及系统日志,并确保两端设备协商一致。 Linux网卡工作模式的设置,简单来说,就是调整网卡是“你说一句我回一句”的半双工模式,还是“你说你的我说我的”全双工模式。通常情况下,全双工效率更高,但有时候半双工在特定环境下反而更稳定。 解决方案 调整Linux网卡工作模式,主要通过
ethtool
这个工具。如果你的系统里没有它,先安装一下:
sudo apt-get install ethtool
(Debian/Ubuntu) 或者
sudo yum install ethtool
(CentOS/RHEL)。 查看当前网卡工作模式:
ethtool eth0
(假设你的网卡是eth0,用
ip addr
或者
ifconfig
命令可以查看网卡名称)。 找到“Duplex”这一行,会显示Full或者Half。 临时修改网卡工作模式:
sudo ethtool -s eth0 speed 100 duplex full autoneg off
。 这条命令将eth0网卡设置为100Mbps全双工,并且关闭自动协商。
speed
可以是 10, 100, 1000 (Mbps),
duplex
可以是
full
或者
half
。
autoneg off
是关闭自动协商,如果开启自动协商,可以设置为
autoneg on
。 注意: 临时修改重启后失效。 永久修改网卡工作模式: 这个稍微麻烦点,需要修改网卡配置文件。不同的Linux发行版配置文件位置可能不一样。 Debian/Ubuntu: 编辑
/etc/network/interfaces
文件。 找到你的网卡配置段,添加或者修改
ethtool_opts
选项。 例如:
auto eth0 iface eth0 inet dhcp ethtool_opts "-s eth0 speed 100 duplex full autoneg off"
然后重启网络服务:
sudo systemctl restart networking
Trae linux Trae Linux 官方版本现已全面上线,开发者可直接访问 Trae 官网(trae.cn 国内版或 trae.ai 国际版)获取专属安装包。该版本完美适配主流 Linux 发行版,提供 .deb(适配 Ubuntu/Debian)、.rpm(适配 RHEL/Fedora)以及通用 .tar.gz 格式,并全面支持 x64 与 ARM64 架构。 下载 CentOS/RHEL: 编辑
/etc/sysconfig/network-scripts/ifcfg-eth0
文件 (假设你的网卡是eth0)。 添加以下内容:
ETHTOOL_OPTS="speed 100 duplex full autoneg off"
然后重启网络服务:
sudo systemctl restart network
注意: 永久修改需要根据你的发行版和网络配置工具进行调整。 关于自动协商 (Autonegotiation): 通常情况下,保持自动协商开启 (
autoneg on
) 是最佳选择,网卡会自动和对端设备协商最佳的工作模式。 只有在遇到兼容性问题或者需要强制指定工作模式时,才需要关闭自动协商。 关闭自动协商需要确保两端设备的工作模式一致,否则可能导致网络问题。 为什么我的网卡速度只有10Mbps? 这可能有很多原因,但最常见的是: 网线问题: 劣质网线或者网线损坏可能导致速度降低。 尝试更换一根质量好的网线(Cat5e或者Cat6)。 网卡或交换机端口限制: 检查网卡和交换机端口是否支持更高的速度。有些老旧的设备可能只支持10Mbps或者100Mbps。 驱动问题: 某些 网卡驱动 可能存在问题,导致速度受限。 尝试更新网卡驱动。 自动协商问题: 自动协商失败可能导致网卡降速到最低速率。尝试手动设置网卡工作模式,关闭自动协商,并确保两端设备的工作模式一致。 如何排查网卡工作模式导致的网络问题? 首先,使用
ethtool eth0
命令查看网卡当前的工作模式和协商状态。 如果发现协商失败或者工作模式不正确,可以尝试以下步骤: 检查网线和端口: 确保网线质量良好,并且网卡和交换机端口都支持期望的速度。 尝试手动设置工作模式: 关闭自动协商,手动设置网卡工作模式,并确保两端设备的工作模式一致。 检查驱动: 确保网卡驱动是最新的,并且没有已知的问题。 测试不同设备: 将网卡连接到不同的交换机端口或者不同的设备上,以排除设备兼容性问题。 查看系统日志: 系统日志 (例如
/var/log/syslog
或者
/var/log/messages
) 可能包含有关网卡工作模式协商失败或者其他网络问题的错误信息。 自动协商开启后,为什么网卡还是工作在半双工模式? 自动协商的目标是找到双方都支持的最佳工作模式。 如果网卡最终工作在半双工模式,可能是以下原因: 对端设备不支持全双工: 如果连接的交换机或者其他设备只支持半双工模式,那么网卡也只能工作在半双工模式。 自动协商失败: 自动协商过程中可能出现错误,导致网卡降级到半双工模式。 可以尝试重启网卡或者交换机,重新进行自动协商。 线缆问题: 质量差的网线可能影响自动协商的结果,导致协商失败。 总之,排查这类问题需要仔细检查网络连接的各个环节,从网线、端口到设备配置和驱动,逐步排除故障。

相关文章