Translation: English

Cette page explique brièvement comment configurer un VPN avec OpenVPN, du côté serveur et du côté client.

  1. Installez le paquet openvpn sur le serveur et le client.

  2. Dans le répertoire /etc/openvpn sur le serveur, générez la clef statique à l'aide de la commande suivante:
    • openvpn --genkey --secret static.key
  3. Copiez cette clef dans le dossier /etc/openvpn du/des client(s), en utilisant un protocole de communication sécurisé tel que scp ou sftp.
  4. Du côté du serveur, créez un fichier /etc/openvpn/tun0.conf contenant:
    • dev tun0
    • ifconfig 10.9.8.1 10.9.8.2
    • secret /etc/openvpn/static.key

Où 10.9.8.x est votre sous-réseau VPN, 10.9.8.1 sera l'IP du serveur dans le VPN tandis que 10.9.8.2 sera celle du client dans le VPN.

  1. Du côté client, créez également un fichier /etc/openvpn/tun0.conf contenant cette fois:
    • remote your-server.org
    • dev tun0
    • ifconfig 10.9.8.2 10.9.8.1
    • secret /etc/openvpn/static.key
  2. Assurez-vous que le pare-feu de votre serveur laisse passer le port 1194 UDP (port par défaut).
  3. Sur chaque machine, ajoutez une nouvelle zone VPN pour représenter tun0 et créez une politique par défaut pour celle-ci. Cela se fait en ajoutant ce qui suit dans le fichier /etc/shorewall :
    • zone
    • interfaces
    • policy
  4. Gardez à l'esprit que 90 % des problèmes de connexion rencontrés par les utilisateurs d'OpenVPN viennent en fait de la configuration de leur pare-feu.
  5. Démarrez OpenVPN à la main sur le serveur puis sur le client avec :
    • openvpn --config /etc/openvpn/tun0.conf --verb 6

verb 6 produit une sortie verbeuse, ce qui aide pour diagnostiquer un éventuel problème.

  1. Vous devriez maintenant configurer les routes (sur le serveur et le client) pour faire passer tout ou partie du trafic par le VPN.
  2. Pour vérifier que le VPN fonctionne, vérifiez que vous pouvez pinger 10.9.8.2 depuis le serveur et 10.9.8.1 depuis le client.

Application à un VPN permettant de contourner un proxy HTTP

Cette partie décrit comment configurer un service VPN pour contourner un proxy HTTP ne laissant passer le trafic que sur le port 443 (et éventuellement le 80). Ceci utilise le module http_proxy d'OpenVPN.

  1. Tout d'abord, vérifiez que le port 443 n'est pas déjà utilisé par un autre service sur votre serveur. Vous pouvez pour cela utiliser la commande lsof | grep 22.

  2. Modifiez la configuration serveur en ajoutant port 443 et port tcp-server dans le fichier de configuration.

  3. Modifiez la configuration client en ajoutant port 443, port tcp-client et http-proxy 1.1.1.1 8080 dans le fichier de configuration.

L'IP 1.1.1.1 et le port 8080 correspondent à votre proxy.

  1. Lancez OpenVPN sur le serveur et le client.
  2. Vous pouvez alors configurer les routes :

Du côté client :

Mettez à jour /etc/resolv.conf suivant vos besoin (pour utiliser un DNS accessible via votre VPN par exemple).

Du coté serveur :

TODO

  1. Expliquer comment autoriser la gestion de l'interface (http://openvpn.net/index.php/open-source/documentation/miscellaneous/79-management-interface.html).

  2. NDT: ce HowTo fonctionne pour un client. Présenter les modifications à faire pour permettre plusieurs clients.

  3. NDT: présenter les différents moyens de sécuriser le VPN.
  4. NDT: ajouter la configuration du NAT et des routes si nécessaire coté serveur.