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

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

sudo service networking restart

а также

sudo /etc/init.d/network restart

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

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

e.g. service networking restart

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

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

15 ответов

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

Пытаться

sudo service network-manager restart

вместо.

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

Для серверов

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

Для серверов

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

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

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

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

ifconfig eth0 down && ifconfig eth0 up

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

Ubuntu CLI: перезапустить сетевой сервис либо

sudo /etc/init.d/networking restart

или же

ifdown eth0
ifup eth0

Для сервера ubuntu 18.04 это работает:

sudo systemctl restart systemd-networkd

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

sudo systemctl restart NetworkManager.service

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

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

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

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

ifconfig eth0 down
ifconfig eth0 up
sudo service network-manager restart

ни:

sudo service networking restart

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

только:

sudo ifdown eth0:0
sudo ifup eth0:0

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

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

С помощью service network-manager restart работает через

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

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

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

nmcli nm enable false
sleep 5
nmcli nm enable true 

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

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

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

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

До Ubuntu 16.04

sudo killall NetworkManager 

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

Ubuntu 16.04

sudo killall NetworkManager && sudo NetworkManager

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

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

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

Я могу перезапустить сетевую службу на ubuntu с помощью команды.

 sudo systemctl restart network-manager

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

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

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

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

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

nmcli c status

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

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

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

nmcli networking connectivity

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

nmcli networking off

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

nmcli networking on

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

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

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

  2. использование service networking restart команда

Другие вопросы по тегам