Em seu serviço systemd você pode configurar para iniciar a VPN após a conexão estar ok. A solução é alterar a diretiva After
no arquivo da unidade. Por exemplo, sshd
service está neste arquivo /etc/systemd/system/multi-user.target.wants/sshd.service
e a opção After
força o serviço a iniciar após a rede:
[Unit]
Description=OpenSSH Daemon
Wants=sshdgenkeys.service
After=network.target
[Service]
ExecStart=/usr/bin/sshd -D
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=always
[Install]
WantedBy=multi-user.target
Você precisa alterar After
para o serviço de VPN, como vpn.service