AllInfo

So verwalten Sie Linux-Netzwerkverbindungen über die Befehlszeile

Roman Samborskyi/Shutterstock.com< /figure>

Mit dem nmcli-Befehl können Sie die Leistungsfähigkeit des Linux NetworkManager direkt von der Befehlszeile aus nutzen, was ihn perfekt für Server ohne Desktop-Umgebung und Remote-SSH-Shell-Verwaltung macht.

Der nmcli-Befehl

Der Befehl nmcli ist nicht neu, er wurde 2010 veröffentlicht. Zusammen mit dem Befehl ip ersetzt er den ehrwürdigen—aber veralteten— ifconfig. Alte Gewohnheiten sterben schwer, und viele Systemadministratoren verwenden immer noch ifconfig. Sie wissen bereits, wie man es benutzt, es gibt keine Lernkurve und sie müssen nur ihre Arbeit erledigen. Warum also noch ein weiteres Tool lernen?

Nun, irgendwann wird ifconfig von den Distributionen fallen gelassen, also ist es eine Änderung, die kommt, ob Sie es wollen oder nicht. Aber nmcli hat einige nette Tricks, die es wert sind, herauszufinden, was es zu bieten hat.

Die ncmli-Konzepte und -Syntax

Wie alle CLI-Befehle akzeptiert nmcli Befehlszeilenparameter. Die Parameter sind in drei Kategorien unterteilt.

  • Optionen: Diese ändern das Verhalten von nmcli
  • Abschnitte : Diese teilen nmcli mit, welche Aktionen Sie aufrufen. Stellen Sie sich Abschnitte als Sammlungen von Befehlen vor.
  • Aktionen: Diese sagen nmcli, was es tun soll. Betrachten Sie sie als Befehle.

Das allgemeine Syntaxformat ist:

nmcli <Optionen> <Abschnitte> <Aktion> Beachten Sie jedoch, dass Sie nicht immer alle drei Parametersätze für jeden Befehl benötigen. Die nmcli-Abschnitte sind:

  • Hilfe: Liefert kurze Hilfetexte zu den ncmcli-Befehlen
  • Allgemein: Ruft die Status und Konfiguration von NetworkManager
  • Netzwerk: Fragt Netzwerkverbindungen ab, aktiviert oder deaktiviert sie
  • Funk: Fragt, aktiviert oder deaktiviert Wi-Fi-Netzwerkverbindungen
  • Überwachen: Überwacht NetworkManager und Statusänderungen von Netzwerkverbindungen
  • Verbindung: Direkte Manipulation von Netzwerkschnittstellen, einschließlich deren Aktivierung und Deaktivierung, Hinzufügen neuer Verbindungen und Entfernen vorhandener Verbindungen< /li>
  • Gerät: Ändert Netzwerkgeräteparameter und verbindet oder trennt ein Gerät von einer bestehenden Verbindung
  • Geheimnis: Registriert nmcli als NetworkManager-Geheimagent. Da nmcli dies automatisch macht, wird dies nur sehr selten verwendet.

Erste Schritte mit nmcli

Lassen Sie es Stellen Sie sicher, dass NetworkManager installiert ist, ausgeführt wird und wir eine Verbindung mit nmcli herstellen können. Wir verwenden die Statusaktion aus dem allgemeinen Abschnitt.

nmcli allgemeiner Status

< /p> Werbung

Tatsächlich ist status die Standardaktion für general, also hätten wir dieses Wort im Befehl weglassen können. Wir haben jedoch überprüft, dass nmcli —und damit NetworkManager—installiert und betriebsbereit ist. Lassen Sie uns etwas mehr über diesen Computer herausfinden.

Wir können alle Netzwerkverbindungsprofile im Arbeitsspeicher und auf der Festplatte auflisten, indem wir die Aktion anzeigen aus dem Verbindungsabschnitt verwenden:

nmcli connection show

Die Ausgabe ist breiter als das Terminalfenster. Unsere Ergebnisse waren:

NAME UUID TYP GERÄT Kabelgebundene Verbindung 1 d2864443-9cee-31ec-ab2e-55e9ebddd53e ethernet enp0s3 ethernet-enp0s8 9aad8efa-3427-4a5c-bef5-270340cd33d0 ethernet enp0s8 ethernet-bc4 Die für diesen Artikel verwendete Testmaschine läuft mit einer Pre-Launch-Version von Ubuntu 21.10. Darin sind drei Netzwerkadapter mit den Namen enp0s3, enp0s8 und enp0s9 installiert.

Die Installation verstehen

Eine Netzwerkverbindung ermöglicht Ihrem Computer, über ein Netzwerk mit einem anderen Gerät zu kommunizieren. Intern speichert nmcli alle Informationen zu einer Netzwerkverbindung in einem Datenobjekt, das es als Verbindung bezeichnet.

Eine nmcli-Verbindung kapselt alle Informationen zu dieser Verbindung, einschließlich Datenverbindungsschicht und IP-Adressierungsinformationen. Sie können sich die Verbindungen von nmcli als Konfigurationsdetails für reale Netzwerkverbindungen vorstellen.

Um die Außenwelt zu erreichen, muss eine Verbindung ein Netzwerkschnittstellengerät verwenden, beispielsweise eine Netzwerkkarte. Eine Verbindung ist an ein Gerät gebunden. Wenn ein Gerät aktiv ist und Daten empfangen oder senden kann, wird die Verbindung als aktiv oder aktiv bezeichnet. Der entsprechende inaktive Status wird, wenig überraschend, als inaktiv oder inaktiv bezeichnet.

Netzwerkverbindungen hinzufügen

Mit nmcli können Sie eine Netzwerkverbindung erstellen und einige ihrer Konfigurationsoptionen mit einem einzigen Befehl festlegen. Auf diesem Testcomputer besteht keine Verbindung zu enp0s8 , dem Namen für unsere kabelgebundene Verbindung (Ethernet) Nummer 2. Wir fügen enp0s8 eine Verbindung hinzu. Da wir Systemänderungen vornehmen, müssen Sie sudo verwenden:

sudo nmcli connection add type ethernet ifname enp0s8

Dieser Befehl verwendet die Aktion “Hinzufügen” aus dem Verbindungsabschnitt. Wir haben die Option type verwendet, um eine Ethernet-Verbindung anzufordern, und die Option ifname (Schnittstellenname), um das Netzwerkschnittstellengerät anzugeben, das diese Verbindung verwenden soll.

Lassen Sie uns überprüfen, was’s passiert:

nmcli connection show Advertisement

NAME UUID TYP GERÄT Kabelgebundene Verbindung 1 d2864443-9cee-31ec-ab2e-55e9ebddd53e ethernet enp0s3 ethernet-enp0s8 9aad8efa-3427-4a5c-bef5-270340cd33d0 ethernet enp0s8 ethernet-b0enc0 ethernet enp0s8 ethernet-b0enc3 ethernet-en-b0enc3 ethernet-en-b0enc8 1 b874aa09-3a25-4f52-b20b-1b95d9741be9 ethernet —

Unsere neue Verbindung, ethernet-enp0s8-1 , wurde erstellt. Seine universell eindeutige Kennung (UUID) wurde zugewiesen und der Verbindungstyp ist Ethernet. Wir können es jetzt mit dem up-Befehl aktivieren. Dem up-Befehl muss der Verbindungsname oder seine UUID folgen:

nmcli connection up ethernet-enp0s8-1

Lassen Sie uns unsere aktiven Verbindungen noch einmal überprüfen:

nmcli connection show –active

NAME UUID TYP GERÄT Kabelverbindung 1 d2864443-9cee-31ec-ab2e-55e9ebddd53e ethernet enp0s3 ethernet .-en -1 b874aa09-3a25-4f52-b20b-1b95d9741be9 ethernet enp0s8 ethernet-enp0s9 5bc49cef-bc3d-4832-9073-460b408932b6 ethernet enp0s9

Unsere neue Verbindung, ethernet-enp0s8-1, ist jetzt aktiv und an das Netzwerk gebunden Gerät.

Anpassen von Verbindungen

Natürlich können Sie mit ncmli auch die Parameter bestehender Verbindungen ändern. Angenommen, wir möchten eine Netzwerkschnittstelle vom Dynamic Host Configuration Protocol (DHCP) auf die Verwendung einer statischen IP-Adresse umstellen. Passend zu unserem Netzwerk benötigen wir für unsere neue Verbindung eine feste IP-Adresse von 192.168.1.40.

Dazu müssen Sie zwei Befehle ausführen. Eine zum Festlegen der IP-Adresse und eine zum Einstellen der Verbindungsmethode zum Abrufen einer IP-Adresse auf manuell:

nmcli-Verbindung ändern ethernet-enp0s8-1 ipv4.address 192.168.1.40/24 nmcli-Verbindung ändern ethernet-enp0s8-1 ipv4.method manual

Werbung

Die “/24” Wir geben mit der IP-Adresse die Subnetzmaske im Classless Inter-Domain Routing (CIDR) an. In diesem Zusammenhang “/24” bedeutet “255.255.255.0.”

Die Änderungen werden erst wirksam, wenn die Verbindung “bounced” Das heißt, deaktiviert und wieder online gebracht. Der erste Befehl baut die Verbindung ab und der zweite wieder hoch.

nmcli connection down ethernet-enp0s8-1 nmcli connection up ethernet-enp0s8-1

Wenn Sie die Änderung rückgängig machen und von einer statischen IP-Adresse zu einer DHCP-IP-Adresse wechseln möchten, verwenden Sie die Option auto statt manuell.

nmcli-Verbindung modifizieren ethernet-enp0s8-1 ipv4.method auto

Geräteverwaltung

Der Abschnitt nmcli device enthält Aktionen (Befehle), mit denen Sie die auf Ihrem Computer installierten Netzwerkschnittstellen verwalten können. Um den Status aller Netzwerkschnittstellen auf Ihrem Computer anzuzeigen, verwenden Sie:

nmcli-Gerätestatus

< /p>

Gerätedetails anzeigen

Um die Details einer Netzwerkschnittstelle zu untersuchen, verwenden wir die Aktion show aus dem Gerätebereich. Wenn Sie keinen Gerätenamen angeben, werden die Details aller Geräte abgerufen und angezeigt. Sie können scrollen und nach oben und unten blättern, um sie zu überprüfen.

Werfen wir einen Blick auf enp0s8, das Gerät, das unsere neue Verbindung verwendet. Wir können überprüfen, ob die verwendete IP-Adresse die zuvor angeforderte Adresse ist.

nmcli device show enp0s8

GENERAL.DEVICE: enp0s8 GENERAL.TYPE: ethernet GENERAL.HWADDR: 08:00:27:79:A7:68 GENERAL.MTU: 1500 GENERAL.STATE: 100 (verbunden) GENERAL.CONNECTION: ethernet-enp0s8-1 GENERAL.CON -PFAD: /org/freedesktop/NetworkManager/ActiveConnection/8 WIRED-PROPERTIES.CARRIER: auf IP4.ADDRESS[1]: 192.168.1.40/24 IP4.GATEWAY: — IP4.ROUTE[1]: dst = 192.168.1.0 /24, nh = 0.0.0.0, mt = 102 IP6.ADDRESS[1]: fe80::3241:457d:cd1c:2436/64 IP6.GATEWAY: — IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 102

Ein Bildschirm mit Informationen wird von nmcli zurückgegeben. Einige der allgemein nützlichen Elemente sind:

  • GERÄT: Der Name des Geräts, das wir untersuchen.
  • TYP: Die Art der Verbindung, die dieses Gerät verwendet.
  • HWADDR: Die MAC-Adresse der Schnittstellenkarte.
  • STATE: Ob dieses Gerät über eine Live-Verbindung verfügt.
  • IP4.ADDRESS [1]: Die IP-Adresse und Subnetzmaske für dieses Gerät.
  • VERBINDUNG: Der Name der Verbindung, die dieses Gerät verwendet.

Der interaktive nmcli-Editor

Obwohl nmcli ein Befehlszeilentool ist, verfügt es über einen elementaren interaktiven Editor. Die Bearbeitungsaktion im Verbindungsabschnitt öffnet den interaktiven Editor für die Verbindung, die Sie auf der Befehlszeile übergeben:

nmcli connection edit ethernet-enp0s8-1

Werbung

Einige Hilfetexte werden auf dem Bildschirm ausgegeben und Sie erhalten die “nmcli>” Eingabeaufforderung.

Wenn Sie print eingeben und “Enter” drücken, listet nmcli alle mit der Verbindung verbundenen Eigenschaften auf. Es gibt viele von ihnen. Sie können durch sie scrollen, um sie zu überprüfen.

print

Lassen Sie& #8217;s ändern unsere Verbindung wieder auf DHCP. Wir verwenden die “ipv4” die Einstellungen. Dazu müssen wir “go” zu den IPv4-Einstellungen.

goto ipv4

Die Eigenschaft, die wir ändern möchten, ist method. Wir möchten es auf automatisch setzen.

set method auto

Sie sehen die folgende Eingabeaufforderung:

Möchten Sie auch 'ipv4.addresses' löschen? [ja]: Werbung

Wenn Sie die IP-Adresse nicht löschen, verwendet diese Verbindung das nächste Mal, wenn Sie eine statische IP-Adresse verwenden, die zuvor festgelegte. Wenn Sie es löschen, müssen Sie eine neue IP-Adresse festlegen, wenn Sie diese Verbindung jemals wieder auf eine statische IP-Adresse umstellen. Geben Sie “ja” oder drücken Sie einfach “Eingabe” um es zu löschen. Geben Sie “nein” und drücken Sie “Eingabe” um es zu behalten.

Wir müssen unsere Änderungen speichern:

save

Geben Sie “quit” um den interaktiven Editor zu verlassen. Wenn Sie nicht beenden möchten, geben Sie “zurück” um zur Hauptebene zurückzukehren und den Editor weiter zu verwenden.

Es gibt viel mehr im Menschen

Der Befehl nmcli kann noch viel mehr. Es verfügt über eine Vielzahl von Befehlszeilenparametern und -optionen. So viele, dass die Manpage über 1200 Zeilen umfasst. Überprüfen Sie sie, um zu sehen, was nmcli sonst noch für Sie tun kann.

Und natürlich, wenn Sie Netzwerkverbindungen remote verwalten, deaktivieren Sie die Verbindung, mit der Sie verbunden sind, nicht . Das macht nie Spaß.

Exit mobile version