如何检查Linux网卡物理连接状态 ethtool查询链路信息详解

如何检查linux系统中网卡的物理连接状态?使用ethtool命令查看链路状态是最常用的方法。首先执行ethtool eth0(接口名根据实际情况替换),在输出中重点关注“link detected”字段,若为yes表示物理连接正常,若为no则可能网线未插好、交换机端口故障或网卡问题。此外可结合其他字段如speed、duplex和auto-negotiation进一步判断配置是否正确。快速检查时可用命令ethtool eth0 | grep "link detected"过滤关键信息,批量检查多个网卡时也可用shell循环实现。若在虚拟机中运行,需注意链路状态反映的是虚拟网络配置,部分老旧网卡或驱动可能不支持完整功能,必要时安装ethtool工具以确保可用性。

如何检查Linux网卡物理连接状态 ethtool查询链路信息详解

网卡物理连接状态的检查在Linux系统维护中非常常见,尤其是在网络不通的情况下,第一步往往就是确认物理层是否正常。

ethtool
是一个常用的工具,可以用来查看和配置网卡驱动及硬件设置,其中最常用的功能之一就是查询链路状态。

如何检查Linux网卡物理连接状态 ethtool查询链路信息详解

一、使用
ethtool
查看网卡链路状态

安装好

ethtool
后,执行命令非常简单:

如何检查Linux网卡物理连接状态 ethtool查询链路信息详解
ethtool eth0

这里的

eth0
是你要查询的网卡接口名称,不同机器可能会有
enp0s3
或者
ens33
等命名方式。运行之后你会看到类似如下的输出:

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
    PHYAD: 1
    Transceiver: internal
    Auto-negotiation: on
    Link detected: yes

重点关注 Link detected 这一项,如果是

yes
,说明物理连接是通的;如果是
no
,那大概率是网线没插好、交换机端口故障或网卡本身有问题。

如何检查Linux网卡物理连接状态 ethtool查询链路信息详解

二、理解关键字段含义

  • Speed: 当前协商速率,常见的有100Mb/s、1000Mb/s(即千兆)。
  • Duplex: 双工模式,Full 表示全双工,Half 表示半双工。
  • Auto-negotiation: 是否启用自动协商,一般建议保持开启。
  • Link detected: 链路是否检测到,这个是最直接的判断依据。

如果你发现 Link detected 是 no,可以尝试以下操作:

  • 检查网线是否插紧
  • 更换网线测试
  • 换个交换机端口试试
  • 查看网卡是否被禁用(
    ip link show

有时候即使网线插着,也可能因为交换机未供电或端口 down 掉导致链路无法建立。

故事AI绘图神器 故事AI绘图神器

文本生成图文视频的AI工具,无需配音,无需剪辑,快速成片,角色固定。

故事AI绘图神器 77 查看详情 故事AI绘图神器

三、快速判断是否有物理连接

如果你只是想快速判断某个网卡有没有链路,可以加上一点 shell 技巧:

ethtool eth0 | grep "Link detected"

这样就能只显示你关心的那一行结果,适合写脚本或远程排查时使用。

另外,一些服务器可能有多个网卡,比如

eth0
eth1
,这时候要逐个检查。也可以用循环来批量查看:

for intf in $(ls /sys/class/net | grep -v lo); do
    echo "=== $intf ==="
    ethtool $intf | grep "Link detected"
done

这会列出所有非回环网卡的链路状态,方便批量检查。


四、其他注意事项

  • 如果你在虚拟机里运行
    ethtool
    ,看到的链路状态取决于虚拟网络的配置,不一定代表真实物理连接。
  • 有些老旧网卡或驱动不支持完整功能,可能导致
    ethtool
    输出信息有限。
  • 在某些发行版中(比如精简版的容器环境),默认可能没有安装
    ethtool
    ,可以通过包管理器安装:
    • Debian/Ubuntu:
      apt install ethtool
    • CentOS/RHEL:
      yum install ethtool

基本上就这些。掌握

ethtool
的基本使用,能快速定位很多网络连接问题,尤其在没有图形界面的服务器环境中非常实用。

以上就是如何检查Linux网卡物理连接状态 ethtool查询链路信息详解的详细内容,更多请关注其它相关文章!

本文转自网络,如有侵权请联系客服删除。