如何在CentOS中查看并设置指定网卡的速率?

查看当前网口速率与状态

要了解网口的实时工作状态,我们可以使用多种命令行工具。ethtool 是最常用且功能最强大的一个。

如何在CentOS中查看并设置指定网卡的速率?

使用 ethtool 命令

ethtool 可以查询并控制网络驱动程序和硬件设置,如果系统中尚未安装,可以通过 yumdnf 进行安装:

sudo yum install ethtool
# 或者在 CentOS 8/RHEL 8 及更高版本上
sudo dnf install ethtool

安装完成后,使用以下命令查看指定网口(eth0)的详细信息:

ethtool eth0

输出结果中,重点关注以下几个字段:

  • Speed::显示当前连接速率,如 1000Mb/s
  • Duplex::显示双工模式,Full 表示全双工,Half 表示半双工。
  • Link detected::显示物理链路是否连通,yes 表示已连接。

其他查看方法

除了 ethtool,还有其他方式可以获取速率信息:

  • mii-tool:一个较老的工具,用法简单,但可能不支持所有新型网卡。
    sudo mii-tool eth0
  • /sys 虚拟文件系统:这是最直接的方式,无需额外工具。
    cat /sys/class/net/eth0/speed

    该命令会直接返回一个数字,如 1000,代表速率,如果返回 -1,通常表示链路未连通。

修改网口速率与双工模式

在某些特定场景下,例如与老旧设备兼容或进行网络测试,我们可能需要手动指定网口的速率和双工模式。

临时修改

使用 ethtool-s 参数可以临时设置网口参数,但服务器重启后会失效。

如何在CentOS中查看并设置指定网卡的速率?

# 将 eth0 网口设置为 100Mbps 全双工模式,并关闭自动协商
sudo ethtool -s eth0 speed 100 duplex full autoneg off

永久修改

为了让设置在重启后依然生效,需要将配置写入网络配置文件中。

  • 对于 CentOS 7 及更早版本
    编辑网口配置文件,如 /etc/sysconfig/network-scripts/ifcfg-eth0,添加 ETHTOOL_OPTS 变量。

    BOOTPROTO=static
    ...
    ETHTOOL_OPTS="speed 100 duplex full autoneg off"

    保存文件后,重启网络服务使配置生效:

    sudo systemctl restart network
  • 对于 CentOS 8 / RHEL 8 及更高版本
    系统默认使用 NetworkManager,推荐使用 nmcli 命令进行修改。

    # 查看连接名称
    nmcli connection show
    # 修改连接(假设连接名为 'Wired connection 1')的速率和双工模式
    sudo nmcli connection modify 'Wired connection 1' 802-3-ethernet.speed 100 802-3-ethernet.duplex full
    # 重新激活连接使配置生效
    sudo nmcli connection up 'Wired connection 1'

常见问题与排查思路

当网口速率未达到预期时,可以按照以下思路进行排查。

现象 可能原因 排查方法
千兆网卡协商到100Mbps 网线质量不佳(非超五类或六类线)
交换机端口限制
网卡驱动问题
更换高质量网线
检查交换机端口配置
更新或重装网卡驱动
链路时断时续,速率不稳定 网线接触不良
自动协商不匹配
重新插拔网线或更换端口
将服务器和交换机端口都设置为指定速率和全双工
ethtool 显示 Link detected: no 网线未连接或损坏
对端设备未开机
网卡硬件故障
检查物理连接
确认对端设备状态
更换网卡插槽或使用 lspci 查看硬件状态

在排查时,应遵循“先物理后逻辑,先简单后复杂”的原则,首先确保网线、端口等物理层组件正常,再检查驱动和系统配置。


相关问答FAQs

问题1:为什么我的千兆网卡在CentOS中只能跑到100Mbps?

如何在CentOS中查看并设置指定网卡的速率?

解答: 这是一个非常常见的问题,通常由以下几个原因导致:

  1. 物理线路问题:最常见的原因是使用了质量较差或标准不够的网线(如五类线),千兆网络至少需要超五类(Cat 5e)或六类(Cat 6)网线。
  2. 对端设备限制:连接的交换机、路由器端口可能被强制设置为100Mbps,或者其本身不支持千兆。
  3. 自动协商失败:服务器网卡与交换机端口的自动协商参数不匹配,导致协商降级,可以尝试将两端都设置为强制1000Mbps全双工模式进行测试。
  4. 驱动程序问题:过时或不兼容的网卡驱动也可能导致性能问题,可以尝试更新到最新的官方驱动。

问题2:ethtoolmii-tool 有什么区别,我应该优先使用哪个?

解答: ethtoolmii-tool 都是用于查询和配置网络介质独立接口(MII)状态的工具,但它们有显著区别:

  • 功能与时代mii-tool 是一个较老的工具,功能相对简单,主要用于基本的速率和双工查看,而 ethtool 是现代Linux发行版中推荐使用的标准工具,它功能更强大,不仅能查看速率,还能提供详细的网卡寄存器信息、驱动版本、支持的功能特性等,并且支持更丰富的配置选项。
  • 兼容性:许多现代的网卡驱动可能不再支持 mii-tool,但几乎都支持 ethtool

在所有情况下,都应,它更现代、功能更全面,是当前Linux网络管理的首选工具,只有在非常古老的系统或特定受限环境中,才可能需要考虑 mii-tool

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-06 03:40
下一篇 2025-10-06 03:43

相关推荐

  • ftp设置允许别的服务器访问_快速构建FTP站点(Windows

    在Windows中快速构建FTP站点并设置允许其他服务器访问,需要配置FTP服务器软件(如FileZilla Server),设置监听端口、用户权限等。

    2024-06-24
    0015
  • CentOS如何查看web服务端口是否开放?

    在管理和维护基于 CentOS 的服务器时,了解如何查看当前系统上哪些 Web 端口正处于监听状态是一项至关重要的基本技能,无论是进行故障排查、安全审计,还是部署新的网络服务,快速准确地获取端口信息都能极大地提高工作效率,本文将系统性地介绍在 CentOS 系统中查看 Web 端口的几种常用且高效的方法,并辅以……

    2025-10-04
    002
  • flash网站建设教程_使用教程

    Flash已被淘汰,不推荐用于网站建设。建议学习HTML5、CSS3和JavaScript等现代技术进行网页设计。这些技术兼容性好,能创建响应式、交互式网站。

    2024-07-22
    009
  • CentOS7提示command not found autoconf如何解决?

    在 CentOS 7 这个稳定且广泛使用的服务器操作系统中,从源代码编译安装软件是系统管理员和开发者的常见需求,在这个过程中,autoconf 是一个不可或缺的工具,它属于 GNU 构建系统的核心组件,旨在解决软件在不同类 Unix 系统间移植时的复杂性,本文将深入探讨 autoconf 在 CentOS 7……

    2025-10-06
    000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信