Was ist der Unterschied zwischen Network Manager und 'ifconfig', 'ifup' usw.?

53

Ubuntu bietet anscheinend mindestens zwei "Netzwerk-Toolsets" (mangels eines besseren Begriffs). Ich bin in Konflikte zwischen diesen beiden geraten.

Ich stoße oft auf Konflikte zwischen diesen verschiedenen Werkzeugsätzen. Zum Beispiel starte ich Ubuntu Desktop zu Hause und verwende Software wie KVM / libvirt, die die Deaktivierung von Network Manager empfiehlt , aber die Deaktivierung von Network Manager führt dazu, dass andere Dinge nicht mehr funktionieren.

Was ist der Unterschied zwischen Network Manager und den herkömmlichen Netzwerkwerkzeugen? Können diese beiden Suiten nebeneinander laufen oder muss ich bei der einen oder anderen bleiben? Gibt es ein Dokument, das den Unterschied zwischen diesen verschiedenen Tools zusammenfasst? Ich konnte keinen finden.

(Verzeihen Sie die Unbestimmtheit dieser Frage. Ich habe nach einer Antwort gesucht und gesucht, aber ich habe nur viele vage Antworten gefunden, die für Ubuntu 10.04 / Lucid nicht relevant erscheinen, und ich verstehe möglicherweise den Zweck von NetworkManager nicht vollständig.) , dies scheint eine häufig gestellte Frage zu sein. Wenn Sie Ratschläge zur Klärung dieser Frage haben, schreiben Sie bitte einen Kommentar.)

Stefan Lasiewski
quelle

Antworten:

53

NetworkManagerund ifconfigsind (standardmäßig) nicht kompatibel ( NetworkManagerkonfiguriert keine in aufgeführten Schnittstellen /etc/network/interfaces). NetworkManagerist eine Art Einstellungs-Daemon, der sicherstellt, dass mehrere Benutzer Netzwerkverbindungen bearbeiten können. Dies ist in einer Desktop-Umgebung (insbesondere auf Laptops, die sich möglicherweise zwischen verschiedenen drahtlosen Netzwerken bewegen) sehr intelligent. Im Grunde genommen NetworkManagerist ein Frontend iproute, dhclient, wpa_supplicantund ppp.

ifconfig ist ein allgemeines Tool zum Konfigurieren von Netzwerkschnittstellen. Sie können dies beispielsweise folgendermaßen tun:

ifconfig eth1 10.0.0.1 netmask 255.0.0.0 hw ether 10:10:10:10:10:10
ifconfig eth1 down

um Ihre IP, Netzmaske und MAC-Adresse einzustellen eth1und dann Ihre Schnittstelle herunterzufahren (deaktivieren / ausschalten). ifconfigliest keine Konfigurationsdateien und macht nur genau das, was es gesagt wird.

ifupund ifdownsind Hilfsprogramme, die ifconfigzum Konfigurieren einer Netzwerkschnittstelle in Übereinstimmung damit verwenden, /etc/network/interfacesum sicherzustellen, dass Skripts ausgeführt werden müssen, wenn es Up-, Down-, Pre-Up-, Pre-Down-, Post-Up-, Post-Down-Skripts gibt Sein.

Ok, dann ist da wpa_supplicantund dhclient. dhclientist ein DHCP-Client - ifupwird verwendet, wenn eine Netzwerkschnittstelle wie gewünscht für DHCP konfiguriert ist NetworkManager. wpa_supplicantist ein Tool zum Konfigurieren der Verschlüsselung in drahtlosen Netzwerken.

Die meisten dieser Tools haben Manpages, zum Beispiel hat die Interface-Datei eine eigene Manpage, die das Format dieser Konfigurationsdatei beschreibt.

man interfaces
man ifconfig
man ifup

Abgesehen davon würde ich empfehlen, dass Sie entfernen (oder deaktivieren) NetworkManager, ich glaube nicht, dass etwas NetworkManageraußer den GUI-Tools zum Einrichten des Netzwerks beim Entfernen brechen wird. Wenn Sie die drahtlose konfigurieren möchten , ohne NetworkManagerSie betrachten möchten diese .

LassePoulsen
quelle
8

Diese Toolsets ergänzen einander und schließen sich nicht aus.

FWIW ifconfigist nur ein Tool unter anderen *configTools, die zum Konfigurieren von Netzwerkschnittstellen verwendet werden.

Die Werkzeuge ifup(8)und ifdown(8)bilden eine Ebene über den *configWerkzeugen. Sie können sich diese als Hilfsmittel vorstellen.

Ebenso steht NetworkManager über den Tools ifup(8)und ifdown(8). In Ermangelung eines besseren Begriffs ist Networkmanager kann orchestrieren die Werkzeuge (ets) von den Ebenen unten , um mit zusätzlicher Leichtigkeit zu erledigenden höherer Ebene Aufgaben wie Internet Connection Sharing im Vergleich zu nur die Werkzeugen aus den Ebenen unten.

Li Lo
quelle
Wenn Sie zusätzliche Details wünschen, hinterlassen Sie einen Kommentar und ich werde Sie verpflichten.
Li Lo
2
@ Li Lo: Ja, bitte machen Sie zusätzliche Angaben. Ich dachte, dass ifup / ifdown Hosts in / etc / network / interfaces ändern würde und Network Manager alle Schnittstellen in / etc / network / interfaces ignorieren würde. (Siehe Frage "d. Warum verwaltet Network Manager meine Netzwerke nicht?" Unter FAQ / Häufige Probleme / Fallstricke
Stefan Lasiewski
Ehm, ifup / ifdown verwenden / etc / network / interfaces und sind vom NetworkManager getrennt. NetworkManager arbeitet überhaupt nicht mit / etc / network / interfaces zusammen, außer dass standardmäßig eine Liste der zu ignorierenden Schnittstellen gelesen wird.
user1338062
Diese Antwort wurde abgelehnt, da sie als eindeutig falsch bezeichnet wurde und vom Poster keine Antwort erhalten wird. Ich gehe also davon aus, dass der Vorwurf wahr ist.
Penghe Geng
0

Network Manager ist ein GUI-Programm, das verwendet wird, wenn Ubuntu als Workstation-Betriebssystem auf Ihrem Desktop / Laptop installiert ist.

Die Dienstprogramme vom Typ ifconfig sind befehlszeilenbasiert und werden verwendet, wenn Sie mit Ubuntu als Serverbetriebssystem arbeiten und Ihnen keine grafische Oberfläche zur Verfügung steht (z. B. wenn Sie eine auf Ubuntu basierende Amazon EC2-Instanz starten). . Sie werden normalerweise über eine SSH-Verbindung verwendet.

ggheorghiu
quelle
6
Ja, ich habe den ifdownBefehl einmal über eine SSH-Verbindung verwendet. Für mich hat es nicht so gut geklappt.
Igor Zinov'yev
5
Network Manager ist nicht nur eine grafische Benutzeroberfläche. Es gibt auch einen Network-Manager-Daemon, der ein anderes Paket als das Network-Manager-Gnome-GUI-Applet ist. Was ist der Unterschied zwischen dem Netzwerkmanager und den herkömmlichen Netzwerkwerkzeugen?
Stefan Lasiewski
1
NetworkManager läuft auf wpa-supplicant, einem / anderen / Tool zur Konfiguration des Netzwerks. / etc / network / interfaces kann auch Anrufe zu wpa-Supplicant machen
maco
1
Tatsächlich ist NetworkManager kein reines Gui-Tool. Sie können es auch mit der Kommandozeile verwenden.
LittleByBlue
Diese Antwort ist einfach falsch. ifconfigist nur ein altes Werkzeug für die Vernetzung.
LittleByBlue
0

Wenn Sie den Netzwerkmanager entfernen, müssen Sie vermutlich / etc / network / interface konfigurieren, damit die Schnittstellen funktionieren.

user254450
quelle