Jak zrestartować usługę sieciową?


247

Próbowałem użyć

sudo service networking restart

i

sudo /etc/init.d/network restart

ale oba powodują awarię menedżera okien i nie mogę już używać klawiatury do wprowadzania danych do X.

kiedy używam /etc/init.d/metody, narzeka, że ​​powinienem skorzystać z narzędzia serwisowego

e.g. service networking restart

ale zawiesza się tak samo.

Czy istnieje metoda GUI umożliwiająca ponowne uruchomienie sieci?


Pamiętaj, że możesz ożywić klawiaturę, jeśli ją odłączysz i ponownie włączysz - i można ją podłączyć na gorąco, np. USB.
użytkownik nieznany

Podobny problem spotkałem także w Gnome 3 na Ubuntu 13.03. Zniekształcony ekran po zniknięciu górnego paska. Krótkie klawisze nie działały. Ponieważ nie pokazano menu / Aktywności, nie mam możliwości obsługi systemu. Na szczęście konsola została już otwarta. Można więc wpisać polecenie restartu.
kuldeep.kamboj

1
jeśli szukasz metody GUI, po prostu otwórz myślnik, wpisz „Sieć” i wybierz tę opcję. teraz naciśnij przycisk „On / Off”, aby wyłączyć i ponownie kliknij, aby włączyć. twoja sieć jest teraz ponownie uruchomiona.
αғsнιη

Odpowiedzi:


257

Do komputerów stacjonarnych

Próbować

sudo service network-manager restart

zamiast.

Ubuntu używa menedżera sieci zamiast tradycyjnego modelu sieci Linux. więc należy ponownie uruchomić network-managerusługę zamiast networkusługi. Lub użyj ifup / down .

Dla serwerów

Sprawdź tę odpowiedź .


6
hmm, dziwne, że restartowanie sieci powoduje uszkodzenie systemu. Czy to też przytrafia się Tobie, czy to tylko ja?
waspinator,

5
@waspinator - mi się też zdarza. (FYI.)
Josh M.

1
Autouzupełnianie daje networkingjednak właściwy cmd tonetwork-manager
Abdennour TOUMI

1
Chciałbym najpierw wypróbować odpowiedź Jorge.
Jonathan

4
Od 18.04.2 odpowiedź brzmi:systemctl restart systemd-networkd
Ejoso

111

Dla serwerów

Ponowne uruchomienie sieci na komputerze stacjonarnym spowoduje, że dbus i pakiet usług przestaną działać i nigdy nie zostaną ponownie uruchomione, co zwykle spowoduje, że cały system będzie bezużyteczny.

Ponieważ Ubuntu uruchamia sieć opartą na zdarzeniach, po prostu nie ma sposobu, aby cofnąć to wszystko i powtórzyć wszystko, więc ponowne uruchomienie po prostu nie jest proste. Zalecanym sposobem jest zamiast tego użycie ifdown i ifup w interfejsach, które faktycznie chcesz zmienić:

sudo ifdown --exclude=lo -a && sudo ifup --exclude=lo -a

1
@Jorge Castro: czy to zachowanie zostanie naprawione, czy może jest zepsute przez projekt?
waspinator,

3
@waspinator błąd został oznaczony jako naprawiony w marcu tego roku: bugs.launchpad.net/ubuntu/+source/dbus/+bug/1072518
Jorge Castro

3
jaki jest cel tego exclude=lo?
Jeff Atwood

3
@JeffAtwood Loopback jest używany dla X, dbus itp. Wyłączenie powoduje ... problemy.
Ktoś gdzieś

3
Pracował na Ubuntu Server 16.04.1. Serwer Ubuntu nie wydaje się zawierać Menedżera sieci, więc askubuntu.com/a/230751/13756 nie działa.
Derek Mahar

36

Możesz spróbować

ifconfig eth0 down && ifconfig eth0 up

(lub jakkolwiek nazywany jest interfejs sieciowy) w celu ponownego uruchomienia sieci.


2
... o ile wiem, to nie aktualizuje konfiguracji interfejsu zgodnie z / etc / network / interfaces ... czego możesz chcieć
moritz

1
Podczas korzystania z sudo: sudo ifconfig eth0 w dół i& sudo ifconfig eth0 w górę. W przeciwnym razie, jeśli jesteś podłączony przez ssh, będziesz musiał ponownie uruchomić komputer.
tarkeshwar

po wypróbowaniu ifup / ifdown i połączenia z serwisem reg, to w końcu zadziałało
Jon B

Myślę, że jest lepsza niż zaakceptowana odpowiedź, ponieważ ifupnie obsługuje poprawnie połączonych interfejsów, a ifconfigrobi to
gilad mayani

21

ubuntu CLI: zrestartowanie usługi sieciowej albo

sudo /etc/init.d/networking restart

lub

ifdown eth0
ifup eth0

1
To działało w przypadku starszych jąder. Teraz wydaje się, że tak naprawdę nie działają. Preferowany ifconfig eth0 w dół i ifconfig eth0 w górę
josircg

1
Uważaj, aby nie używać tego polecenia podczas łączenia się na zdalnym komputerze.
Nikolay Kostov

9

service network-manager restart nie działa:

stop: Unknown job network-manager
start: Unknown job network-manager

Jedyne, co działa, to:

ifconfig eth0 down
ifconfig eth0 up

7
sudo service network-manager restart

ani:

sudo service networking restart

Nie działa na serwerze Ubuntu 14.04

tylko:

sudo ifdown eth0:0
sudo ifup eth0:0

Pracuje. Zmień eth0: 0 na swój interfejs.


7

Obecnie najbardziej bezpośrednim sposobem na ponowne uruchomienie usług sieciowych jest użycie systemowej kontroli, a mianowicie wiersza poleceń systemd control systemctl. To polecenie zrestartuje NetworkManager:

sudo systemctl restart NetworkManager.service

Więcej informacji można znaleźć tutaj .


1
Spróbuj „systemctl restart networking.service” na serwerze 16.04.
cloudsurfin 30.10.16

Na koniec nie potrzebujesz części „.service”.
Gringo Suave

6

Spróbuj użyć wskaźnika (górnego paska menu), aby wyłączyć, a następnie włączyć sieć.



5

Jeśli możesz zrestartować sieć za pomocą apletu NetworkManager, nie musisz restartować samego NetworkManagera (przynajmniej przez większość czasu).

W takim przypadku, aby zrestartować wszystkie połączenia, użyj tego kodu z powłoki lub ze skryptu:

nmcli nm enable false
sleep 5
nmcli nm enable true 

Szczegóły można znaleźć na stronie podręcznika interfejsu wiersza poleceń NetworkManagar .

Zauważ, że te polecenia działają jak aplet, więc nie potrzebują żadnych dodatkowych uprawnień (nie sudolub cokolwiek).


4

W Ubuntu 14.04 mają nową „funkcję”, która uniemożliwia ponowne uruchomienie. Wymuś działanie interfejsu w dół i w górę.

  sudo ip link set eth0 down
  sudo ip link set eth0 up

1
Nie powoduje to ponownego uruchomienia usług sieciowych, co oznacza, że ​​nie należy próbować ponownie adresów DHCP itp.
Samveen

3

Nie sądzę, żeby istniała metoda GUI - przynajmniej domyślnie.

Nie jestem również pewien, co masz na myśli przez „ponowne uruchomienie usługi sieciowej”, ale uważam, że poniższe informacje mogą pomóc.

Przed Ubuntu 16.04

sudo killall NetworkManager 

Zabija NetworkManger, który automatycznie uruchamia się ponownie po tym. Nie psuje systemu.

Ubuntu 16.04

sudo killall NetworkManager && sudo NetworkManager

Na podstawie moich osobistych doświadczeń wydaje się, że w Ubuntu 16.04 NetworkManager nie zawsze sam się restartuje i lepiej jest uruchomić go ręcznie.


Jak to jest lepsze niż sudo service network-manager restarti dlaczego?
Cofnij się

@Underverse, uważam, że sudo service network-manager restartpo prostu nie działało dla mnie podczas publikowania tej odpowiedzi.
kcpr

2

Jeśli Ubuntu 14.04 Desktop lub Server, możesz zrestartować sieć poprzez:

sudo -i
( ifdown $(ifquery --list -X lo|xargs echo) && ifup $(ifquery --list -X lo|xargs echo) )&

Dostajęifdown: interface eth0 not configured RTNETLINK answers: File exists Failed to bring up eth0.
Wolfgang

1

To używa menedżera sieci Ubuntu do wyłączenia, a następnie włączenia eth0:

nmcli nm enable false eth0 && nmcli nm enable true eth0

Jeśli twoje połączenie ma inną nazwę, użyj go. Możesz nauczyć się nazwy połączeń za pomocą polecenia:

nmcli c status

1

Odpowiedź rmano jest genialna. Rozwiązuje tak wiele problemów.

Uwaga do poprawy: w U15 doświadczam innej składni nmcli:

Do analizy wykonaj:

nmcli networking connectivity

Aby zatrzymać usługę:

nmcli networking off

i ponownie uruchomić:

nmcli networking on

Sudo nie jest wymagane. Dzięki rmano!


0

Alternatywne podejście do serwera (od Ubuntu 18.04):

  1. Zainstaluj pakiet ifupdown2: apt install ifupdown2

  2. Użyj service networking restartpolecenia

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.