Quiero verificar si un ethX especificado está físicamente arriba o abajo. ¿Cómo hago eso con la línea de comando?
Quiero verificar si un ethX especificado está físicamente arriba o abajo. ¿Cómo hago eso con la línea de comando?
Respuestas:
$ ethtool <eth?>
Por ejemplo:
$ ethtool eth0
proporciona:
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
MDI-X: on
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000001 (1)
Link detected: yes
Verifique /sys/class/net/eth0/operstate
y otros archivos en este directorio.
Hasta donde sé, esto es específico de Linux 2.6+, pero proporciona una interfaz limpia para el controlador del kernel.
La documentación completa para esta parte del sys
sistema de archivos se puede encontrar aquí:
https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net
ethtool [interface]
la última línea muestra lo que quieres:
# ethtool eth0 Configuraciones para eth0: Puertos compatibles: [TP] Modos de enlace admitidos: 10baseT / Half 10baseT / Full 100baseT / Half 100baseT / Full 1000baseT / Full Soporta negociación automática: sí Modos de enlace anunciados: 10baseT / Half 10baseT / Full 100baseT / Half 100baseT / Full 1000baseT / Full Negociación automática anunciada: sí Velocidad: 1000 Mb / s Duplex: completo Puerto: par trenzado PHYAD: 0 Transceptor: interno Negociación automática: en Soporta Wake-on: g Activación: d Nivel de mensaje actual: 0x00000037 (55) Enlace detectado: sí
ip link show
es otro. Buen viejo
ifconfig dev_name
o
ifconfig -a
también te dirá si la interfaz está activa. NOTA: Tenga cuidado con estos métodos, ya que pueden mostrar información desactualizada sobre el estado del enlace.
Link detected: no
lugar de Link detected: yes
, y ip link show se muestra en <NO-CARRIER,BROADCAST,MULTICAST,UP>
lugar de <BROADCAST,MULTICAST,UP,LOWER_UP>
, pero ifconfig -a se muestra UP BROADCAST MULTICAST MTU:1500 Metric:1
, que es lo mismo que cuando se conecta la NIC.
dmesg | grep eth
deberías ver todos los cambios de estado
eth0
dispositivo, pero no en el eth2
dispositivo.
También puede usar mii-tool para ver si el enlace está activo y verificar la velocidad negociada.
# mii-tool
eth0: negociado 100baseTx-FD, enlace ok
# mii-tool eth0: negotiated 1000baseT-FD flow-control, link ok
Puede tener todos los detalles con el siguiente comando
ethtool eth0
Y si solo quieres ver el estado del enlace, da el siguiente comando
mii-tool eth0
netplugd es un servicio que puede ejecutar programas cuando se conecta un cable o se desconecta un cable. Entonces, la línea de comando sería grep / var / log / messages o dmesg para la salida de netplugd.
Para agregar rápidamente a la respuesta de @ goo , debe interpretar el ip link
o de la ip link show INTERFACE
siguiente manera.
Este es un puerto que está administrativamente activo, pero físicamente inactivo:
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
En otras palabras, lo UP
que puede ver indica que el sistema está configurado para intentar usar la NIC para la conexión en red. El NO-CARRIER
aquí te dice cuál es el problema que impedía la creación de redes de trabajo es.
Este es un puerto que está administrativamente inactivo (su capa física está 'activa', técnicamente, es una VM):
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
Finalmente, este puerto funciona normalmente:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq state UP mode DEFAULT group default qlen 1000
Es administrativamente UP
, LOWER_UP
indica que la capa física está funcionando (es decir, hay un operador), y el segundo UP
confirma (en efecto) que la capa IP está activa .