85 votes

Comment vérifier l'état physique d'un port ethernet sous Linux ?

Je veux vérifier si un ethX spécifié est physiquement actif ou inactif. Comment puis-je faire cela avec la ligne de commande ?

10voto

Michael Barker Points 8234

Vous pouvez également utiliser mii-tool pour voir si le lien est en place et vérifier la vitesse négociée.

# mii-tool
eth0 : négocié 100baseTx-FD, lien ok

5 votes

Mii-tool est obsolète et ne fonctionne pas pour les interfaces GbE.

2 votes

@DaveCheney # mii-tool eth0: negotiated 1000baseT-FD flow-control, link ok

0 votes

La page de manuel de mii-tool suggère d'utiliser ethtool. Cependant, mii-tool continue à faire son travail, plus utile si on lui donne l'option -v (verbose).

10voto

iwaseatenbyagrue Points 3533

Pour ajouter rapidement à @ goo Vous interpréteriez la réponse de ip link o ip link show INTERFACE comme suit.

Il s'agit d'un port qui est administrativement en service, mais physiquement hors service :

2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000

En d'autres termes, le UP vous pouvez voir que le système est configuré pour essayer d'utiliser la carte réseau pour la mise en réseau. Le site NO-CARRIER vous indique quel est le problème qui empêche le réseau de fonctionner.

Il s'agit d'un port qui est administrativement hors service (sa couche physique est "en service", techniquement - c'est une VM) :

3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000

Enfin, ce port fonctionne normalement :

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq state UP mode DEFAULT group default qlen 1000

Elle est administrativement UP le LOWER_UP indique que la couche physique fonctionne (c'est-à-dire qu'il y a une porteuse), et la seconde UP confirme (en fait) que la couche IP est en place.

1 votes

Belle explication. Merci de votre compréhension.

3voto

Nikunj Ranpura Points 31

Vous pouvez avoir tous les détails avec la commande ci-dessous

ethtool eth0

Et si vous voulez juste voir le statut du lien, donnez la commande suivante

mii-tool eth0

2voto

user63914 Points 91

Netplugd est un service qui peut exécuter un ou plusieurs programmes lorsqu'un câble est branché ou débranché. La ligne de commande serait donc de grep /var/log/messages ou dmesg pour la sortie de netplugd.

1 votes

Ce n'est pas exactement la réponse demandée, mais il est intéressant de la connaître. En tout cas pour moi.

2voto

Pierz Points 491

Si votre système utilise ifplugd (par exemple sur un Raspberry Pi avec Raspbian), vous pouvez alors utiliser l'outil d'état associé ifplugstatus pour obtenir l'état des liaisons de toutes les interfaces :

ifplugstatus

ou une interface spécifique (par exemple eth0) :

ifplugstatus eth0

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X