Outils pour utilisateurs

Outils du site


vpn:vpn-conf

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, 89.234.152.133 ;
  • l'emplacement des différentes clés de chiffrement (dans keys/) ;
  • l'IP (sur notre réseau local) du serveur, 89.234.152.32 ;
  • 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 89.234.152.133

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 89.234.152.32 255.255.255.224

route 89.234.152.32 255.255.255.224
route 89.234.152.64 255.255.255.224

client-config-dir /etc/openvpn/ccd
ccd-exclusive

#options
persist-key
persist-tun
verb 3
comp-lzo no

keepalive 10 30

status /var/log/openvpn/openvpn-iloth-status.log
log-append /var/log/openvpn/openvpn-iloth.log

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

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 89.234.152.X 89.234.152.64

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 89.234.152.IP 89.234.152.64" > 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.txt · Dernière modification: 2018/05/31 19:50 par mattsup