GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Network Manager unter Linux mit Beispielen

Wenn Sie ein erfahrener Systemadministrator sind und sich auf die Netzwerkverwaltung konzentrieren, haben Sie wahrscheinlich schon vom Network Manager gehört .

Veröffentlicht im Jahr 2004 und entwickelt von Red Hat, dem Network Manager ist eine Reihe verschiedener Tools, hauptsächlich Schnittstellen, die das Netzwerkmanagement auf Ihrem System vereinfachen sollen.

Wenn Sie einen Netzwerkadapter aktivieren möchten, verwenden Sie wahrscheinlich den Netzwerk-Manager um das zu erreichen.

Wenn Sie eine vorhandene Netzwerkkarte bearbeiten möchten, um die ihr zugewiesene IP-Adresse zu ändern, würden Sie den Netzwerk-Manager erneut verwenden.

In diesem Lernprogramm beschreiben wir, wie Sie die verschiedenen Tools der Network Manager-Suite verwenden können, um Ihre Netzwerke einfach zu verwalten.

Nach dem Auflisten der in die Suite eingebetteten Tools (nmcli, nmtui, nm-applet ), werden wir eine Liste praktischer Anwendungsfälle für Netzwerkadministratoren durchgehen.

Network Manager-Architektur

Bevor wir uns mit den Fähigkeiten des Network Managers befassen, wollen wir zunächst seine Architektur beschreiben und wie er mit Kernel-bezogenen Modulen kommunizieren kann.

Network Manager-API

Das erste zu verstehende Konzept ist, dass der Network Manager als eine API dient, um die Netzwerkschnittstellen auf Ihrem Host zu konfigurieren.

Der Network Manager arbeitet jedoch nicht allein:Er ist Teil eines Prozesses, der eine Netzwerknachricht an einem Endpunkt empfängt, der als Netzwerk-Socket bezeichnet wird.

Ein Netzwerk-Socket wird physisch durch eine Ethernet-NIC dargestellt, die mit einem Ethernet-Kabel verbunden ist, um mit der gemeinsamen Nutzung von Daten über ein Netzwerk zu beginnen.

Wenn ein Ethernet-Kabel eingesteckt wird, wird es zuerst vom udev-Modul erkannt der ein Signal an den Network Manager sendet, um mitzuteilen, dass ein neues Kabel angeschlossen wurde.

Auf diese Weise ist der Network Manager in der Lage, Verbindungen aufrechtzuerhalten, aber er kann auch die Netzwerkverfügbarkeit für andere Anwendungen verfügbar machen.

Wenn Sie Firefox verwenden und Firefox den Status einer Netzwerkverbindung kennen muss, kann es den Network Manager über DBus abfragen, um diese Informationen zu erhalten.

Network Manager ist eigentlich eine Netzwerk-API, die Details zu verfügbaren Netzwerkkarten, verkabelten oder drahtlosen Netzwerken bietet.

Es bietet auch eine einfache Möglichkeit, Ihre Netzwerkkarten und Schnittstellen mit dedizierten Konfigurationsdateien zu konfigurieren.

Network Manager vs. ifupdown

In der Vergangenheit haben Linux-Betriebssysteme Netzwerkschnittstellen auf andere Weise verwaltet, hauptsächlich unter Verwendung von Konfigurationsdateien, die sich unter /etc/network.

befinden

In diesem Verzeichnis kann eine Datei verwendet werden, um Netzwerkschnittstellen zu konfigurieren:die Interfaces-Datei.

Bei neueren Distributionen wird die von den ifup- und ifdown-Dienstprogrammen verwendete Datei „interfaces“ jedoch nicht verwendet.

Standardmäßig verwaltet Network Manager Ihre Netzwerkschnittstellen Die Art und Weise, wie das Netzwerk verwaltet wird, kann jedoch in der Network Manager-Konfigurationsdatei geändert werden.

Genauer gesagt, der Parameter „managed“ im Abschnitt „ifupdown“ der Datei NetworkManager.conf beschreibt, ob Network Manager auf Ihrem System verwendet wird oder nicht.

Hinweis :„false“ bedeutet, dass Network Manager Ihre Verbindungen und Geräte verwaltet, „true“ bedeutet, dass Sie es vorziehen, die alte Methode mit ifup und ifdown zu verwenden.

Über systemd-networkd

Auf neueren Systemen ist systemd so eingestellt, dass es so ziemlich alles handhaben kann, und network ist keine Ausnahme von der Regel.

In einigen Fällen verlässt sich Ihr System möglicherweise auf den systemd-network-Daemon um Schnittstellen zu verwalten.

Beachten Sie, dass zur Vermeidung von Konfigurationskonflikten im Zusammenhang mit Netzwerken immer nur ein Netzwerkdienst aktiviert sein sollte:sei es ifupdown, systemd-networkd oder Network Manager.

Wenn Sie es gewohnt sind, Ihre Netzwerke mit der Datei „interfaces“ zu verwalten, sollten Sie dies vielleicht auch weiterhin tun, andernfalls wird empfohlen, zum Network Manager zu wechseln.

Network Manager-Tools

Nachdem Sie den Network Manager nun besser verstanden haben, beginnen wir mit der Aufzählung der Tools, die in dieser Suite bereitgestellt werden.

Der Netzwerkmanager bietet die folgenden Tools:

  • nmcli :das dedizierte Befehlszeilentool zum Konfigurieren, Hinzufügen, Bearbeiten und Entfernen von Verbindungen mit dem Network Manager;
  • nmtui :eine grafische Benutzeroberfläche, die nur eine Teilmenge von Funktionen im Vergleich zu nmcli bietet. Mit nmtui können Sie eine Verbindung bearbeiten, eine Verbindung aktivieren oder den Hostnamen Ihres Computers ändern;
  • nm-Applet :Dieses Applet ist in GNOME-Desktop-Umgebungen verfügbar und wird als Schnittstellenüberlagerung verwendet, die zum Verbinden oder Trennen von Netzwerken verwendet werden kann.

Beachten Sie, dass einige Distributionen möglicherweise Network Manager-„Verknüpfungen“ für die oben beschriebenen Tools haben:nmtui-connect, nmtui-edit oder nmtui-hostname.

Meistens sind diese Dienstprogramme eigentlich einfache Softlinks zum Hauptdienstprogramm nmtui.

In den folgenden Abschnitten werden wir sehen, wie Sie die verschiedenen oben genannten Tools verwenden können, um Ihre Netzwerke richtig zu konfigurieren.

Netzwerkkonfiguration mit nmcli

Wie im vorherigen Abschnitt beschrieben, ist nmcli ein Befehlszeilendienstprogramm, mit dem Sie Ihre Netzwerkkonnektivität überwachen können , sondern auch zum Hinzufügen, Bearbeiten und Löschen von Verbindungen sowie zum Abrufen detaillierter Informationen über Geräte in Ihrem System.

Sie können mit nmcli mit der folgenden Syntax interagieren

$ nmcli <options> <section> <action>

Die nmcli hat einen Satz von acht Abschnitten:

  • Hilfe :wird verwendet, um allgemeine Hilfe zur Verwendung von nmcli zu erhalten;
  • allgemein :wird verwendet, um den Status und die globale Konfiguration des Network Managers selbst zu erhalten;
  • Vernetzung :stellt Methoden bereit, um den Network Manager herunterzufahren oder wieder hochzufahren;
  • Radio :wird verwendet, um drahtlose Übertragungsprotokolle wie WIFI oder WAN zu verwalten;
  • Verbindung :Wie der Name schon sagt, wird dieser Abschnitt verwendet, um Schnittstellen hoch- und herunterzufahren und bestehende Verbindungen hinzuzufügen und zu löschen;
  • Gerät :Wird hauptsächlich verwendet, um Parameter zu ändern, die einem bestimmten Gerät zugeordnet sind (z. B. der Schnittstellenname), oder um ein Gerät über eine bestehende Verbindung zu verbinden;
  • Agent &Monitor :Diese Abschnitte werden verwendet, um Geheimnisse zu behandeln und Netzwerkänderungen zu beobachten.

Jeder beschriebene Abschnitt hat eine Reihe vordefinierter Aktionen, die beim Lesen der nmcli-Dokumentation zu finden sind (Anzeigen, Hinzufügen, Löschen, Ändern, Laden usw.)

Wenn Sie beispielsweise alle derzeit aktiven Verbindungen auflisten würden, würden Sie „nmcli“ mit dem Abschnitt „Verbindung“ und der Aktion „Anzeigen“ ausführen.

$ nmcli connection show

In diesem Fall hat mein Host eine kabelgebundene Ethernet-Verbindung auf einem Netzwerkadapter namens „eth0“.

In den folgenden Abschnitten werden wir sehen, wie Sie mit Netzwerkkarten und Verbindungen interagieren können, um Ihr System richtig zu konfigurieren.

Verbindungsverwaltung

Bei Verwendung von Network Manager kann eine Verbindung als "Netzwerkkonfiguration" angesehen werden “.

Folglich enthält eine „Verbindung“ alle Informationen, die sich auf die Schichten 2 (Datenverbindungsschicht) und Schichten 3 (wahrscheinlich in Bezug auf die IP-Adressierung) beziehen.

Wenn eine Verbindung von einem Gerät verwendet wird, nämlich einem Netzwerkadapter auf Ihrem Host, wird sie auf „aktiv“ oder „in Betrieb“ gesetzt.

Andererseits kann eine Verbindung „inaktiv“ sein und nun von jeder beliebigen Netzwerkschnittstelle verwendet werden:In diesem Fall wird sie auf „inaktiv“ oder „ausgefallen“ gesetzt

Der erste wichtige Punkt hier ist, dass wir immer dann, wenn wir das Netzwerk auf einem Linux-Host konfigurieren, im Wesentlichen Verbindungen konfigurieren, die später an Geräte gebunden werden.

Netzwerkverbindungen auflisten

Um die auf Ihrem Host verfügbaren Netzwerkverbindungen aufzulisten, können Sie die Aktion „show“ im Abschnitt „connection“ ausführen.

$ nmcli connection show

Optional können Sie das „–active“-Flag angeben, um das Ergebnis auf aktive Verbindungen (d. h. von Netzwerkadaptern verwendet) zu beschränken

nmcli connection show --active

Netzwerkverbindungen hinzufügen

In manchen Fällen kann es praktisch sein, mehrere Verbindungen konfiguriert zu haben.

Angenommen, Sie arbeiten an zwei verschiedenen Orten:einem, der DHCP verwendet, um Ihre IP-Adresse zuzuweisen (dynamische IP-Adressierung), und einem, der Ihrem Computer eine statische IP zuweist.

Um dies zu erreichen, können Sie zusätzliche Netzwerkverbindungen erstellen, die abhängig von Ihrem Standort zugeschaltet werden können.

Um neue Netzwerkverbindungen mit Network Manager hinzuzufügen, können Sie:

  • Fügen Sie Ihre Konfigurationsdatei zu den Systemverbindungen hinzu Verzeichnis befindet sich unter /etc/NetworkManager;
  • Fügen Sie die „nmcli-Verbindung hinzu ”-Befehl mit der Option “hinzufügen”;
  • Verwenden Sie den nm-Verbindungseditor Dienstprogramm, das eine GUI bereitstellt, um bestehende Verbindungen hinzuzufügen, zu ändern und zu löschen.

Mithilfe der nmcli-Befehlszeile können Sie eine neue Verbindung erstellen, indem Sie den folgenden Befehl ausführen

$ sudo nmcli connection add type ethernet ifname eth2

Mit nmcli wird Ihrer neu erstellten Verbindung eine neue UUID-Verbindung zugewiesen, und Sie können damit beginnen, sie beispielsweise zum Herstellen einer Verbindung zum Internet zu verwenden.

Verbindungsparameter ändern

Eine großartige Funktion des nmcli-Dienstprogramms ist die Änderung der Parameter Ihrer bestehenden Verbindungen .

Wenn Sie Ihre IP-Adresse ändern und von DHCP auf manuelle IP-Adressierung umschalten möchten, würden Sie auch das nmcli-Dienstprogramm verwenden, um diese Parameter zu ändern.

Um vorhandene Verbindungsparameter zu ändern , würden Sie die folgende Syntax verwenden

$ nmcli connection modify <connection_id> <parameter> <value>

Nehmen wir als Beispiel an, dass Sie Ihre IP-Adresse statisch und auf den Wert „192.168.1.19“ setzen möchten

Um dies zu erreichen, würden Sie den folgenden Befehl ausführen

$ nmcli connection modify <uuid> ipv4.method manual

$ nmcli connection modify <uuid> ipv4.address 192.168.1.19/24

Hinweis :Vergessen Sie beim Ändern der IP-Adresse nicht, die Subnetzmaske einzustellen (hier /24), da Sie sonst möglicherweise eine Standardmaske zugewiesen bekommen, die in den meisten Fällen falsch sein wird.

Damit Ihre Änderungen wirksam werden, müssen Sie Ihre Verbindung neu starten, indem Sie die Aktionen „Nach oben“ und „Nach unten“ im Abschnitt „Verbindung“ verwenden.

$ nmcli connection down <uuid>

$ nmcli connection up <uuid>

Nachdem Ihre Schnittstellen neu gestartet wurden, sollte Ihre IP-Änderung wirksam sein.

$ hostname -I

192.168.1.19

Geräteverwaltung

Gerät ” ist einer der Abschnitte des nmcli-Dienstprogramms und kann verwendet werden, um Netzwerkadapter auf Ihrem Host zu verwalten.

Netzwerkadapter auflisten

Um eine Auflistung des Netzwerkadapters auf Ihrem Host zu erhalten, können Sie die Aktion „Anzeigen“ im Abschnitt „Gerät“ ausführen.

$ nmcli device show

Dieser Befehl beschreibt ausführlich Ihren Netzwerkadapter, er listet auf:

  • Der Gerätename :von udev zugewiesen, als das Gerät an Ihren Computer angeschlossen wurde (in diesem Fall eth0);
  • Ihre Geräte-MAC-Adresse , hier als Hardwareadresse bezeichnet;
  • Der Gerätestatus :ob es mit dem Netzwerk verbunden ist oder nicht;
  • Die IPv4-Adresse unter Verwendung einer CIDR-Notation (192.168.1.16/24)
  • Die IPv4 Ihres Subnetz-Gateways (192.168.1.1);
  • Die IPv4 Ihres Haupt-DNS (192.168.1.1)

Hinweis :Hier fungiert das Gateway als Haupt-DNS, aber Sie haben möglicherweise dedizierte Nameserver in Ihrem Unternehmen.

Diese Eigenschaften sind sehr nützlich, wenn Sie die auf Ihrem Host verfügbaren Netzwerkkarten auflisten und feststellen möchten, ob sie verbunden sind oder nicht.

Gerätekonfiguration ändern

In einigen Fällen kann es sinnvoll sein, die Gerätekonfiguration direkt zu ändern.

Es gibt jedoch einen entscheidenden Punkt, den Sie beachten müssen:Sie können Ihr Gerät live ändern, aber wenn Sie möchten, dass Ihre Änderungen beibehalten werden, müssen Sie stattdessen Ihre Verbindungskonfiguration ändern.

Kurz gesagt, Änderungen an der Gerätekonfiguration sind vorübergehend.

Um Ihre Gerätekonfiguration zu ändern, müssen Sie den Befehl „nmcli device“ mit der Option „modify“ ausführen und den zu ändernden Parameter angeben.

$ nmcli device modify <interface_name> <parameter> <value>

$ nmcli dev mod <interface_name> <parameter> <value>

Angenommen, Sie möchten die IP-Adresse Ihrer Netzwerkschnittstelle „eth0“ ändern. Sie möchten auch, dass die IP-Zuordnung statisch statt dynamisch ist.

Um das zu erreichen, würden Sie den folgenden Befehl ausführen

$ nmcli device modify eth0 ipv4.method manual

Connection successfully reapplied to 'eth0'

$ nmcli dev mod eth0 ipv4.address 192.168.1.19/24

Connection successfully reapplied to 'eth0'

Parameter erneut anwenden

Nur um zu zeigen, dass Änderungen vorübergehend sind , wenn Sie Parameter auf Ihre Schnittstelle „erneut anwenden“ würden, würden alle Ihre Änderungen verloren gehen.

Stattdessen würden die in Ihrer Verbindungskonfigurationsdatei (in /etc/NetworkManager/system-connections) definierten Parameter erneut angewendet.

$ nmcli dev reapply eth0

Connection successfully reapplied to 'eth0'

Wenn Sie die IP-Adresse erneut überprüfen, erhalten Sie eine andere IP-Adresse als die, die Sie im vorherigen Abschnitt statisch zugewiesen haben.

$ hostname -I

192.168.1.18/24

Grafik-Tools von Network Manager

In diesem Abschnitt werfen wir einen Blick auf die grafischen Tools, die in der Network Manager-Suite enthalten sind:nmtui und nm-applet.

Nmtui-Dienstprogramm

Das nmtui ist, wie der Name schon sagt, eine Text-Benutzeroberfläche, die entwickelt wurde, um den Netzwerkbetrieb mit einer benutzerfreundlichen Benutzeroberfläche zu erleichtern.

Um mit nmtui zu starten, führen Sie einfach „nmtui“ in einer Terminal-Shell aus.

$ nmtui

In diesem grafischen Menü haben Sie drei Optionen:

  • Verbindung bearbeiten :Hier können Sie Netzwerkschnittstellen auswählen und ihnen zugewiesene Parameter ändern (z. B. DNS, IP-Adresse oder Gateway-Adresse);
  • Verbindung aktivieren :aber auch bestehende Verbindungen deaktivieren. Zur Erinnerung:Verbindungen sind nur dann aktiv oder aktiviert, wenn sie einem bestimmten Gerät zugewiesen sind;
  • System-Hostnamen festlegen :wie „hostnamectl“ oder „hostname“ können Sie den PC-Namen über ein Netzwerk festlegen.

Die Navigation im nmtui-Tool ist ziemlich einfach:Sie können die Tasten der Tastatur zum Navigieren verwenden, die „Enter“-Taste, um Ihre Auswahl zu bestätigen, und die „Escape“-Taste, um abzubrechen und zum vorherigen Bildschirm zurückzukehren.

Nm-Applet auf GNOME

Die letzte Anwendung, die sich auf den Network Manager bezieht, ist nm-applet :ein GUI-Applet, das für GNOME-Benutzeroberflächen verfügbar ist.

Das nm-Applet-Tool ist eine Overlay-Benutzeroberfläche, die in der oberen rechten Ecke Ihres Desktop-Menüs verfügbar ist.

Mit dem nm-Applet können Sie :bestehende Verbindungen sehen, hinzufügen, bearbeiten und entfernen nach Belieben.

Sie können detaillierte Informationen zu den Einstellungen Ihrer kabelgebundenen Verbindungen anzeigen und diese bearbeiten, um Ihre IP-Adresse zu ändern oder die IP-Zuweisungsmethode zu ändern (z. B. von DHCP zu manuell)

Schlussfolgerung

In dieser Anleitung haben Sie den Network Manager kennengelernt :ein Tool auf modernen Distributionen, das verwendet wird, um Netzwerkverbindungen zu erstellen, zu ändern und zu verwalten.

Sie haben die mit Network Manager verbundenen Tools entdeckt (nämlich nmcli, nmtui und nm-applet ) und Sie haben gelernt, wie Sie diese Tools verwenden können, um Ihre bestehenden Verbindungen zu ändern.

Wenn Sie an Netzwerken oder Linux-Systemadministration interessiert sind, haben wir einen vollständigen Abschnitt auf der Website, der diesem Thema gewidmet ist, also schauen Sie ihn sich unbedingt an!


Linux
  1. wc Linux-Befehl mit Beispielen

  2. Linux-Sortierungsbefehl mit Beispielen

  3. Linux Tee-Befehl mit Beispielen

  4. Linux-Kopfbefehl mit Beispielen

  5. JQ-Befehl in Linux mit Beispielen

Linux-CD-Befehl mit Beispielen

Linux-Uhrbefehl mit Beispielen

Wartebefehl in Linux mit Beispielen

Linux-Exportbefehl mit Beispielen

Neustartbefehl unter Linux mit Beispielen

Linux-IP-Befehl mit Beispielen