# This service is actually a systemd target,
# but we are using a service since targets cannot be reloaded.
[Unit]
Description=OpenVPN service
After=network.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/true
ExecReload=/bin/true
WorkingDirectory=/etc/openvpn
[Install]
WantedBy=multi-user.target
[Unit]
Description=OpenVPN connection to %i
PartOf=openvpn.service
ReloadPropagatedFrom=openvpn.service
Before=systemd-user-sessions.service
Documentation=man:openvpn(8)
Documentation=https://community.openvpn.net/openvpn/wiki/Openvpn23ManPage
Documentation=https://community.openvpn.net/openvpn/wiki/HOWTO
[Service]
PrivateTmp=true
KillMode=mixed
Type=forking
ExecStart=/usr/sbin/openvpn --daemon ovpn-%i --status /run/openvpn/%i.status 10 --cd /etc/openvpn --script-security 2 --config /etc/openvpn/%i.conf --writepid /run/openvpn/%i.pid
PIDFile=/run/openvpn/%i.pid
ExecReload=/bin/kill -HUP $MAINPID
WorkingDirectory=/etc/openvpn
ProtectSystem=yes
CapabilityBoundingSet=CAP_IPC_LOCK CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_RAW CAP_SETGID CAP_SETUID CAP_SYS_CHROOT CAP_DAC_READ_SEARCH CAP_AUDIT_WRITE
LimitNPROC=10
DeviceAllow=/dev/null rw
DeviceAllow=/dev/net/tun rw
[Install]
WantedBy=multi-user.target
1) Отключаем дебиановскую службу инициализации сети "networking.service":
# systemctl disable networking.service
2) Конфигурируем "systemd-networkd.service". У меня архитектура сети довольно сложная, потому примеры приводить не буду. Но все сводиться к созданию файлов настроек в /etc/systemd/network. man в помощь.
ВНИМАНИЕ!!!
Возможно этот шаг можно пропустить. Я не проверял, но похоже systemd-networkd умеет "цеплять" настройки сети из /etc/network/interfaces
3) Включаем службу "systemd-networkd.service":
# systemctl enable systemd-networkd.service
4) И ребут для чистоты эксперимента...
Все. Теперь зависимости типа "After=network.target" будут корректно отрабатывать.
P.S.
Есть еще один костыльный способ реализации логики network-online на традиционных дебиановских скриптах инициализации. Обсуждается здесь: unix.stackexchange.com/questions/209832/debian-sys...