Редагування мережевих інтерфейсів без перезавантаження системи


23

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

  1. Відредагуйте файл
  2. service networking restart

Але у мене таке враження, що це не «правильний» спосіб внесення таких змін.


перезапуск сервісної мережі майже = /etc/init.d/networking restart.
шантану

Відповіді:


11

Вимкніть мережевий інтерфейс за допомогою

sudo ifdown eth0

(замініть eth0інтерфейс, який ви хочете змінити) та відновіть його знову, використовуючи

sudo ifup eth0

4
Це не спрацювало для мене. Це просто дало мені помилку "eth0 не налаштовано". Мені довелося перезавантажити систему, щоб зміни набули чинності 12.04.
JohnMerlino

4

У Ubuntu Server 16.04 вам потрібно скористатися командою ip, щоб очистити адресу перед перезапуском мережі, інакше будь-які зміни адреси файлу інтерфейсів не наберуть чинності:

$ sudo ip addr flush interface-name
$ sudo systemctl restart networking

Я отримав цю відповідь з цієї корисної статті


Ідеально, це має бути відповідь на питання.
Дрю

2

Зупиніть використання всіх інтерфейсів

sudo /etc/init.d/networking stop

Тоді конфігуруйте (редагуйте) свої інтерфейси за своїм бажанням

Почніть їх заново

sudo /etc/init.d/networking start

Не потрібно перезавантажувати.


3
Це не спрацювало ні в Ubuntu 12.04. Працювала лише система перезавантаження.
JohnMerlino

0

Чому ви не вважаєте, що це правильний шлях. Подумайте, що ubuntu може зробити додатково під час завантаження? У Ubuntu є список служб, які потрібно запустити під час завантаження, кожна служба має список послідовних команд, щоб запустити себе. Ubuntu просто запустить мережеву службу через /etc/init.d/networking script, який містить деяку команду, для якої потрібно запустити мережеву службу. Отже, якщо будь-які зміни потрібно застосувати до вашої мережі, вам доведеться перезапустити службу, і спосіб відкликати послідовні команди служби.


Оскільки перезавантаження гарантовано очистить усі налаштовані мною інтерфейси, і я переживаю, що якщо я видалю інтерфейс із файлу інтерфейсів, то перезапуск мережного сценарію не позбудеться цього.
Лорін Хохштайн

ти впевнений? будь-яка зміна мережі працює для мене за допомогою перезапуску sudo /etc/init.d/networking.
шантану

Наприклад, якщо я створюю тег vlan (наприклад, eth0.123), він, здається, не знищується автоматично, коли я перезавантажую мережу
Lorin Hochstein

sudo eth0 вниз --- sudo eth0 up
shantanu

/etc/init.d/networking перечитати весь файл конфігурації мережі та оновити всі налаштування, чому він повинен знищувати створений інтерфейс? якщо ви змінюєте ip або dns або подібну інформацію, тоді / etc / ... достатньо, якщо ви створюєте віртуальний лан, тоді вам доведеться перезапустити інтерфейс Ethernet (sudo eth0 вниз, потім sudo eth0 вгору).
шантану

0

/etc/network/interfaces керує інструментами ifupdown.

Таким чином , після внесення змін, ви можете просто сказати , наприклад sudo ifup eth0.


0

Насправді жоден з цих не працює. Тестовано на Ubuntu 16.10. це не мало ефекту.

  • ifdown ens3 і ifup ens3
  • зупинка та запуск сервісної мережі
  • перезавантаження сервісної мережі
  • systemctl припиніть networking.service і запустіть знову.

Через все це старий dhcp ip повернувся, а не статичний. мені цікаво, чи це навмисно?

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