Переход с ifupdown2 на systemd-networkd
klink0v — 21.05.2024После своих экспериментов, описанных в предыдущих двух постах, я решил попробовать на одной своей личной VDSке перейти от ifupdown2 на systemd-networkd. И таки знаете шо? Мне понравилось.
Конфиг получился лаконичный, весьма логичный, читаемый и понятный. Некоторые фичи настраиваются даже быстрее и очевиднее, чем в ifupdown / ifupdown2. Но есть у systemd-networkd как минимум три достаточно весомых недостатка.
- Отсутствуют какие-либо userspace-утилиты для изменения настроек
сети "на лету". То есть никаких тебе ifup / ifdown / ifreload /
nmcli connection блаблабла. Один раз сконфигурировал — потом уже не
трогай. Если же прям хочется что-то поменять, то вносишь изменения
в конфиги и перезапускаешь демон целиком со всеми вытекающими.
Такое себе, да. Поэтому для маршрутизаторов и "живых" систем
малопригодно. Но если "один раз настроил и забыл", то вполне
сойдёт.
- Один ethernet-интерфейс = один конфигурационный файл. Один
виртуальный интерфейс = два конфигурационных файла. Допустим, у
меня есть один Ethernet и два XFRM. Следовательно, мне нужно
создать пять файлов с описанием настроек всего этого добра. Если
интерфейсов много, можно потом заманаться искать что где и откуда
берется, особенно если сразу не начать именовать файлы по
какому-нибудь логичному правилу.
- До сих пор нет никакой встроенной поддержки OpenVSwitch. Даже в
NetworkManager худо-бедно, через одно место, но всё-таки как-то
что-то можно сварганить. А тут вообще никак. Разве что
приплетать какие-то надстройки а-ля netplan, но по мне так
тогда уж проще сразу откатываться на ifupdown2. Поэтому для
гипервизоров оно не особо катит.
Если же вышеперечисленное в каком-либо конкретном случае некритично, то приятным бонусом идет "родная" интеграция с systemd и resolved, а также корректный порядок запуска всевозможных сетевых демонов.
Для примера, вот мой "старый" реальный конфиг реального сервера для ifupdown2. Не смотрите на сомнительный способ настройки IPv6: это OVH. "Там так заведено".
А вот это он же, но переписанный для systemd-networkd. Как я уже выше упоминал, его пришлось разбить на пять разных файлов.
Ну как вам? З****сь или х***о?
|
</> |