Outils pour utilisateurs

Outils du site


vpn:vpn-conf

Ceci est une ancienne révision du document !


Documentation technique VPN

Cette page détaille la configuration du serveur VPN Iloth.

Configuration actuelle

Architecture

Il n'y a qu'un seul serveur, Brescou, qui sert de point de sortie pour les VPN de tous les utilisateurs. Le trafic est ensuite évacué par OVEA.

Mise en place

Tout est dans /etc/openvpn :

  • /etc/openvpn/server.conf la configuration principale ;
  • /etc/openvpn/ccd/ la configuration pour chaque client ;
  • /etc/openvpn/keys/ les clés cryptographiques ;
  • /etc/openvpn/easyrsa/2.0/ collection de scripts pour gérer les clés et certificats de chiffrement ;
  • /etc/openvpn/easyrsa/2.0/vars configuration de easyrsa.

Dans la suite de cette page, les chemins relatifs sont à partir de /etc/openvpn/.

La configuration principale (server.conf) indique, dans l'ordre :

  • l'IP (WAN) du serveur, 193.239.192.22 ;
  • l'emplacement des différentes clés de chiffrement (dans keys/) ;
  • l'IP (sur notre réseau local) du serveur, 178.20.70.192 ;
  • la route par défaut pour les clients ;
  • l'emplacement du dossier ccd/ pour les configurations spécifiques à chaque client ;
  • la passerelle à utiliser pour les clients ;
  • le DNS à utiliser pour les clients (Brescou lui-même).
local 193.239.192.22
dev tun
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/brescou.crt
key /etc/openvpn/keys/brescou.key
dh /etc/openvpn/keys/dh1024.pem
crl-verify /etc/openvpn/keys/crl.pem

server 178.20.70.192 255.255.255.192

route 178.20.70.192 255.255.255.192

client-config-dir /etc/openvpn/ccd

persist-key
persist-tun
verb 3

push "redirect-gateway def1"
push "dhcp-option DNS 193.239.192.22"

Le fichier de configuration affecté à chaque client n'indique que l'adresse IP dudit client (qui est une adresse publique Iloth), ainsi que l'adresse de Brescou.

ifconfig-push 178.20.70.194 178.20.70.193

Le dossier /etc/openvpn/easyrsa/2.0/ contient divers scripts permettant de gérer les certificats, notamment ./build-key qui permet d'en créer un nouveau. Ces scripts placent leur sortie dans easyrsa/2.0/keys, et /etc/openvpn/keys est en fait un symlink vers ce dossier. Ainsi, les certificats produits par easyrsa sont immédiatement pris en compte par OpenVPN.

Enfin, le fichier easyrsa/2.0/vars est laissé tel quel par défaut, en dehors des valeurs pour le certificat :

export KEY_COUNTRY="FR"
export KEY_PROVINCE="Hérault"
export KEY_CITY="Montpellier"
export KEY_ORG="Iloth"
export KEY_EMAIL="president@nospam.example"

Où vous remplacerez nospam.example par le domaine de notre sympathique FAI. :)

Procédures/manipulations

Procédure d'ajout d'un utilisateur

Créer le certificat, puis le fichier de conficuration dans ccd.

/etc/openvpn $ cd easyrsa/2.0
/etc/openvpn/easyrsa/2.0 $ source vars
/etc/openvpn/easyrsa/2.0 $ ./build-key MONCLIENT
... remplir les champs ...
/etc/openvpn/easyrsa/2.0 $ cd ../..
/etc/openvpn/ $ ./build-conf.sh MONCLIENT
/etc/openvpn/ $ echo "ifconfig-push 178.20.70.IP 178.20.70.193" > ccd/MONCLIENT

Où “IP” sera bien sûr remplacé par le numéro approprié pour former l'IP à attribuer à ce client.

Le serveur est maintenant prêt à router le client. Il ne manque plus qu'à envoyer la conf (/etc/openvpn/confs/MONCLIENT ) à l'utilisateur, afin qu'il l'entre dans son client OpenVPN.

Procédure de révocation d'un certificat

/etc/openvpn $ cd easyrsa/2.0
/etc/openvpn/easyrsa/2.0 $ source vars
/etc/openvpn/easyrsa/2.0 $ ./revoke-full monclient

Procédure de modification du Reverse DNS

Pour attribuer un reverse DNS à un adhérent, il suffit d'aller modifier la zone correspondante dans le Bind de Brescou. L'adhérent doit en faire la demande au CA (ou a quelqu'un avec un accès root sur Brescou).

Documentation officielle

La documentation officielle

Documentation OpenVPN en cas de pépin. :)

vpn/vpn-conf.1381681390.txt.gz · Dernière modification: 2013/10/13 18:23 par 127.0.0.1