Connexion automatique au VPN de SupAgro


Installer les paquets

Commencer par installer les paquets suivants :
  • openvpn
    sudo apt install openvpn
    
  • resolvconf
    sudo apt install resolvconf
    

(pour windows voir plus bas)

Copier les fichiers de config

Créer un fichier /etc/openvpn/client/supagro/openvpn-udp-1192-ovpn_tela.ovpn et y placer le contenu suivant :
dev tun
persist-tun
persist-key
cipher AES-128-CBC
auth SHA1
tls-client
client
resolv-retry infinite
remote 147.99.75.254 1192 udp
lport 0
auth-user-pass
pkcs12 /etc/openvpn/client/supagro/openvpn-udp-1192-ovpn_tela.p12
tls-auth /etc/openvpn/client/supagro/openvpn-udp-1192-ovpn_tela-tls.key 1
ns-cert-type server
script-security 2

Ensuite copier les fichiers suivants (demander Ă  quelqu'un qui les a) dans /etc/openvpn/client/supagro/ :
  • openvpn-udp-1192-ovpn_tela.p12
  • openvpn-udp-1192-ovpn_tela-tls.key

Automatiser le login et le mot de passe

Modifier le fichier /etc/openvpn/client/supagro/openvpn-udp-1192-ovpn_tela.ovpn en changeant la ligne
auth-user-pass
par
auth-user-pass /etc/openvpn/client/supagro/openvpn-udp-1192-ovpn_tela.auth

Ensuite, créer un fichier /etc/openvpn/auth-supagro.txt et y placer seulement deux lignes :
votre-login-perso
le-mot-de-passe-que-vous-devez-connaître


Se connecter au VPN

Avant d'automatiser la connexion, testons une fois une connexion manuelle avec la commande suivante, en root (ou avec sudo) :
openvpn --config /etc/openvpn/client/supagro/openvpn-udp-1192-ovpn_tela.ovpn

Le script doit cracher une quinzaine de lignes et finir par
(...) Initialization Sequence Completed

Il ne rend pas la main, c'est normal.

Dans un autre terminal, essayer un
ssh jean-eudes@10.99.34.2

Si SSH répond et demande le mot de passe, c'est bon.
Si ça pédale à l'infini, c'est pas bon.
(quand on en a ras le bol, tuer le script avec Ctrl+C)

Connexion automatique au démarrage

Éditer le fichier /etc/rc.local et ajouter les lignes suivantes, avant le exit 0 :
# Connexion OpenVPN SupAgro au démarrage
openvpn --config /etc/openvpn/client/supagro/openvpn-udp-1192-ovpn_tela.ovpn --daemon


Suite à un problème de perte subite et inopinée du VPN sur la machine du MOOC, il est également possible d'automatiser le reconnexion grâce à un cron du genre :
* * * * * /usr/local/bin/vpn-autoreconnect


Et le contenu du script :
if [[ 1 -ne $(ps aux | grep -v grep | grep openvpn | wc -l) ]]; then
    openvpn --config /etc/openvpn/client/supagro/openvpn-udp-1192-ovpn_tela.ovpn --daemon
fi


Windows

Sous Windows, il faut installer OpenVPN GUI : télécharger l'installeur sur cette page (choisir la version .exe "Installer, Windows Vista and later") puis cliquer, suivre les instructions, répondre "oui" partout comme un bienheureux.
Et voilĂ  !
Note : pas de connexion automatique possible, il faut cliquer sur OpenVPN -> connecter lorsqu'on en a besoin.

Maintenant, il faut copier la configuration.
CrĂ©er un sous-dossier nommĂ© telabotanica dans C:/Program Files/ OpenVPN/config, et y ajouter le fichier de configuration .ovpn adaptĂ© (voir ci-dessous) et ses copains .p12 et .key (demander Ă  quelqu'un qui les a).

Fichier de configuration .ovpn adapté pour Windows
dev tun
persist-tun
persist-key
cipher AES-128-CBC
auth SHA1
tls-client
client
resolv-retry infinite
remote 147.99.75.254 1192 udp
lport 0
pkcs12 "C:\\Program Files\\OpenVPN\\config\\telabotanica\\openvpn-udp-1192-ovpn_tela.p12"
tls-auth "C:\\Program Files\\OpenVPN\\config\\telabotanica\\openvpn-udp-1192-ovpn_tela-tls.key" 1
ns-cert-type server
script-security 2

En lançant  OpenVPN GUI il devrait trouver le fichier de conf et en double cliquant sur son icone dans la barre d'Ă©tat lancer la connexion.

Pour avoir une connexion sans prompt pour le user/password il faut créer un fichier auth-supagro.txt contenant le login et le mot de passe chacun sur une ligne, comme ceci :
user
password

et ajouter une ligne dans le fichier de conf, du genre
auth-user-pass "C:\\Program Files\\OpenVPN\\config\\telabotanica\\auth-supagro.txt"