Jaka jest różnica między Network Managerem a „ifconfig”, „ifup” itp.?

53

Ubuntu wydaje się zapewniać co najmniej dwa sieciowe „zestawy narzędzi” (z powodu braku lepszego terminu). Wpadam w konflikty między tymi dwoma.

Często spotykam się z konfliktami między tymi różnymi zestawami narzędzi. Na przykład używam Ubuntu Desktop w domu i używam oprogramowania takiego jak KVM / libvirt, które zaleca wyłączanie Menedżera sieci , ale wyłączenie Menedżera sieci powoduje inne problemy.

Jaka jest różnica między Menedżerem sieci a tradycyjnymi narzędziami sieciowymi? Czy te dwa apartamenty mogą działać obok siebie, czy też muszę trzymać się jednego lub drugiego? Czy istnieje dokument podsumowujący różnicę między tymi różnymi narzędziami? Nie udało mi się go znaleźć.

(Wybacz niejasność tego pytania. Szukałem i szukałem odpowiedzi, ale znalazłem tylko wiele niejasnych odpowiedzi, które nie wydają się istotne dla Ubuntu 10.04 / Lucid, i mogę nie w pełni zrozumieć cel NetworkManagera. Jednak , wydaje się, że jest to często zadawane pytanie. Jeśli masz porady dotyczące wyjaśnienia tego pytania, opublikuj komentarz).

Stefan Lasiewski
źródło

Odpowiedzi:

53

NetworkManageri ifconfignie są (domyślnie) kompatybilne ( NetworkManagernie skonfigurują interfejsów wymienionych w /etc/network/interfaces). NetworkManagerjest rodzajem demona ustawień, który zapewnia, że ​​wielu użytkowników może edytować połączenia sieciowe, jest to bardzo inteligentne w środowisku stacjonarnym (szczególnie na laptopach, które mogą przemieszczać się między różnymi sieciami bezprzewodowymi). Zasadniczo NetworkManagerjest to nakładka na iproute, dhclient, wpa_supplicanti ppp.

ifconfig to ogólne narzędzie do konfigurowania interfejsów sieciowych, możesz na przykład:

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

aby ustawić adres IP, maskę sieci i adres MAC eth1, a następnie wyłączyć (wyłączyć / wyłączyć) interfejs. ifconfignie odczytuje żadnych plików konfiguracyjnych i robi dokładnie to, co mu powiedziano.

ifupi ifdownsą programami pomocniczymi, które używają ifconfigdo skonfigurowania interfejsu sieciowego zgodnie z /etc/network/interfacestym, upewnią się, że jeśli będą jakieś skrypty w górę, w dół, w górę, w dół, w górę, w dół, w dół być.

Ok, to jest wpa_supplicanti dhclient. dhclientjest klientem DHCP - ifupużyje tego, jeśli interfejs sieciowy jest skonfigurowany dla DHCP, podobnie jak NetworkManager. wpa_supplicantto narzędzie do konfigurowania szyfrowania w sieciach bezprzewodowych.

Większość tych narzędzi ma strony podręcznika, na przykład plik interfejsów ma własną stronę opisującą format tego pliku konfiguracyjnego.

man interfaces
man ifconfig
man ifup

Biorąc to pod uwagę, zalecałbym usunięcie (lub wyłączenie) NetworkManager, nie sądzę, że nic się nie zepsuje, z NetworkManagerwyjątkiem narzędzi GUI do konfiguracji sieci. Jeśli chcesz skonfigurować sieć bezprzewodową NetworkManager, możesz na to spojrzeć .

LassePoulsen
źródło
8

Te zestawy narzędzi uzupełniają się, a nie wykluczają.

FWIW, ifconfigto tylko narzędzie wśród innych *confignarzędzi używanych do konfigurowania interfejsów sieciowych.

ifup(8)I ifdown(8)narzędzia są jedną warstwę nad *confignarzędziami. Możesz myśleć o nich jako o narzędziach pomocniczych.

Podobnie NetworkManager jest wyższy niż narzędzia ifup(8)i ifdown(8). W przypadku braku lepszego terminu NetworkManager jest w stanie koordynować narzędzia (ets) z poniższych poziomów w celu wykonania zadań wyższego poziomu, takich jak Udostępnianie połączenia internetowego, z dodatkową łatwością w porównaniu do zwykłego korzystania z narzędzi z poniższych poziomów.

Li Lo
źródło
Jeśli chcesz uzyskać dodatkowe informacje, zostaw komentarz, a ja zobowiązuję się.
Li Lo,
2
@Li Lo: Tak, podaj dodatkowe szczegóły. Myślałem, że ifup / ifdown zmodyfikuje hosty w / etc / network / interfaces, a Network Manager zignoruje wszelkie interfejsy w / etc / network / interfaces. (Patrz pytanie „d. Dlaczego Menedżer sieci nie zarządza moimi sieciami” w części FAQ / Typowe problemy / Pułapki
Stefan Lasiewski,
Ehm, ifup / ifdown używają / etc / network / interfaces i są niezależne od NetworkManager. NetworkManager w ogóle nie zadziera z / etc / network / interfaces, z wyjątkiem domyślnego odczytu listy interfejsów do zignorowania.
user1338062,
Głosowałem za odpowiedzią, ponieważ została ona uznana za całkowicie błędną i nie ma odpowiedzi z plakatu. Zakładam więc, że oskarżenie jest prawdziwe.
Penghe Geng
0

Network Manager to program GUI używany podczas pracy z Ubuntu jako systemem operacyjnym stacji roboczej zainstalowanym na twoim komputerze stacjonarnym / laptopie.

Narzędzia typu ifconfig są oparte na wierszu poleceń i są używane podczas pracy z Ubuntu jako systemem operacyjnym serwera, gdy nie masz dostępnego interfejsu graficznego (na przykład podczas uruchamiania instancji Amazon EC2 opartej na Ubuntu) . Są zwykle używane przez połączenie ssh.

ggheorghiu
źródło
6
Tak, kiedyś użyłem ifdownpolecenia przez połączenie ssh. Nie wyszło mi to zbyt dobrze.
Igor Zinov'yev
5
Menedżer sieci to nie tylko GUI. Istnieje również demon menedżera sieci, który jest innym pakietem niż aplet GUI sieci-menedżera-gnome. Jaka jest różnica między menedżerem sieci a tradycyjnymi narzędziami sieciowymi?
Stefan Lasiewski,
1
NetworkManager działa na bazie wpa-suplikanta, który jest / inny / narzędziem do konfigurowania sieci. / etc / network / interfaces może również wykonywać połączenia z wpa-suplikantem
maco
1
W rzeczywistości NetworkManager nie jest narzędziem tylko dla GUI. możesz go również użyć w wierszu polecenia.
LittleByBlue,
Ta odpowiedź jest po prostu błędna. ifconfigto tylko stare narzędzie do tworzenia sieci.
LittleByBlue
0

Jeśli usuniesz menedżera sieci, zakładam, że musisz skonfigurować / etc / network / interface, aby interfejsy działały.

użytkownik254450
źródło