插件窝 干货文章 linux怎么判断网络是百兆还是千兆

linux怎么判断网络是百兆还是千兆

千兆 网卡 速率 ethtool 816    来源:    2025-05-03

在Linux系统中,可以通过以下几种方法判断网络接口是百兆(100Mbps)还是千兆(1000Mbps):


方法1:使用 ethtool 命令

ethtool 是最直接的工具,可以查看网卡支持的速率和当前协商的速率。

  1. 安装 ethtool(如果未安装):

    sudo apt install ethtool    # Debian/Ubuntu
    sudo yum install ethtool    # CentOS/RHEL
    sudo dnf install ethtool    # Fedora
    
  2. 查询网卡信息(如网卡名为 eth0ens33):

    sudo ethtool eth0
    

    输出示例:

    Settings for eth0:
       Supported ports: [ TP ]
       Supported link modes:   10baseT/Half 10baseT/Full
                               100baseT/Half 100baseT/Full
                               1000baseT/Full      # 支持千兆
       Speed: 1000Mb/s         # 当前速率为千兆
       Duplex: Full
       Port: Twisted Pair
    
    • 关键字段
      • Speed:当前速率(100Mb/s 为百兆,1000Mb/s 为千兆)。
      • Supported link modes:支持的速率模式(若有 1000baseT 则支持千兆)。

方法2:查看 /sys/class/net/ 信息

通过系统文件直接查看当前速率:

cat /sys/class/net/eth0/speed
  • 输出 100 表示百兆,1000 表示千兆。

方法3:使用 dmesg 或内核日志

检查内核启动时的网卡协商记录:

dmesg | grep -i ethernet

输出中可能包含类似信息:

[    5.123456] e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex

方法4:通过 ipifconfig 查看

虽然不能直接显示速率,但可以确认网卡名称和状态:

ip a              # 查看所有网卡
ifconfig -a       # 旧版工具(部分系统需安装 net-tools)

方法5:物理检查(辅助手段)

  1. 网卡型号bash lspci | grep -i ethernet 根据型号搜索其规格(如 Intel I350 是千兆网卡)。
  2. 路由器/交换机指示灯:千兆连接通常有绿色/蓝色指示灯。

常见问题

  1. 速率显示为 Unknown
    • 可能网线或交换机不支持千兆(尝试更换网线或端口)。
    • 驱动问题(检查 dmesg 报错)。
  2. 强制设置速率(如需): bash sudo ethtool -s eth0 speed 1000 duplex full autoneg on

总结

  • 推荐命令ethtool <网卡名> + 检查 Speed 字段。
  • 快速确认cat /sys/class/net/<网卡名>/speed
  • 千兆需满足条件:网卡、网线(Cat5e及以上)、交换机/路由器端口均支持千兆。