Ваше здоровье. Я настраиваю что-то вроде VPN-шлюза/конечной точки — непривилегированного контейнера LXC (работающего под Proxmox VE 7) на основе Ubuntu 20.04, с установленными nordvpn и dante-server. Последний настроен с интерфейсом «nordlynx» в качестве единственного внешнего интерфейса. Интерфейс создается только после фактического подключения nordvpn к серверу. Из-за этого сервер dante должен быть запущен после интерфейс создается, иначе просто вылетает с ошибкой.
По-старому я бы достиг этого, добавив пост-ап /etc/init.d/dated start
к разделу интерфейса nordlynx в /etc/сеть/интерфейсы
. Теперь этого нет, и я хотел бы сделать это правильно в systemd.
Насколько я понимаю, это должно быть тривиально при установке на голое железо / виртуальную машину, где systemd имеет .netdev
и .устройство
доступных единиц, и я мог бы достичь цели, просто установив After=<модуль интерфейса>.device
в подразделении danted.service. Но контейнеры не имеют единиц устройства. В документах для устройства даже говорится (выделено мной):
Обратите внимание, что если systemd-udevd.service не запущен, устройства не будут доступны (например, в типичный контейнер).
Так как должен Я реализую post-up действия в этих условиях? В настоящее время systemd-udevd не работает в контейнере, потому что /sys недоступен для записи.