Installation et configuration d'OpenVPN2 sur un système GNU/Linux
[25 mn de lecture - paru le 5/14/2005 4:15:05 PM - Public : Expert]
|
   
|
Auteur
2 OpenVPN
2.1 Installation
L'installation d'OpenVPN ne pose pas de
problème si vous n'avez pas sauté d'étape.
Nous verrons si
OpenVPN fonctionne correctement avec les test mis à disposition.
Pour les options tapez ./configure --help.
$ wget http://openvpn.net/release/openvpn-2.0.tar.gz
$ tar xvzf
openvpn* && cd openvpn-2.0
# ./configure
–enable-pthread && make && make
install
2.2 Tests
Vous pouvez testez dès à present si votre serveur est
fonctionnel ou non pour cela nous allons lance une simulation sur le loopback
en stimulant une communication client serveur.
Pour cela toujours dans le répetoire précédents openvpn-2.0
# ./openvpn
–genkey –secret key
# ./openvpn
–test-crypto –secret-key
Dans ce shell lancez la commande suivante :
# ./openvpn
–config sample-config-files/loopback-server
Et dans un autre shell entrez la commande suivante :
# ./openvpn
-- config sample-config-files/loopbasck-client
Vous pouvez attendre quelques minutes le temps d’appréciez
le test, cependant un ctrl-C évite de nous faire attendre 3 min ;-)
Si le test c’est bien déroulé vous pouvez
continuer. Sinon
vérifier que tout les étapes ont été configurée correctement (vérifiez
si tun est chargé en tapant : lsmod | grep tun)
2.3 Configuration du Serveur :
Comme
signalé précédemment la génération des clés et certificats est facilitée par
les scripts depuis la version 2 d'OpenVPN.
Vous devez générez :
- Une clé et un certificat pour les
échanges de clés sur un canal non sécurisé (algorithme et méthode
diffie-hellman)
- Une clé et un certificat pour l’autorité de certification.
- Une clé un certificat pour le serveur
- Une clé et un certificat pour l’accès au démon.
- Des clés et certificats pour les clients
2.4 Générations des clés :
Préparation des variables :
Vous pouvez définir les informations par défaut pour la
génération des clés.
# mkdir /etc/openvpn
# cp easy-rsa /etc/openvpn
# cd
/usr/share/openvpn/easy-rsa
# cat > vars << “EOF”
export D=`pwd`
export KEY_CONFIG=$D/openssl.cnf
export KEY_DIR=$D/keys
echo NOTE : Quand tu lanceras ./clean-all, je ferais un rm –rf sur $KEY_DIR
#Définissez ici le nombre de bit pour votre cryptage
export KEY_SIZE=1024
#2 lettres uniquement
export KEY_COUNTRY=FR
export KEY_PROVINCE=NA
export KEY_CITY=PARIS
export KEY_ORG="TEST VPN"
export KEY_EMAIL=Edouad.garandeau@supinfo.com
EOF
Tapez :
# source vars
# mkdir keys
# touch keys/index.txt
# echo 01 > keys/serial
Génération de la clé Diffie-Hellman (dh1024.pem) :
# ./build-dh
Generation de la clé et du certificat pour l’autorité de certification :
# ./build-ca
Générations de la clé et du certificat du serveur :
# ./build-key-server nom_du_serveur
Le common name (CN) est unique pour chaque client et doit
différer de celui du serveur bien entendu.
Ce certificat est valide pendant 3650 jours par défaut.
Génération de la clé d’accès au démon :
# ../openvpn --genkey --secret keys/ta.key
# mv keys ..
2.5 Configuration du serveur OpenVPN :
On distingue deux fichiers de configuration :
Un pour les serveur, l’autre pour le client.
Je vais énumérer pour vous les options importantes des fichiers de configuration d’OpenVPN cependant, OpenVPN dispose de nombreuses options…
# cat > /etc/openvpn/serveur.conf << ‘EOF’
# Sur quel IP le serveur doit-il écouter ?
local aaa.bbb.ccc.ddd
# Numéro de port ‘officiel’. Changez le par sécurité
port 1194
# type de protocole de la couche transport tcp ou udp
proto udp
# Périphérique utilisé
dev tun
# certificat d’autorité
ca keys/ca.crt
# Certificat et clé du serveur
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
# la clé diffie-hellman
dh /etc/openvpn/keys/dh1024.pem
# Adresse IP du serveur et masque de sous réseau
ifconfig 192.168.100.1 255.255.255.0
# Plage d'adresse IP autorisée pour le VPN :
ifconfig-pool 192.168.100.50 192.168.100.200 255.255.255.0
# Indiquez la route à suivre à votre VPN :
# En lui indiquant ceci, vous définissez les chemins accessibles.
# Spécifie au client le nom de domaine le dns et la route du server
push "dhcp-option DOMAIN mondomaine.org"
push "dhcp-option DNS 192.168.19.1"
# Interface serveur réseau local netmask interface privé
push "route 192.169.19.1 255.255.255.0 192.168.100.1"
keepalive 10 120
# choisisser l’algorithme de chiffrement (Blowfish AES Triples-AES )
cipher BF-CBC
;cipher AES-128-CBC
;cipher DES-EDE3-CBC
# Activation de la compression (requiert l’activation coté client)
comp-lzo
# Définir un nombre maximum de clients
max-clients 10
# Il est recommandé d’utiliser les
privileges du démon après l’initialisation.
user nobody
group nobody
# Mode verbose :
# 0 pour silencieux sauf pour les erreurs fatals.
# 4 utile pour un usage courrant
# 5 et 5 peuvent aider au débug des problemes
# 9 très bavard. très utile pour résoudres des problèmes réseaux
verb 3
EOF
Configurons maintenant le script de route :
# cd /etc/openvpn
# cat > openvpn.up<< ‘EOF’
route del -net 192.168.100.0 netmask 255.255.255.0 gw
192.168.19.1
route del -net 192.169.100.0 netmask 255.255.255.0 dev tap0
route add -net 192.168.100.0 netmask 255.255.255.0 gw
192.168.19.1
EOF
# chmod +x openvpn.up
Démarrage du serveur openvpn :
/usrlocal/bin/openvpn --mktun --dev tun
/usr/local/bin/openvpn --config /etc/openvpn/serveur.conf
Vous avez terminé la configuration du serveur OpenVPN cependant, l'installation n'est pas tout à fait terminée.
Voud devez configurer vos client bien entendu !
|