Wie man prüft, ob die Geschwindigkeit einer Netzwerkschnittstelle in Linux festgelegt ist

LinuxLinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie die Geschwindigkeit einer Netzwerkschnittstelle in Linux überprüfen können. Wir werden drei gängige Methoden zur Erreichung dieses Ziels untersuchen.

Zunächst verwenden Sie den Befehl ethtool, ein leistungsstarkes Hilfsprogramm zum Abfragen und Steuern von Netzwerkeinstellungen. Anschließend lernen Sie, wie Sie Ihre Netzwerkschnittstelle mithilfe des Befehls ip link show identifizieren können. Abschließend zeigen wir, wie Sie die Geschwindigkeit der Netzwerkschnittstelle überprüfen können, indem Sie den Inhalt des Verzeichnisses /sys/class/net untersuchen.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/RemoteAccessandNetworkingGroup(["Remote Access and Networking"]) linux(("Linux")) -.-> linux/PackagesandSoftwaresGroup(["Packages and Softwares"]) linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/RemoteAccessandNetworkingGroup -.-> linux/ip("IP Managing") linux/PackagesandSoftwaresGroup -.-> linux/apt("Package Handling") subgraph Lab Skills linux/cat -.-> lab-558737{{"Wie man prüft, ob die Geschwindigkeit einer Netzwerkschnittstelle in Linux festgelegt ist"}} linux/ip -.-> lab-558737{{"Wie man prüft, ob die Geschwindigkeit einer Netzwerkschnittstelle in Linux festgelegt ist"}} linux/apt -.-> lab-558737{{"Wie man prüft, ob die Geschwindigkeit einer Netzwerkschnittstelle in Linux festgelegt ist"}} end

Geschwindigkeit mit ethtool überprüfen

In diesem Schritt lernen wir, wie Sie die Geschwindigkeit Ihrer Netzwerkschnittstelle mithilfe des Befehls ethtool überprüfen können. ethtool ist ein Befehlszeilen-Hilfsprogramm zum Abfragen und Steuern von Netzwerktreibern und Hardwareeinstellungen.

Zunächst identifizieren wir Ihre Netzwerkschnittstelle. In den meisten Linux-Umgebungen trägt die primäre Netzwerkschnittstelle oft den Namen eth0 oder ähnliche Namen wie enpXsY. Sie können den Namen normalerweise anhand der Ausgabe des Befehls ip link show finden, den wir im nächsten Schritt untersuchen werden. Vorerst gehen wir davon aus, dass Ihre Schnittstelle eth0 heißt.

Um die Geschwindigkeit der Schnittstelle eth0 zu überprüfen, öffnen Sie Ihr Terminal und geben Sie den folgenden Befehl ein:

sudo ethtool eth0

Drücken Sie die Eingabetaste.

Sie sehen eine Ausgabe ähnlich der folgenden:

Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supported pause frame use: No
        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: 0
        Transceiver: internal
        Auto-negotiation: on
        MDI-X: Unknown
        Supports Wake-on: d
        Wake-on: d
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: yes

Suchen Sie nach der Zeile, die mit Speed: beginnt. Diese Zeile gibt Ihnen die aktuelle Geschwindigkeit Ihrer Netzwerkverbindung an. Im obigen Beispiel beträgt die Geschwindigkeit 1000Mb/s.

Wenn Sie eine Fehlermeldung wie command not found erhalten, bedeutet dies, dass ethtool nicht installiert ist. Sie können es mit dem Paketmanager installieren:

sudo apt update
sudo apt install ethtool -y

Nach der Installation versuchen Sie erneut den Befehl sudo ethtool eth0.

Denken Sie daran, eth0 durch den tatsächlichen Namen Ihrer Netzwerkschnittstelle zu ersetzen, wenn dieser unterschiedlich ist.

Klicken Sie auf Weiter, um mit dem nächsten Schritt fortzufahren.

Im vorherigen Schritt haben wir ethtool verwendet, um die Netzwerkgeschwindigkeit zu überprüfen, wobei wir davon ausgegangen haben, dass der Schnittstellenname eth0 ist. Allerdings können die Namen der Netzwerkschnittstellen variieren. In diesem Schritt verwenden wir den Befehl ip link show, um alle Netzwerkschnittstellen aufzulisten und ihren Status zu überprüfen.

Der Befehl ip ist ein leistungsstarkes Hilfsprogramm für die Netzwerkkonfiguration in Linux. Das link-Objekt wird verwendet, um Netzwerkschnittstellen zu verwalten, und die Aktion show zeigt Informationen über sie an.

Öffnen Sie Ihr Terminal und geben Sie den folgenden Befehl ein:

ip link show

Drücken Sie die Eingabetaste.

Sie sehen eine Ausgabe ähnlich der folgenden, die Ihre Netzwerkschnittstellen auflistet:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff

In dieser Ausgabe:

  • lo ist die Loopback-Schnittstelle, die für die Kommunikation innerhalb desselben Computers verwendet wird.
  • eth0 ist wahrscheinlich Ihre primäre Netzwerkschnittstelle, die mit dem externen Netzwerk verbunden ist. Der Name kann in anderen Umgebungen unterschiedlich sein (z. B. enp3s0).
  • <BROADCAST,MULTICAST,UP,LOWER_UP> gibt den Zustand und die Fähigkeiten der Schnittstelle an. UP bedeutet, dass die Schnittstelle aktiv ist.
  • mtu ist die maximale Übertragungseinheit (Maximum Transmission Unit).
  • state UP bestätigt, dass die Schnittstelle betriebsbereit ist.

Identifizieren Sie den Namen Ihrer primären Netzwerkschnittstelle aus der Ausgabe. Es ist normalerweise die Schnittstelle, die UP ist und nicht lo. In unserer LabEx-Umgebung ist es eth0.

Jetzt wissen Sie, wie Sie den richtigen Namen der Netzwerkschnittstelle finden können, was für die Verwendung von Befehlen wie ethtool von entscheidender Bedeutung ist.

Klicken Sie auf Weiter, um fortzufahren.

Geschwindigkeit in /sys/class/net untersuchen

Neben der Verwendung von Befehlen wie ethtool können Sie auch Informationen über Netzwerkschnittstellen direkt im Linux-Dateisystem, genauer im Verzeichnis /sys, finden. Das /sys-Dateisystem bietet eine Schnittstelle zu Kerneldatenstrukturen.

Informationen zu Netzwerkschnittstellen befinden sich normalerweise unter /sys/class/net/. In diesem Verzeichnis finden Sie Unterverzeichnisse, die nach jeder Netzwerkschnittstelle auf Ihrem System benannt sind (z. B. eth0, lo).

Um die Geschwindigkeitsinformationen für Ihre primäre Schnittstelle (die wir im vorherigen Schritt als eth0 identifiziert haben) zu finden, können Sie in der Datei /sys/class/net/eth0/speed nachschauen.

Öffnen Sie Ihr Terminal und verwenden Sie den Befehl cat, um den Inhalt dieser Datei anzuzeigen:

cat /sys/class/net/eth0/speed

Drücken Sie die Eingabetaste.

Als Ausgabe sollten Sie eine einzelne Zahl sehen, die die Linkgeschwindigkeit in Megabit pro Sekunde (Mb/s) darstellt.

1000

Diese Ausgabe bestätigt, dass die Geschwindigkeit der Schnittstelle eth0 1000 Mb/s beträgt, was mit den Informationen übereinstimmt, die wir mit ethtool gesehen haben.

Diese Methode zur Überprüfung der Geschwindigkeit durch das Lesen einer Datei in /sys ist nützlich, da keine zusätzlichen Tools wie ethtool installiert werden müssen. Es ist eine direkte Möglichkeit, auf Informationen zuzugreifen, die der Kernel zur Verfügung stellt.

Denken Sie daran, dass der Pfad /sys/class/net/eth0/speed davon ausgeht, dass Ihre Netzwerkschnittstelle eth0 heißt. Wenn Ihre Schnittstelle einen anderen Namen hat, ersetzen Sie eth0 durch den richtigen Namen.

Sie haben jetzt drei verschiedene Methoden gelernt, um Informationen über Ihre Netzwerkschnittstellen und deren Geschwindigkeit zu erhalten!

Klicken Sie auf Weiter, um dieses Lab abzuschließen.

Zusammenfassung

In diesem Lab haben wir gelernt, wie man die Geschwindigkeit einer Netzwerkschnittstelle in Linux auf drei verschiedene Arten überprüft. Zunächst haben wir den Befehl ethtool verwendet, ein leistungsstarkes Hilfsprogramm zum Abfragen und Steuern von Netzwerkeinstellungen, um direkt die Schnittstellengeschwindigkeit anzuzeigen. Anschließend haben wir den Befehl ip link show untersucht, um den Namen der Netzwerkschnittstelle zu identifizieren, was für die Verwendung von Tools wie ethtool von entscheidender Bedeutung ist. Schließlich haben wir entdeckt, wie man das Verzeichnis /sys/class/net, einen Teil des sysfs virtuellen Dateisystems, untersucht, um die Schnittstellengeschwindigkeitsinformationen zu finden, indem man den Inhalt der speed-Datei im Verzeichnis der Schnittstelle prüft. Diese Methoden bieten verschiedene Möglichkeiten, auf die Netzwerkschnittstellengeschwindigkeit zuzugreifen und sie zu überprüfen, und ermöglichen es, je nach Situation und verfügbaren Tools flexibel zu handeln.