Der Befehl ethtool

ethtool-featured

In diesem Beitrag werden einige grundlegende Anwendungen des Befehls ethtool gezeigt und mit Beispielen verdeutlicht. Bei dem Befehl ethtool handelt es sich um ein Konfigurations- und Diagnosewerkzeug für kabelgebundene Netzwerkkarten.

Die Anwendungsmöglichkeiten des Befehls sind äußerst vielfältig, jedoch von der verwendeten Hardware und Treibern abhängig - entsprechend können ist das Verhalten des Befehls nicht auf allen Systemen gleich.


Installation

Der Befehl ethtool ist nicht standardmäßig auf allen Systemen installiert - die Installation kann jedoch bei Bedarf einfach über den folgenden Befehl nachgeholt werden.

apt-get install ethtool

Möchten Sie mehr über die Paket- und Quellenverwaltung mit apt erfahren, dann lesen Sie auch unseren Beitrag zu diesem Thema.

Allgemeine Syntax

Die allgemeine Syntax des Befehls ethtool lautet folgendermaßen:

ethtool [Optionen] [Gerätename] [Weitere Parameter]

Die in der obigen Syntax genannten weiteren Parameter sind dabei in Abhängigkeit der zuvor gewählten Optionen zu setzen. Der Befehl ethtool erfordert in den meisten Fällen Root-Rechte.

Wird der Befehl ethtool ohne jegliche Optionen ausgeführt, so werden verschiedene Informationen zur Konfiguration des angegebenen Geräts ausgegeben. Die Ausgabe teilt sich dabei in Informationen zur Gegenstelle (oben) und solchen zur momentanen Konfiguration des Geräts (unten) auf.

Beispiel: ethtool ohne Optionen

Hier wird der Befehl ethtool beispielhaft ohne Optionen ausgeführt. In diesem Fall wird das Netzwerkgerät "ens33" ausgewählt - es handelt sich um eine virtuelle Maschine (VM).
Eingabe:

ethtool ens33

Ausgabe:

In der Ausgabe des Befehls sind verschiedene Informationen zu unterstützten / "beworbenen" Einstellungen (1) sowie der derzeitigen Konfiguration (2) zu sehen.

befehl-ethtool-beispiel-1

Wichtige Anwendungen

In diesem Abschnitt sollen nun einige wichtige Anwendungen von ethtool vorgestellt werden, wobei auch einige Optionen des Befehls zum Einsatz kommen.

NIC- und treiberspezifische Statistiken auslesen

Mithilfe der Option -S ist es möglich, eine detaillierte Übersicht zu NIC- und treiberspezifischen Statistiken, etwa möglichen aufgetretenen Übertragungsfehlern, zu erhalten.

ethtool -S [Gerätename]
Beispiel: NIC- und treiberspezifische Statistiken auslesen

In diesem Beispiel wird die Option -S verwendet, um detaillierte NIC- und treiberspezifische Statistiken auszulesen.
Eingabe:

ethtool -S ens33

Ausgabe:

Der Ausgabe sind nun verschiedene Statistiken zu entnehmen. (Im unten gezeigten Screenshot wird nur ein Ausschnitt der Daten gezeigt)

befehl-ethtool-beispiel-2

Geschwindigkeit / Modus setzen

Die Übertragungsgeschwindigkeit sowie der Modus können mit der Option -s - diese wird bei ethtool im Allgemeinen zum Ändern von Einstellungen verwendet - gesetzt werden.

ethtool -s [Gerätename] speed [10|100|1000] duplex [half|full]
Beispiel: Geschwindigkeit / Modus setzen

Eingabe:

ethtool -s eth0 speed 1000 duplex full

Bedeutung:

Die Übertragungsgeschwindigkeit des Geräts "eth0" wird hiermit auf 1000Mb/s mit Full-Duplex gesetzt.

Autonegotiation einstellen

Die sogenannte Autonegotation, welches eine automatische Aushandlung der maximalen Übertragungsgeschwindigkeit sowie des Duplex-Verfahrens mit der Gegenstelle ermöglicht, kann mithilfe des folgenden Befehls aktiviert und deaktiviert werden:

ethtool -s [Gerätename] autoneg [on|off]

Standardmäßig ist die Autonegotiation aktiviert - da jedoch manche Netzwerkgeräte Probleme mit dieser haben, kann sie deaktiviert werden, wenn wirklich notwendig.

Beispiel: Autonegotiation einstellen

Eingabe:

ethtool -s eth0 autoneg off

Bedeutung:

Mit dem gezeigten Befehl wird die Autonegotiation deaktiviert.

Weiterhin kann die Autonegotiation mithilfe der Option -r manuell ausgelöst werden. Hierbei ist zu beachten, dass bestehende Verbindungen abbrechen könnten:

ethtool -r [Gerätename]

Wake-On-Lan einstellen

Sogenanntes Wake-On-Lan, also das ferngesteuerte Einschalten eines Rechners im lokalen Netzwerk, lässt sich - sofern es von dem System unterstützt wird - mithilfe des Befehls ethtool konfigurieren:

ethtool -s [Gerätename] wol [p|u|m|b|a|g|s|d]

Es kann eine Konkatenation mehrerer Parameter angegeben werden. Die Bedeutungen der verschiedenen verfügbaren Parameter sind dabei der folgenden Tabelle zu entnehmen:

Parameter

Bedeutung

p

WOL bei PHY (Physical Layer)-Aktivität

u

WOL bei unicast-Nachrichten

m

WOL bei multicast-Nachrichten

b

WOL bei broadcast-Nachrichten

a

WOL bei ARP

g

WOL bei Magic Packet

s

SecureOn Passwort für Magic Packet aktivieren

d

Deaktivieren (Wake-On-Nothing). Dieser Parameter setzt alle vorigen Parameter zurück.

Beispiel: Wake-On-Lan einstellen

Eingabe:

ethtool -s eth0 wol g

Bedeutung:

Dieses Beispiel zeigt, wie Wake-On-Lan bei einem Netzwerkgerät "eth0" auf WOL bei Magic Packet gesetzt wird.

Das sogenannte SecureOn-Passwort, welches mit dem Parameter "s" aktiviert wird, wird mit dem folgenden Befehl gesetzt:

ethtool -s [Gerätename] sopass xx:yy:zz:aa:bb:cc

Das Passwort wird dabei mit einer Länge von 6 Bytes im Ethernet-MAC-Hex-Format angegeben (xx:yy:zz:aa:bb:cc).

Beispiel: SecureOn-Passwort setzen

Eingabe:

ethtool -s eth0 sopass 2a:2b:2c:2d:2e:2f

Bedeutung:

Hier wird das SecureOn-Passwort für das Netzwerkgerät "eth0" auf "2a:2b:2c:2d:2e:2f" gesetzt.

Geräte-Port auswählen

Der zu verwendende Geräte-Port lässt sich mithilfe des folgenden Befehls auswählen:

ethtool -s [Gerätename] port [tp|aui|bnc|mii]

Verwendet werden können die Einstellungen tp (Twisted Pair), aui (Attachment Unit Interface), bnc (BNC-Steckverbindungen) und mii (Media Independent Interface). Standardeinstellung ist tp. Die unterstützten Ports sind der Ausgabe von ethtool ohne Optionen zu entnehmen (Supported Ports).

Treiberinformationen anzeigen

Mit der Option -i ist es möglich, das spezifizierte Netzwerkgerät nach zugehörigen Treiberinformationen abzufragen:

ethtool -i [Gerätename]

Die Ausgabe des Befehls umfasst den Treiber, seine Version, die Firmware-Version sowie auch Informationen zur PCI Bus-Nummer.

Beispiel: Treiberinformationen anzeigen

In diesem Beispiel werden Treiberinformationen eines Netzwerkgeräts "ens33" mithilfe der Option -i ausgegeben.
Eingabe:

ethtool -i ens33

Ausgabe:
befehl-ethtool-beispiel-3

Adapter identifizieren

Die Option -p kann verwendet werden, um eine adapterspezifische Aktion auszulösen, die es ermöglicht den spezifizierten Adapter leicht durch Anblick zu identifizieren. Typischerweise beinhaltet dies das Blinken einer oder mehrerer LEDs am jeweiligen Netzwerkanschluss. Die Dauer wird in Sekunden angegeben.

ethtool -p [Gerätename] [Dauer]
Beispiel: Adapter identifizieren

Eingabe:

ethtool -p eth0 10

Bedeutung:

Die LEDs am Netzwerkanschluss von "eth0" blinken nach Ausführung des gezeigten Befehls für 10 Sekunden.

Rx / Tx Ring-Parameter

Mithilfe der Option -g können Informationen zu den Rx / Tx Ring-Parametern (RX, RX Mini, RX Jumbo, TX) des spezifizierten Netzwerkgeräts abgefragt werden. Die Ausgabe des Befehls beinhaltet dabei sowohl die voreingestellten Maximalwerte sowie auch die derzeitige Konfiguration:

ethtool -g [Gerätename]

Weiterhin können die Ring-Parameter auch gesetzt werden. Hierzu wird die Option -G verwendet:

ethtool -g [Gerätename] [rx N] [rx-mini N] [rx-jumbo N] [tx N]

N wird jeweils durch den gewünschten Wert ersetzt.

Offload-Parameter

Die Option -k wird verwendet, um erweiterte Einstellungen zur Verarbeitung von Netzwerkpaketen sowie zur Leistungssteigerung - etwa TCP-Segmentation-Offload oder UDP-Fragmentation-Offload - abzurufen:

ethtool -k [Gerätename]

Gesetzt werden können die Einstellungen mithilfe der Option -K:

ethtool -K [Gerätename] [Einstellung] [on|off]

Die folgenden Einstellungen sind dabei verfügbar:

Einstellung

Bedeutung

rx

Gibt an, ob die RX-Prüfsummenbildung aktiviert werden soll.

tx

Gibt an, ob die TX-Prüfsummenbildung aktiviert werden soll.

sg

Gibt an, ob Scatter-Gather aktiviert werden soll.

tso

Gibt an, ob der TCP-Segmentation-Offload aktiviert werden soll.

ufo

Gibt an, ob der UDP-Fragmentation-Offload aktiviert werden soll.

gso

Gibt an, ob der Generic-Segmentation-Offload aktiviert werden soll.

gro

Gibt an, ob der Generic-Receive-Offload aktiviert werden soll.

lro

Gibt an, ob der Large-Receive-Offload aktiviert werden soll.

rxvlan

Gibt an, ob die RX-VLAN-Beschleunigung (Acceleration) aktiviert werden soll.

txvlan

Gibt an, ob die TX-VLAN-Beschleunigung (Acceleration) aktiviert werden soll.

ntuple

Gibt an, ob RX-ntuple Filter und Aktionen aktiviert werden sollen.

rxhash

Gibt an, ob der Receive-Hashing-Offload aktiviert werden soll.

Abonniere JETZT unseren Newsletter!


Verpasse nie wieder neue Beiträge und exklusive Insider-Only-Inhalte!

Joel Benseler

Click Here to Leave a Comment Below

Leave a Comment: