Como por a arrancar automaticamente o OpenVPN no Ubuntu Xenial (16.04)

Sou um utlizador do OpenVPN desde há muito tempo. Todavia desde a última actualização de software do Trusty o OpenVPN não arrancava automaticamente e assim tive de arranjar uma solução, pois o script de arranque /etc/network/if.up.d/openvpn parece não receber as variáveis ambientais do ficheiro de configuração.

1. Desligar o arranque automático do OpenVPN

Assumindo que o seu ficheiro de configuração se chama server.conf, recorri a:
# sudo nano /etc/default/openvpn
e comentei todas as linhas com AUTOSTART= com # deixando apenas uma com:
AUTOSTART="none"

2. Substitua o seu script de arranque openvpn

Então substituí o script em /etc/network/if.up.d/openvpn por.

#!/bin/sh

MYOPENVPN=server
OPENVPN=/usr/sbin/openvpn
SYSTEMCTL=/bin/systemctl

if [ ! -x $OPENVPN ]; then
exit 0
fi

$SYSTEMCTL start openvpn@$MYOPENVPN.service

exit 0

MYOPNVPN é o nome do ficheiro de configuração, guardado em /etc/openvpn, omitindo a extensão .conf. Substua-o pelo nome do seu
Se apagar e criar um novo não se esqueça de:
# sudo chmod +x /etc/network/if.up.d/openvpn

Antes de continuar o melhor é fazer uma cópia do seu script antigo /etc/network/if.up.d/openvpn script, provavelmente deste modo:
# sudo cp /etc/network/if.up.d/openvpn /etc/network/if.up.d/openvpn.old

3. Re-inicie o sistema, deve funcionar

Tenho outras soluções para o openvpn, como por exemplo não arrancar a menos que remotamente, utilizando o conteúdo da configuração de rede

A instalação do descrito acima corre por sua conta e risco.