Ich möchte überprüfen, ob ein bestimmtes ethX physisch inaktiv oder inaktiv ist. Wie mache ich das mit der Kommandozeile?
Ich möchte überprüfen, ob ein bestimmtes ethX physisch inaktiv oder inaktiv ist. Wie mache ich das mit der Kommandozeile?
Antworten:
$ ethtool <eth?>
Zum Beispiel:
$ ethtool eth0
bietet:
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
Überprüfen Sie /sys/class/net/eth0/operstate
und andere Dateien in diesem Verzeichnis.
Soweit ich weiß, ist dies spezifisch für Linux 2.6+, bietet aber eine saubere Schnittstelle zum Kerneltreiber.
Die vollständige Dokumentation für diesen Teil des sys
Dateisystems finden Sie hier:
https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net
ethtool [interface]
letzte Zeile zeigt was Sie wollen:
# ethtool eth0 Einstellungen für eth0: Unterstützte Ports: [TP] Unterstützte Verbindungsmodi: 10baseT / Half 10baseT / Full 100baseT / Half 100baseT / Full 1000baseT / Full Unterstützt Auto-Negotiation: Ja Angekündigte Verbindungsmodi: 10baseT / Half 10baseT / Full 100baseT / Half 100baseT / Full 1000baseT / Full Angekündigte automatische Aushandlung: Ja Geschwindigkeit: 1000Mb / s Duplex: Voll Anschluss: Twisted Pair PHYAD: 0 Transceiver: intern Auto-Negotiation: Ein Unterstützt Wake-on: g Wake-On: d Aktuelle Nachrichtenstufe: 0x00000037 (55) Link erkannt: ja
ip link show
ist ein anderer. Gute alte
ifconfig dev_name
oder
ifconfig -a
wird Ihnen auch sagen, ob die Schnittstelle aktiv ist. HINWEIS: Seien Sie bei diesen Methoden vorsichtig, da sie veraltete Informationen zum Status des Links anzeigen können.
Link detected: no
statt Link detected: yes
, und ip link show zeigt <NO-CARRIER,BROADCAST,MULTICAST,UP>
statt <BROADCAST,MULTICAST,UP,LOWER_UP>
, aber ifconfig -a zeigt UP BROADCAST MULTICAST MTU:1500 Metric:1
, die die gleiche wie wenn die NIC angeschlossen ist .
dmesg | grep eth
du solltest alle statuschanges sehen
eth0
Gerät funktioniert , aber es funktioniert nicht auf dem eth2
Gerät.
Sie können mii-tool auch verwenden, um festzustellen, ob der Link aktiv ist, und um die ausgehandelte Geschwindigkeit zu überprüfen.
# mii-tool
eth0: 100baseTx-FD ausgehandelt, Link ok
# mii-tool eth0: negotiated 1000baseT-FD flow-control, link ok
Sie können alle Details mit dem folgenden Befehl haben
ethtool eth0
Und wenn Sie nur den Linkstatus sehen möchten, geben Sie den folgenden Befehl ein
mii-tool eth0
netplugd ist ein Dienst, der Programme ausführen kann, wenn ein Kabel eingesteckt oder ein Kabel herausgezogen ist. Die Befehlszeile wäre also grep / var / log / messages oder dmesg für die netplugd-Ausgabe.
Um die Antwort von @ goo schnell zu ergänzen , würden Sie das ip link
oder ip link show INTERFACE
wie folgt interpretieren .
Dies ist ein Port, der administrativ aktiv, aber physisch inaktiv ist:
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
Mit anderen Worten: Das UP
angezeigte Symbol zeigt an, dass das System für den Versuch konfiguriert ist, die Netzwerkkarte für das Netzwerk zu verwenden. Die NO-CARRIER
hier erfahren Sie , was das Problem zu verhindern , dass Arbeits Vernetzung ist.
Dies ist ein Port, der administrativ inaktiv ist (seine physische Schicht ist technisch gesehen "inaktiv" - es ist eine VM):
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
Schließlich funktioniert dieser Port normal:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq state UP mode DEFAULT group default qlen 1000
Es ist administrativ UP
, das LOWER_UP
zeigt an, dass die physikalische Schicht arbeitet (dh es gibt einen Träger), und das zweite UP
bestätigt (in der Tat), dass die IP-Schicht aktiv ist.