Vous êtes ici : Accueil Debian GNU/Linux Serveurs Autres Installer et configurer OpenVPN sur Debian

Installer et configurer OpenVPN sur Debian

Par Pierre-Yves Landuré Dernière modification 26/12/2011 11:41

OpenVPN permet de créer des réseaux privés virtuels chiffrés avec OpenSSL. C'est une alternative crédible aux technologies telles que PPtP (Microsoft) ou IPSec. Disponible sur de nombreux systèmes d'exploitation (Microsoft Windows, GNU / Linux, MacOS X, ...), c'est une solution simple pour gérer un réseau privé virtuel composé de machines hétéroclites dans un environnement n'autorisant pas IPSec.

Ce guide est testé sur:

  • Debian 6.0 Squeeze

Installation

Installez les logiciels:

command apt-get install openvpn openssl module-init-tools zip dos2unix

Initialisez le module tun:

command modprobe tun

Intégrez le module au démarrage du système:

if [ -z "$(command grep '^tun$' '/etc/modules')" ]; then
command echo '# Needed by OpenVPN
tun' >> '/etc/modules'
fi

Si nécessaire de créez le device associé:

if [ ! -e '/dev/net/tun' ]; then
command mkdir --parent '/dev/net'
command mknod '/dev/net/tun' c 10 200
fi

Mettez en place l'outil openvpn-tools:

command wget 'http://howto.biapy.com/fr/debian-gnu-linux/serveurs/autres/installer-et-configurer-openvpn-sur-debian/openvpn-tools/at_download/file' \
--quiet --output-document='/usr/bin/openvpn-tools'
command chmod +x '/usr/bin/openvpn-tools'

Si nécessaire, mettez en place le script 'update-resolv-conf':

if [ ! -e '/etc/openvpn/update-resolv-conf' ]; then
command wget 'http://howto.biapy.com/fr/debian-gnu-linux/serveurs/autres/installer-et-configurer-openvpn-sur-debian/update-resolv-conf/at_download/file' \
--quiet --output-document='/etc/openvpn/update-resolv-conf'
command chmod +x '/etc/openvpn/update-resolv-conf'
fi

Initialisez l'environnement de création des certificats SSL:

command openvpn-tools initialize

Configurez la rotation des journaux:

echo "/var/log/openvpn/*/*.log {
daily
missingok
rotate 10
compress
delaycompress
notifempty
create 600 root root
postrotate
/etc/init.d/openvpn restart > /dev/null
endscript
}" > "/etc/logrotate.d/openvpn"

Administration

Création d'un réseau VPN

Créez un serveur VPN:

command openvpn-tools create-server local-domain.vpn vpn.domain.com

où:

  • local-domain.vpn est le nom du réseau VPN local du nouveau serveur
  • vpn.domain.com est le nom d'hôte Internet du serveur VPN.

Le serveur est créé sur le port UDP 1194 par défaut. Si ce port n'est pas disponible, un autre port est choisi aléatoirement.

Suppression d'un réseau VPN

Supprimez un serveur VPN:

command openvpn-tools remove-server local-domain.vpn

Ajout d'un client

Ajoutez un client au réseau VPN:

command openvpn-tools add-client local-domain.vpn client-alias

Les clients sont créés avec une adresse IP fixe. L'outil génère des archives contenant les configurations clientes pour Unix (Ubuntu, MacOS, etc...) et Microsoft Windows. Pour configurer le client, il faut simplement copier l'archive sur le système client, et la décompresser à l'emplacement adéquat.

Générez l'extrait du fichier /etc/hosts pour le VPN (à installer sur le client si nécessaire):

command openvpn-tools build-hosts local-domain.vpn

Suppression d'un client

Supprimez l'accès au réseau VPN d'un client:

command openvpn-tools remove-client local-domain.vpn client-alias

Autres options

Communication entre clients

(Dés)activez la communication directe entre les clients du réseau VPN:

command openvpn-tools toggle-c2c local-domain.vpn

Accès au réseau local du serveur

(Dés)activez l'accès au réseau local du serveur par les clients du réseau VPN:

command openvpn-tools toggle-nat local-domain.vpn

Accès à Internet par le réseau VPN

(Dés)activez le passage forcé de l'accès à Internet des clients par le réseau VPN:

command openvpn-tools toggle-gateway local-domain.vpn

Mise en place d'un serveur DNS pour le réseau VPN

Cette procédure est expérimentale. Elle peut poser des problèmes sur les clients Unix.

Mettez en place la résolution DNS des noms des clients du réseau VPN grâce à un serveur DNS Bind:

command openvpn-tools enable-bind local-domain.vpn

Désactivez la résolution DNS pour le réseau VPN:

command openvpn-tools disable-bind local-domain.vpn

Si vous rencontrez des problèmes de résolution des domaines Internet sur les clients du VPN, suivez la section "Redirections" du guide Configurer un serveur DNS Bind sur Debian.

Mise en place des clients

Windows

Le client Windows est disponible dans les téléchargements du site officiel d'OpenVPN.

Pour installer OpenVPN sur Windows pour un utilisateur ne disposant pas des droits d'administration, lisez l'article de Michauko : OpenVPN, OpenVPN GUI, droits admin, et "add route"....

Mac OS X

OpenVPN nécessite l'installation de Tun Tap - Virtual network interfaces for Mac OS X pour fonctionner.

Si la ligne de commande vous pose problème, essayez TunnelBlick, une interface graphique pour OpenVPN.

Références

Ces livres peuvent vous aider:

Remerciements

  • Merci aux développeurs d'OpenVPN
  • Merci à Charles Duffy pour la création du script client.up.
  • Merci à Felix Knecht pour son aide.

Pièces jointes