Edycja interfejsów sieciowych bez ponownego uruchamiania systemu

23

Chciałbym wprowadzić zmiany w konfiguracji sieci, edytując mój /etc/network/interfacesplik. Jaki jest najczystszy sposób na wprowadzenie zmian w tym pliku i włączenie ich bez konieczności ponownego uruchamiania? Zazwyczaj robiłem:

  1. Edytuj plik
  2. service networking restart

Mam jednak wrażenie, że nie jest to „właściwy” sposób na dokonywanie tego rodzaju zmian.

Lorin Hochstein
źródło
restart sieci serwisowej prawie = /etc/init.d/networking restart.
shantanu

Odpowiedzi:

11

Zamknij interfejs sieciowy za pomocą

sudo ifdown eth0

(zamień eth0na interfejs, który chcesz zmienić) i uruchom go ponownie za pomocą

sudo ifup eth0
Florian Diesch
źródło
4
To mi nie zadziałało. Po prostu dał mi błąd „et0 nieskonfigurowane”. Musiałem zrestartować system, aby zmiany odniosły skutek 12.04.
JohnMerlino,
4

W Ubuntu Server 16.04 musisz użyć polecenia ip, aby opróżnić adres przed ponownym uruchomieniem sieci, w przeciwnym razie zmiany adresu w pliku interfejsów nie zostaną wprowadzone:

$ sudo ip addr flush interface-name
$ sudo systemctl restart networking

Otrzymałem tę odpowiedź z tego pomocnego artykułu

BrianD
źródło
Idealnie, to powinna być odpowiedź na pytanie.
Drew
2

Zatrzymaj wszystkie interfejsy za pomocą

sudo /etc/init.d/networking stop

Skonfiguruj (edytuj) swoje interfejsy, jak chcesz

Uruchom je ponownie

sudo /etc/init.d/networking start

Nie ma potrzeby ponownego uruchamiania.

Achu
źródło
3
To również nie działało w Ubuntu 12.04. Działał tylko system restartu.
JohnMerlino,
0

Dlaczego nie uważasz, że to właściwa droga. Pomyśl, co Ubuntu może zrobić dodatkowo podczas uruchamiania? Ubuntu ma listę usług, które muszą być uruchomione podczas uruchamiania, każda usługa ma listę kolejnych poleceń, aby się uruchomić. Ubuntu wystarczy uruchomić usługę sieciową za pomocą skryptu /etc/init.d/networking, który zawiera polecenia wymagające uruchomienia usługi sieciowej. Więc jeśli jakakolwiek zmiana musi zostać zastosowana w twojej sieci, musisz zrestartować usługę, a sposób polega na przywołaniu kolejnych poleceń usługi.

shantanu
źródło
Ponieważ ponowne uruchomienie gwarantuje wyczyszczenie wszystkich skonfigurowanych interfejsów i obawiam się, że jeśli usunę interfejs z pliku interfejsów, ponowne uruchomienie skryptu sieciowego go nie pozbędzie.
Lorin Hochstein
Jesteś pewny? każda zmiana w sieci działa na mnie z restartem sudo /etc/init.d/networking.
shantanu
Na przykład, jeśli utworzę otagowany vlan (np. Eth0.123), nie wydaje mi się, że zostanie on automatycznie zniszczony po ponownym uruchomieniu sieci
Lorin Hochstein
sudo eth0 w dół --- sudo eth0 w górę
shantanu
/etc/init.d/networking ponownie przeczytaj cały plik konfiguracji sieci i zaktualizuj wszystkie ustawienia, dlaczego miałoby to niszczyć stworzony interfejs? jeśli zmienisz ip, dns lub tego rodzaju informacje, wystarczy / etc / ..., jeśli tworzysz wirtualną sieć LAN, musisz zrestartować interfejs ethernet (sudo eth0 w dół, a sudo eth0 w górę).
shantanu
0

Właściwie żadna z nich nie działa. Testowane na Ubuntu 16.10. te nie miały żadnego efektu.

  • ifdown ens3 i ifup ens3
  • Sieć serwisowa zatrzymuje się i uruchamia
  • przeładowanie sieci serwisowej
  • systemctl zatrzymaj networking.service, a następnie uruchom ponownie.

Przez te wszystkie stare IP iPhp powróciło, a nie statyczne. zastanawiam się, czy to celowe?

SLS
źródło