Client OpenVPN
dim. 01 sept. 2013 by MarmotteInstallation¶
Sous Debian, il suffit d'installer les paquets openssl
et openvpn
.
$ sudo apt-get install --no-install-recommends openvpn
Configuration générale¶
Les clés et certificats provenant du serveur seront copiés dans le répertoire /etc/openvpn/<NetworkName>/
.
$ sudo mkdir /etc/openvpn/<NetworkName>
$ sudo cp /<PathToCerts>/ca.crt /etc/openvpn/<NetworkName>/
$ sudo cp /<PathToCerts>/<ClientCertName>.crt /etc/openvpn/<NetworkName>/
$ sudo cp /<PathToCerts>/<ClientCertName>.key /etc/openvpn/<NetworkName>/
$ sudo cp /<PathToCerts>/ta.key /etc/openvpn/<NetworkName>/
Comme pour le serveur, la configuration par défaut proposée est très complète. Là encore, le plus simple est de prendre le fichier proposé par OpenVPN, et adapter les éléments qui ne conviennent pas par défaut.
$ sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/<NetworkName>.conf
Dans la configuration, il faudra au moins modifier ces éléments :
- Modifier la ligne
remote
pour mettre l'adresse IP ou le nom du serveur, et modifier le port si le serveur n'utilise pas le port standard -
Vérifier le chemin des certificats et clés aux lignes
ca
,cert
,key
ca <NetworkName>/ca.crt cert <NetworkName>/<ClientCertName>.crt key <NetworkName>/<ClientCertName>.key
-
Décommenter la ligne
tls-auth
et modifier le chemin de la clétls-auth <NetworkName>/ta.key 1
-
Décommenter les lignes
user
etgroup
Tester la configuration :
$ sudo openvpn /etc/openvpn/<NetworkName>.conf
Si la connexion s'établit sans erreur, vous pouvez alors stopper le VPN, et le lancer comme service.
$ sudo service openvpn start <NetworkName>
Configurations supplémentaires¶
Désactiver la connexion automatique¶
Pour désactiver la connexion automatique à un serveur VPN, il faut modifier la valeur de la variable AUTOSTART
dans le fichier /etc/default/openvpn
.
AUTOSTART="none"
Éviter les conflits d'informations DNS¶
Si le serveur VPN donne des informations de DNS, il faut utilise le script update-resolv-conf
fourni par OpenVPN.
Ce script adapte les configurations pour éviter les conflits avec des informations DNS provenant d'un autre service, comme un serveur DHCP, par exemple.
Il utilise l'utilitaire resolvconf
, disponible dans le paquet du même nom.
$ sudo apt-get install --no-install-recommends resolvconf
Il faut ensuite appeler le script update-resolv-conf
fourni par le paquet OpenVPN, dans le fichier de configuration du client.
# Security for user scripts
script-security 2
# Manage DNS servers
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
Attention : L'utilisation de ce script est incompatible avec la restriction de droits pour le lancement d'OpenVPN. Il faut donc commenter les directives
user
etgroup
si elles sont utilisées.