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

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>


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!


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.