Як перезапустити мережевий сервіс?


247

Я намагався використовувати

sudo service networking restart

і

sudo /etc/init.d/network restart

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

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

e.g. service networking restart

але він збігає саме так.

Чи існує метод GUI для перезавантаження мережі?


Зауважте, що ви можете реанімувати клавіатуру, якщо ви виймете її від мережі та підключите до розетки - і вона підключена до гарячого зв'язку, тобто USB.
користувач невідомий

Я також зіткнувся з подібною проблемою на Gnome 3 на Ubuntu 13.03. Екран викривлений, коли верхній смуга відпала. Короткі клавіші не працюють. Як не показано меню / активізації, я не можу керувати системою. На щастя, консоль вже була відкрита. Тому команда перезавантаження може бути набрана.
kuldeep.kamboj

1
якщо ви шукаєте метод GUI, просто відкрийте тире, введіть "Мережа" і виберіть його. тепер натисніть кнопку "Увімкнути / Вимкнути", щоб вимкнути її і знову натисніть на. ваша мережа перезапущена зараз.
αғsnιη

Відповіді:


257

Для настільних ПК

Спробуйте

sudo service network-manager restart

замість цього.

Ubuntu використовує мережевий менеджер замість традиційної мережевої моделі Linux. тож вам слід перезапустити network-managerслужбу замість networkслужби. Або скористайтеся ifup / down .

Для серверів

Перевірте цю відповідь .


6
Хм, дивно, що перезапуск лише мереж порушує систему. Чи трапляється це і з вами чи це тільки я?
waspinator

5
@waspinator - це трапляється і зі мною. (FYI.)
Джош М.

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: це поведінка буде виправлена, чи вона порушена дизайном?
waspinator

3
@waspinator помилка позначена фіксованою станом на березень цього року: bugs.launchpad.net/ubuntu/+source/dbus/+bug/1072518
Хорхе Кастро

3
яка мета exclude=loтут?
Джефф Етвуд

3
@JeffAtwood Loopback використовується для X, dbus тощо. Вимкнення його спричиняє ... проблеми.
Хтось десь

3
Працював на сервері Ubuntu 16.04.1. Схоже, сервер Ubuntu не включає мережевий менеджер, тому askubuntu.com/a/230751/13756 не працює.
Дерек Махар

36

Ви можете спробувати

ifconfig eth0 down && ifconfig eth0 up

(або як називається ваш мережевий інтерфейс) для перезавантаження мережі.


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

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

після спроби ifup / ifdown та мережевого дзвінка служби reg, це нарешті спрацювало для мене
Джон B

Я думаю , що це краще , ніж зазвичай відповідають , тому що ifupне виконує жодних скріплені інтерфейси правильно, а ifconfigробить
Гілад 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 управління systemctl. Ця команда перезапустить NetworkManager:

sudo systemctl restart NetworkManager.service

Більше інформації можна знайти тут .


1
Спробуйте "systemctl перезапустити networking.service" на сервері 16.04.
cloudsurfin

В кінці не потрібна частина ".service".
Gringo Suave

6

Спробуйте використовувати індикатор (верхнє рядок меню), щоб відключити, а потім увімкнути мережу.


5

У мене те саме питання. Його відома помилка https://bugs.launchpad.net/ubuntu/+source/dbus/+bug/1102507

Використання service network-manager restartробіт наскрізь


Це рішення, яке працює завжди 16.04. На мій досвід Ubuntu 16.04 виникли проблеми з перезапуском Wi-Fi після повернення зі сплячки.
danijelc

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
Це не перезапускає мережеві сервіси, тобто не
намагається

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і чому?
Underverse

@ Sunderverse, я вважаю, що sudo service network-manager restartпросто не працював для мене, коли публікував цю відповідь.
kcpr

2

якщо ubuntu 14.04 настільний або сервер, ви можете перезапустити мережу, виконавши:

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.
wolfgang

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

Судо не потрібно. Дякую rmano!


0

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

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

  2. Використовувати service networking restartкоманду

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.