Netzwerk Manager - NetworkManager

Netzwerk Manager
Linux-Desktop-System-Daemons und ihre grafischen Front-Ends.svg
NetworkManager ist ein System-Daemon mit verschiedenen verfügbaren grafischen Frontends
Originalautor(en) roter Hut
Entwickler meistens Red Hat
Erstveröffentlichung 19. November 2004 ; Vor 16 Jahren ( 2004-11-19 )
Stabile Version
1.32.10 / 18. August 2021 ; Vor 15 Tagen ( 18 August 2021 )
Repository
Geschrieben in C mit GObject
Betriebssystem SUS / POSIX
Plattform Unix-ähnlich
Typ
Lizenz GNU GPL
Webseite Netzwerkmanager .dev

NetworkManager ist ein Daemon , der auf libudev und anderen Linux-Kernel-Schnittstellen (und einigen anderen Daemons) aufsetzt und eine High-Level-Schnittstelle für die Konfiguration der Netzwerkschnittstellen bereitstellt.

Begründung

NetworkManager ist ein Software-Dienstprogramm, das darauf abzielt, die Verwendung von Computernetzwerken zu vereinfachen . NetworkManager ist für Linux-Kernel- basierte und andere Unix-ähnliche Betriebssysteme verfügbar .

Wie es funktioniert

Linux-Kernel: Netzwerkgerätetreiber und Netzwerkstack. Hilfsprogramme sind nicht dargestellt, sie kommunizieren über die SCI mit den verschiedenen Komponenten des Kernels.

Um Computer miteinander zu verbinden, wurden verschiedene Kommunikationsprotokolle entwickelt, zB IEEE 802.3 (Ethernet), IEEE 802.11 ("wireless"), IEEE 802.15.1 (Bluetooth), PPPoE , PPPoA und viele mehr. Jeder teilnehmende Rechner muss über die passende Hardware, zB Netzwerkkarte oder WLAN-Netzwerkkarte verfügen und diese Hardware muss entsprechend konfiguriert sein, um eine Verbindung aufbauen zu können.

Bei einem monolithischen Kernel gehören alle Gerätetreiber dazu. Auf die Hardware wird über ihren Gerätetreiber zugegriffen (und auch konfiguriert). Bei Linux präsentiert der Kernel für jeden Gerätetreiber eine Darstellung in Form einer Gerätedatei . Alle Gerätedateien befinden sich im /devVerzeichnis, und traditionell werden die Gerätedateien für Ethernet-Hardware mit eth0, eth1, usw. bezeichnet. Seit systemd werden sie anders benannt: enp4s0, usw. (Diese Abstraktion wird als „ Alles ist ein Datei- Konzept“ bezeichnet.)

Alles im User-Space greift über seine Gerätedatei auf die Hardware zu. Das Konfigurationsdienstprogramm zum Konfigurieren der Hardware und Programme wie Webbrowser / SSH / NTP -client/etc. um Netzwerkpakete zu senden und zu empfangen.

Konfiguration von Netzwerkschnittstellen ohne NetworkManager

Unter Linux und allen Unix-ähnlichen Betriebssystemen werden die Dienstprogramme ifconfigund die neueren ip(aus dem iproute2- Bundle) verwendet, um IEEE 802.3- und IEEE 802.11- Hardware zu konfigurieren . Diese Dienstprogramme konfigurieren den Kernel direkt und die Konfiguration wird sofort angewendet. Nach dem Booten muss der Benutzer sie erneut konfigurieren.

Um nach jedem Booten die gleiche statische Konfiguration anzuwenden, werden die PID1-Programme verwendet: System V init führt Shell-Skripte und Binärprogramme aus, systemd parst seine eigenen conf-Dateien (und führt Programme aus). Die Boot-Up-Konfiguration für Netzwerkschnittstellen wird in /etc/network/interfacesfür Debian Linux-Distributionen und seine Derivate oder ifcfgDateien in /etc/sysconfig/network-scripts/für Fedora und seine Derivate und DNS- Server in gespeichert /etc/resolv.conf. /etc/network/interfacesoder /etc/sysconfig/network-scripts/ifcfg-*kann eine statische IP-Adresse definieren oder dhclientverwendet werden, und auch hier können alle Arten von VPN konfiguriert werden.

Falls die Konfiguration geändert werden muss, erledigt das DHCP -Protokoll dies automatisch, ohne dass der Benutzer es merkt.

Konfiguration von Netzwerkschnittstellen mit NetworkManager

  • Der NetworkManager ist über dbus zugänglich .
  • Konfiguration wird gespeichert in /etc/NetworkManager/NetworkManager.conf

Dynamische Konfigurationen (d. h. nicht in einer statischen Konfigurationsdatei gespeichert, sondern von außerhalb des Hosts übernommen und möglicherweise nach dem Booten geändert) sind eine immer häufigere Konfiguration, insbesondere da wir von physisch großen Servern zu tragbareren Hosts gewechselt sind, die kann nach Belieben des Benutzers ein- und ausgesteckt (oder von WLAN-Hotspot zu WLAN-Hotspot verschoben) werden. Bootp war ein frühes Protokoll, das dafür verwendet wurde, und bis heute ist sein Nachkomme DHCP noch sehr verbreitet. Viele Unix-ähnliche Systeme enthalten ein Programm namens dhclient , um diese dynamische Konfiguration zu handhaben. Bei einer relativ statischen oder einfachen dynamischen Konfiguration funktioniert die von dhclient geänderte statische Konfiguration gut. Da Netzwerke und ihre Topologien jedoch komplexer werden, wird ein zentraler Manager für alle Netzwerkkonfigurationsinformationen immer wichtiger.

Softwarearchitektur

NetworkManager besteht aus zwei Komponenten:

  1. der NetworkManager- Daemon , die eigentliche Software, die Verbindungen verwaltet und Netzwerkänderungen meldet
  2. mehrere grafische Frontends für verschiedene grafische Desktopumgebungen, wie GNOME Shell , GNOME Panel , KDE Plasma Workspaces , Cinnamon usw.

Beide Komponenten sollen von den Entwicklern einigermaßen portabel sein, und das Applet ist für Desktop-Umgebungen verfügbar, die das Freedesktop.org System Tray Protocol implementieren , einschließlich GNOME, KDE Plasma Workspaces, Enlightenment (Software) und Xfce . Da die Komponenten über D-Bus kommunizieren, können Anwendungen so geschrieben werden, dass sie „ link- aware“ sind oder das mitgelieferte Applet vollständig ersetzen. Ein Beispiel ist KNetworkManager, ein KDE-Frontend für NetworkManager, das von Novell für SUSE Linux entwickelt wurde .

Grafische Frontends und Befehlszeilenschnittstellen
nm-Applet
nm-applet ist das GNOME- Applet für NetworkManager.
nmcli
nmcli ist die integrierte Befehlszeilenschnittstelle von NetworkManager, die 2010 hinzugefügt wurde. nmcli ermöglicht die einfache Anzeige des aktuellen Status von NetworkManager, die Verwaltung von Verbindungen und Geräten sowie die Überwachung von Verbindungen.
nmtui
nmtui ist eine integrierte textbasierte Benutzeroberfläche . nmtui ist im Vergleich zu nmcli relativ einfach, das es Benutzern nur erlaubt, eine Verbindung hinzuzufügen/zu bearbeiten, eine Verbindung zu aktivieren und den Hostnamen des Systems festzulegen.
cnetworkmanager
cnetworkmanager-Befehlszeilenschnittstelle für NetworkManager.

Konfigurationsassistent für mobiles Breitband

Antti Kaijanmäki kündigte im April 2008 die Entwicklung eines Konfigurationsassistenten für mobiles Breitband für NetworkManager an; es wurde in NetworkManager-Version 0.7.0 verfügbar. Zusammen mit dem Paket Mobilfunk-Breitband-Provider-Info wird die Verbindung einfach konfiguriert.

Geschichte

Red Hat initiierte 2004 das NetworkManager-Projekt mit dem Ziel, Linux-Benutzern zu ermöglichen, einfacher mit modernen Netzwerkanforderungen, insbesondere drahtlosen Netzwerken , umzugehen . NetworkManager verfolgt einen opportunistischen Ansatz bei der Netzwerkauswahl und versucht, die beste verfügbare Verbindung zu verwenden, wenn Ausfälle auftreten oder der Benutzer zwischen drahtlosen Netzwerken wechselt. Es bevorzugt Ethernet- Verbindungen gegenüber „bekannten“ drahtlosen Netzwerken, die gegenüber drahtlosen Netzwerken mit SSIDs bevorzugt werden, mit denen der Benutzer noch nie eine Verbindung hergestellt hat. Der Benutzer wird nach Bedarf zur Eingabe von WEP- oder WPA- Schlüsseln aufgefordert .

Das NetworkManager-Projekt war eine der ersten großen Linux-Desktop-Komponenten, die D-Bus und HAL umfassend nutzten . Seit Juni 2009 ist NetworkManager jedoch nicht mehr auf HAL angewiesen, und seit 0.9.10 (ca. 2014) muss auch der D-Bus-Daemon für den Root-Betrieb nicht laufen.

Siehe auch

Verweise

Externe Links