Как перезапустить сетевой сервис?


247

Я пытался использовать

sudo service networking restart

а также

sudo /etc/init.d/network restart

но они оба вырывают оконный менеджер, и я больше не могу использовать свою клавиатуру для ввода в X.

когда я использую /etc/init.d/метод, он жалуется, говоря, что я должен использовать служебную утилиту

e.g. service networking restart

но он падает точно так же.

Есть ли графический интерфейс для перезапуска сети?


Обратите внимание, что вы можете реанимировать клавиатуру, если вы отключите и снова подключите ее - и она поддерживает горячее подключение, например, USB.
пользователь неизвестен

Я также столкнулся с подобной проблемой в Gnome 3 в Ubuntu 13.03. Экран искажен как верхняя полоса пропала. Короткие клавиши не работают. Поскольку меню / Активация не показаны, я не могу управлять системой. К счастью, консоль была открыта уже. Таким образом, команда перезагрузки может быть набрана.
kuldeep.kamboj

1
если вы ищете метод графического интерфейса, просто откройте тире, введите «Сеть» и выберите его. Теперь нажмите кнопку «Вкл / Выкл», чтобы выключить, и снова нажмите, чтобы включить. ваша сеть перезапускается сейчас.
α14sнιη

Ответы:


257

Для десктопов

Пытаться

sudo service network-manager restart

вместо.

Ubuntu использует сетевой менеджер вместо традиционной сетевой модели Linux. поэтому вы должны перезапустить network-managerслужбу вместо networkслужбы. Или используйте ifup / down .

Для серверов

Проверьте этот ответ .


6
хм, странно, что перезапуск только по сети ломает систему. Это случается и с тобой или только со мной?
оспинатор 19.12.12

5
@ waspinator - это происходит со мной тоже. (К вашему сведению.)
Джош М.

1
Автозаполнение дает networking, однако, правильный cmdnetwork-manager
Abdennour TOUMI

1
Хотел бы я сначала попробовать ответ Хорхе.
Джонатан

4
По состоянию на 18.04.2 ответ:systemctl restart systemd-networkd
Ejoso

111

Для серверов

Перезапуск сети на настольном компьютере приведет к остановке dbus и множества сервисов и никогда не запустится снова, что обычно приводит к невозможности использования всей системы.

Поскольку Ubuntu запускает основанную на событиях сеть, просто нет способа отменить все это и повторить все, поэтому перезапуск просто невозможен. Вместо этого рекомендуется использовать ifdown и ifup на интерфейсах, которые вы на самом деле хотите перенастроить:

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

1
@Jorge Castro: это поведение будет исправлено, или оно будет нарушено дизайном?
оспинатор

3
@waspinator ошибка помечена как исправленная на март этого года: bugs.launchpad.net/ubuntu/+source/dbus/+bug/1072518
Хорхе Кастро

3
Какова цель exclude=loздесь?
Джефф Этвуд

3
@JeffAtwood Loopback используется для X, dbus и т. Д. Отключение вызывает ... проблемы.
Кто-то где-то

3
Работал на Ubuntu Server 16.04.1. Ubuntu Server, по-видимому, не включает Network Manager, поэтому askubuntu.com/a/230751/13756 не работает.
Дерек Махар

36

Вы могли бы попробовать

ifconfig eth0 down && ifconfig eth0 up

(или как называется ваш сетевой интерфейс), чтобы перезапустить сеть.


2
... насколько я знаю, это не обновляет конфигурацию интерфейса в соответствии с / etc / network / interfaces ..., что вы можете захотеть
moritz

1
При использовании sudo: sudo ifconfig eth0 down && sudo ifconfig eth0 up. В противном случае, если вы подключены через ssh, вам придется перезагрузить компьютер.
Таркешвар

после попытки ifup / ifdown и вызова сети службы рег, у меня это наконец сработало
Jon B

Я думаю, что это лучше, чем принятый ответ, потому ifupчто неправильно обрабатывает связанные интерфейсы, в то время как ifconfigделает
gilad mayani

21

Ubuntu CLI: для перезапуска сетевой службы либо

sudo /etc/init.d/networking restart

или же

ifdown eth0
ifup eth0

1
Раньше это работало для старых ядер. Теперь кажется, что не работают действительно. Предпочитаемый ifconfig eth0 down и ifconfig eth0 up
josircg

1
Не используйте эту команду при подключении к удаленной машине.
Николай Костов

9

service network-manager restart не работает:

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

Единственное, что работает:

ifconfig eth0 down
ifconfig eth0 up

7
sudo service network-manager restart

ни:

sudo service networking restart

Не работает на сервере Ubuntu 14.04

только:

sudo ifdown eth0:0
sudo ifup eth0:0

Работает. Измените eth0: 0 на ваш интерфейс.


7

В настоящее время наиболее прямым способом перезапуска сетевых служб является использование элементов управления systemd , а именно утилиты управления systemd из командной строки systemctl. Эта команда перезапустит NetworkManager:

sudo systemctl restart NetworkManager.service

Более подробную информацию можно найти здесь .


1
Попробуйте "systemctl restart network.service" на сервере 16.04.
Cloudurfin

Не нужна часть ".service" в конце.
Гринго Суаве

6

Попробуйте использовать индикатор (верхняя строка меню), чтобы отключить, а затем включить сеть.


5

У меня та же проблема. Это известная ошибка https://bugs.launchpad.net/ubuntu/+source/dbus/+bug/1102507

Использование service network-manager restartработает через


Это решение, которое работает всегда 16.04. По моему опыту, в Ubuntu 16.04 есть проблемы с перезагрузкой Wi-Fi после выхода из спящего режима.
Даниэльц

5

Если вы можете перезапустить сеть с помощью апплета NetworkManager, вам не нужно перезапускать сам NetworkManager (по крайней мере, в большинстве случаев).

В этом случае, чтобы перезапустить все соединения, используйте этот код из оболочки или в скрипте:

nmcli nm enable false
sleep 5
nmcli nm enable true 

Подробности можно найти на странице руководства интерфейса командной строки NetworkManagar .

Обратите внимание, что эти команды действуют как апплет, поэтому им не нужны никакие дополнительные привилегии (нет sudoили что-то еще).


4

В Ubuntu 14.04 есть новая «функция», которая делает невозможным перезапуск. Выключите интерфейс и работает.

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

1
Это не перезапускает сетевые сервисы, то есть не повторяется для DHCP-адресов и т. Д.
Samveen

3

Я действительно не думаю, что есть метод GUI - по крайней мере по умолчанию.

Я также не уверен, что Вы подразумеваете под «перезапуском сетевого сервиса», но я чувствую, что следующее может помочь.

До Ubuntu 16.04

sudo killall NetworkManager 

Это убивает NetworkManger, который автоматически перезапускается после этого. Это не сломает систему.

Ubuntu 16.04

sudo killall NetworkManager && sudo NetworkManager

Исходя из моего личного опыта, кажется, что в Ubuntu 16.04 NetworkManager не всегда перезапускается сам по себе, и лучше запустить его вручную.


Чем это лучше чем sudo service network-manager restartи почему?
Обратное

@ Unververse, я считаю, что это sudo service network-manager restartпросто не сработало для меня при публикации этого ответа.
kcpr

2

Если вы используете Ubuntu 14.04 Desktop или Server, вы можете перезагрузить сеть:

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

Я получаюifdown: interface eth0 not configured RTNETLINK answers: File exists Failed to bring up eth0.
Вольфганг

1

Это использует сетевой менеджер Ubuntu, чтобы отключить, а затем включить eth0:

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

Если ваше соединение имеет другое имя, используйте его. Вы можете узнать имя вашего соединения, используя команду:

nmcli c status

1

Ответ rmano блестящий. Решает так много вопросов.

Замечание по улучшению: в U15 у меня другой синтаксис для nmcli:

Для анализа сделайте:

nmcli networking connectivity

Чтобы остановить сервис, сделайте:

nmcli networking off

и для перезапуска сделать:

nmcli networking on

Судо не требуется. Спасибо, Рмано!


0

Альтернативный подход для сервера (по состоянию на Ubuntu 18.04):

  1. Установите пакет ifupdown2: apt install ifupdown2

  2. Используйте service networking restartкоманду

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.