Netzwerk Manager - NetworkManager
Originalautor(en) | roter Hut |
---|---|
Entwickler | meistens Red Hat |
Erstveröffentlichung | 19. November 2004 |
Stabile Version | 1.32.10 / 18. August 2021
|
Repository | |
Geschrieben in | C mit GObject |
Betriebssystem | SUS / POSIX |
Plattform | Unix-ähnlich |
Typ | |
Lizenz | GNU GPL |
Webseite | Netzwerkmanager |
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
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 /dev
Verzeichnis, 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 ifconfig
und 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/interfaces
für Debian Linux-Distributionen und seine Derivate oder ifcfg
Dateien in /etc/sysconfig/network-scripts/
für Fedora und seine Derivate und DNS- Server in gespeichert /etc/resolv.conf
. /etc/network/interfaces
oder /etc/sysconfig/network-scripts/ifcfg-*
kann eine statische IP-Adresse definieren oder dhclient
verwendet 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:
- der NetworkManager- Daemon , die eigentliche Software, die Verbindungen verwaltet und Netzwerkänderungen meldet
- 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
Die GUI zeigt alle verfügbaren APs an . Der Benutzer muss lediglich auf das gewünschte klicken.
Grafisches Frontend für GNOME Shell 3.10
- 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
- Linux auf dem Desktop
- BlauZ
- GNOME-Schlüsselbundverwaltung
- USB-Serie
- Wicd – in Python geschriebener Netzwerkmanager
- wpa_supplicant
- wvdial
- netifd – winziger Daemon mit der Fähigkeit, Netlink-Ereignisse abzuhören; benötigt keinen D-Bus , hängt nicht von GLib ab , zielt auf eingebettete Geräte ab
- ConnMan – Daemon zur Verwaltung von Internetverbindungen innerhalb eingebetteter Geräte
Verweise
Externe Links
- NetworkManager-Startseite
- Datenbank für Dienstanbieter
- NetworkManager in freedesktop.org
- NetworkManager-Status auf der freebsd-gnome-Mailingliste
- Original NetworkManager-Seite auf redhat.com über WaybackMachine
- Ankündigung der ersten öffentlichen Version von NetworkManager
- So verwenden Sie eine WiFi-Schnittstelle mit NetworkManager