CentOS环境下查看网线连接状态

本文主要介绍在Linux环境(主要是CentOS)如何查看网线是否连接

在CentOS下的网络配置很简单了,在工作中还遇到的一个情况就是:一个服务器有多个同类型的网口,但是只需要配置其中一个设备,这个时候就需要查看是哪个网口连接了网线、光纤等硬件设备,然后再进行相应的配置。

ethtool命令

这个命令的执行结果如下所示:

-> # ethtool enp2s0f0
Settings for enp2s0f0:
    Supported ports: [ FIBRE ]
    Supported link modes:  1000baseT/Full
                            10000baseT/Full
    Supported pause frame use: No
    Supports auto-negotiation: Yes
    Advertised link modes:  1000baseT/Full
                            10000baseT/Full
    Advertised pause frame use: No
    Advertised auto-negotiation: Yes
    Speed: Unknown!
    Duplex: Unknown! (255)
    Port: FIBRE
    PHYAD: 0
    Transceiver: external
    Auto-negotiation: on
    Supports Wake-on: d
    Wake-on: d
    Current message level: 0x00000007 (7)
                  drv probe link
    Link detected: no

相关字段的解释如下:
Supported link modes:支持的速率,可以查看千兆还是万兆类型的网卡
Link detected - 是否连接网线、光纤等设备

缺点:
对于InfiniBand类型的网络不支持速率的识别,【 Supported ports】字段内容为空。

ifconfig -a
使用ifconfig 命令可以获取所有网卡设备的信息,如果需要查看哪些设备连接网线,需要通过 RX packets或者TX packets进行判断,如果数值为0的话通常表示没有硬件连接。
缺点:
不能直接显示设备连接情况,需要通过其它参数进行判断。如果网口连接过网线,可能会导致数据不准确,需要使用ifdown、ifup命令重启设备。

ip a
使用这个命令可以获取本机上所有设备的状态信息, 通过 “qdisc mq state”后面的值是UP还是DOWN来判断是否已经连接网线。
(此命令对于网线,光纤,InfiniBand类型设备都可以进行支持)

nmcli dev status
使用这个命令可以获取本机上所有设备的状态信息, 通过CONNECTIONZ字段就可以很方便看出是否有设备连接。
推荐的使用方式!

此外,还可以使用service network status 命令查看当前配置的网卡设备信息。

相关推荐