5154

Good Luck To You!

如何在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

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

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年11月    »
12
3456789
10111213141516
17181920212223
24252627282930
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.