przeładuj statyczny adres IP ubuntu 16

10

Używam serwera Ubuntu 16.04 i konfiguruję niektóre interfejsy sieciowe, chcę ponownie załadować statyczny adres IP po zmianie jego adresu w / etc / network / interfaces bez restartu:

auto ens6
iface ens6 inet static
        address 192.168.0.41
        netmask 255.255.255.0
        broadcast 192.168.0.255

Próbowałem następujące:

sudo systemctl restart networking
sudo ifconfig ens6 down (and afterwards up)
sudo ifdown ens6 (and afterwards up)

i wypróbowałem kilka kombinacji tych poleceń,

Jednak jeśli zmienię swój „adres” w interfejsach / etc / network /, zostanie on zaktualizowany (w ifconfig) dopiero po ponownym uruchomieniu komputera

Jaki jest prawidłowy sposób wykonania tej czynności bez ponownego uruchomienia?

EDYCJA - próbowałem tego również z powodu komentarzy

sudo /etc/init.d/networking restart
Matan Levy
źródło
1
Czy próbowałeś sudo /etc/init.d/networking restartponownie uruchomić sieć?
Terrance
próbowałem teraz, wygląda na to, że robi to samo co „systemctl restart networking”, wciąż otrzymuję ten sam adres IP podczas sprawdzania ifconfig
Matan Levy
OK, dzięki za próbę. Niestety w tej chwili mój system nie znajduje się w stanie, w którym mógłbym przeprowadzić dla ciebie testy. Mogę zrobić więcej badań i sprawdzić, czy mogę zduplikować problem i pomóc ci go rozwiązać.
Terrance
dziękuję, miej oko na post, w tej chwili serwery są w konfiguracji i dev, więc mogę zarządzać z restartami, ale może potrzebuję zmienić statyczny adres IP w trakcie produkcji i nie stać mnie na ponowne uruchomienie dla tego typu akcja
Matan Levy
Jeszcze jedną rzecz, którą możesz wypróbować, a ja właśnie to zrobiłem, kiedy uruchomiłeś sudo ifdown ens6próbę uruchomienia, sudo ifup -aaby przywrócić ją i sprawdzić, czy zmieni się twój adres IP. Po prostu mi to zrobiło.
Terrance

Odpowiedzi:

10

Jeśli podejście ifdown + ifup nie działa, spróbuj:

sudo ifdown <network interface> && sudo ip addr flush <network interface> && sudo ifup <network interface>
Ed Bordin
źródło
3
ip addr flush enp0s3 && systemctl restart networking.service   

Gdzie enp0s3jest nazwa twojej karty sieciowej.

użytkownik2902385
źródło
2

Aby zmienić adresy IP bez ponownego uruchamiania systemu, uruchom następujące wiersze, aby wykonać zadanie. Upewnij się, że dokonałeś zmian w /etc/network/interfacespliku, zanim wykonasz następujące kroki:

EDYTOWAĆ:

Możesz spróbować wyłączyć predykcyjne nazewnictwo sieci, dodając następujące elementy do /etc/default/grub:

GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0"

Następnie uruchom grubaktualizację:

sudo update-grub

Uruchom ponownie system:

sudo reboot

Najpierw wyłącz interfejs:

sudo ifdown <network interface>

Następnie przywróć wszystkie interfejsy:

sudo ifup -a

Mam nadzieję że to pomoże!

Terrance
źródło
to nie zadziałało dla mnie i wciąż otrzymuję takie same wyniki na ifconfig (używam Ubuntu 16.04 lts)
Matan Levy
@MatanLevy Wiesz, zastanawiam się, czy to dlatego, że nie uruchamiam predykcyjnych nazw sieci. Niestety nie jestem w 100% pewien, czy wersja Server używa nazewnictwa predykcyjnego, czy nie. Korzystam z 16.04.1 LTS.
Terrance
próbował zmienić GRUB_CMDLINE_LINUX_DEFAULT i nadal nie jest dobry
Matan Levy
@MatanLevy Przepraszam, zapomniałem wspomnieć, że musisz ponownie uruchomić komputer po zmianie tego wiersza i aktualizacji grub. Czy zrestartowałeś się?
Terrance
@MatanLevy Cóż, zrobiłem więcej testów, a mój działa dobrze. Będę musiał zainstalować wersję serwerową, aby w pełni to przetestować.
Terrance