systemd-networkd - як змусити нову конфігурацію без перезавантаження?


12

На моєму арці я мав мережевий міст. Мета полягала в тому, щоб зняти міст і використовувати тільки мережевий адаптер, який не пов'язаний з мостом. Для цього я видалив усі файли конфігурації * .netdev та * .network під /etc/systemd/networkта замінив їх одним простим файлом:

/etc/systemd/network/lan.network
--------------------------------
[Match]
eno*

[Network]
DHCP=ipv4

Потім я перезапустив мережевий сервіс, використовуючи systemctl restart systemd-networkd, припускаючи, що це залишить мені просто інтерфейс loта eno*інтерфейс. На жаль, це не мало ефекту. Швидкий погляд на ip linkвсе ще показав, що інтерфейс мосту працює та працює.

Оскільки час роботи в даному випадку не є вирішальним, я просто перезавантажив машину, яка вирішила проблему. І все ж, я хотів би подумати, що перезавантаження не повинно бути необхідним для подібних речей. Що я пропустив?


v244 має networkctl reloadі reconfigure @ github.com / systemd
frostschutz

Відповіді:


9

Якщо ваш основний інтерфейс мосту все ще працює, його пов'язані підлеглі інтерфейси залишаться зв'язаними, навіть якщо для них тим часом будуть виявлені нові конфігурації. Тому просто втрачайте міст.

ip link set down br0
ip link del dev br0
systemctl restart systemd-networkd

1
Чи не втратив би я доступ до мережі в процесі?
вік

@vic - якщо ваш доступ до мережі проходить через міст, до якого ви прив’язали свою нік, то так, я очікую цього. Я не можу придумати простий спосіб зробити інакше, і складні способи, про які я можу придумати, є лише напівзапеченими і включають тимчасові затримки віртуальних мікросхем і копіювання в ядрі netfilter усіх пакетів на розробці. потворний і нерозумний. або це, або подорож у часі. можливо, є інший спосіб, але ти не хочеш дізнатися це про мене. у будь-якому випадку мережа втрачається лише після першої команди, а потім відновлюється після третьої. ймовірно, менше dt, ніж перезавантаження.

1
@vic Я знаю, що я запізнююся на вечірку, але одним із способів може бути з’єднання команд разом у одному рядку, наприклад ip link set down br0 && ip link del dev br0 && systemctl restart systemd-networkd. Зв'язок може припадати хоча б на мить, але мережева служба хостингу повинна бути знову в мережі, і ви завжди зможете створити новий сеанс SSH до тих пір, поки ви знатимете IP-адресу, яку ви отримаєте після її перезавантаження.
code_dredd

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