1、ip addr | grep LOWER_UP
2、ethtool eth0 | grep detect
3、mii-tool -w ethx 这三个命令来查看网线是否插着,并且物理状态是否激活?
遇到外场故障,反馈直接断电更换机柜后一个无线核心网服务器运行不正常,所有基站都无法连接核心网设备。,接显示器发现arp -n,ip neigh list后,发现服务器上没有任何基站的mac地址,ifconfig eth0发现链路是up态。让直连设备,反馈也ping不通,抓包发现arp请求消息没有回,查看网卡eth0的收发都是0,判断网卡故障,建议让dell服务器厂家进行检测,反馈检测网卡正常。判断为更换系统故障,让用户备份数据,准备重装centos系统。等服务人员到达现场发现,客户把网线查到服务器的idrac接口上,而不是eth0口上,改接回来后发现业务正常。
当时ifconfig看eth0是up态,为什么会没有没发现插线呢?显然受了这个命令的误导。
在公司模拟,发现ifconfig无论是否插网线,均显示up态。但断线后仅仅少了running的标志位。
发现用ifconfig,ip addr,ethtool,mii-tool才能检测线路的物理状态。
分别插上网线,拔掉网线用几个命令进行进行对比测试。
Thu Aug 1 16:31:05 CST 2019开始测试链路物理状态
ifconfig eth0
eth0 Link encap:Ethernet HWaddr C8:1F:66:E4:1A:0A
inet6 addr: fe80::ca1f:66ff:fee4:1a0a/64 Scope:Link
UPBROADCASTRUNNINGMULTICAST MTU:1500 Metric:1(网线插上并且点亮状态灯是有running显示)
RX packets:22464301 errors:0 dropped:0 overruns:0 frame:0
TX packets:147296815 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2475109636 (2.3 GiB) TX bytes:18645815710 (17.3 GiB)
Interrupt:35
ip addr | grep stat
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq stateUPqlen 1000
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
5: eth3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
ethtool eth0 | grep detect
Link detected:yes
Thu Aug 1 16:31:05 CST 2019 开始拔出网线进行几个命令的测试。
NOW pull out the wire plug (拔出网线插头)
现在拔掉网线执行几个命令显示:
ifconfig eth0(发现ifconfig不能测试链路状态,都是up态)
eth0 Link encap:Ethernet HWaddr C8:1F:66:E4:1A:0A
inet6 addr: fe80::ca1f:66ff:fee4:1a0a/64 Scope:Link
UPBROADCAST MULTICAST MTU:1500 Metric:1(拔掉网线后没有running的显示)
RX packets:22464315 errors:0 dropped:0 overruns:0 frame:0
TX packets:147297002 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2475110672 (2.3 GiB) TX bytes:18645839744 (17.3 GiB)
Interrupt:35
ip addr | grep stat(可以看到链路的物理状态,可以看到状态down,有没有载波的显示)
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq stateDOWNqlen 1000
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
5: eth3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
ethtool eth0 | grep detect(检测到没有载波)
Link detected:no
NOW pull on the wire plug
mii-tool -w eth0(跟踪物理链路并且激活状态灯,可以看到连接是否在线)
16:31:12 eth0:no link(发现没有连接)
16:31:20 eth0:negotiated 100baseTx-FD, link ok(发现)
测试是可以用ethtool -p eth0来测试网卡,网卡的双灯会一秒一闪。
ifconfig ethx不可靠,可用ip addr,ethtool ,mil-tool命令来确认。