Un petit mémo pour mettre en place une connexion Openvpn, avec reconnexion auto.
On commence par stocker ses identifiants de connexion ici:
vi /etc/openvpn/starmate.pass
login
passwd
On sécurise le fichier:
chmod 700 /etc/openvpn/starmate.pass
On télécharge les fichiers de configuration de HMA:
mkdir /etc/openvpn/hma
wget -t 3 -T 20 -r -A.ovpn -nd --no-parent -e robots=off https://vpn.hidemyass.com/vpn-config/UDP/ -P /etc/openvpn/hma
On declare où se trouve le couple login/passwd dans les fichiers de configuration openvpn :
sed -i 's/auth-user-pass/auth-user-pass \/etc\/openvpn\/starmate.pass/g' /etc/openvpn/hma/*ovpn
On relance le service
service openvpn stop
service openvpn start
On peut tester la connexion avec cette commande
openvpn /etc/openvpn/hma/Netherlands.Amsterdam.UDP.ovpn
Pour automatiser cela, nous allons faire un petit script pour cron:
vi /etc/openvpn/vpn.sh
#!/bin/bash
VPN=`ifconfig | grep tun0 > /dev/null 2>&1 ; echo $?`
if [ "$VPN" -eq "1" ];
then
openvpn /etc/openvpn/hma/Netherlands.Amsterdam_LOC2S5.UDP.ovpn
fi
chmod +x /etc/openvpn/vpn.sh
Et la ligne crontab pour une exécution toutes les minutes:
vi /etc/crontab
* * * * * root /etc/openvpn/vpn.sh > /dev/null 2>&1
Ou alors, encore mieux, créer un service:
On commence par copier le fichier de connexion désiré dans /etc/openvpn :
cd /etc/openvpn/hma
cp -p /etc/openvpn/hma/Netherlands.Amsterdam.UDP.ovpn /etc/openvpn/Netherlands.conf
Puis on créer le service.
systemctl enable openvpn@Netherlands.service
systemctl start openvpn@Netherlands.service
La partie suivant directement le @, « Netherlands« , est le nom du fichier de connexion que l’on à copié précédemment.
On peut vérifier son adresse publique:
dig +short myip.opendns.com @resolver1.opendns.com