Faiçal Le Presque Direct

Création d’un serveur OpenVPN

par le 05.mai, 2010, dans la catégorie Linux, Mes Cours, Réseaux, Sécurité, Tutoriels Informatique

Sous Linux (Ubuntu)

L’authentification des clients/serveur se fera par clés SSL.

Étape obligatoire… l’installation des packages :

sudo apt-get install openssl openvpn

Générations des clés SSL

Nous commençons par générer la « Clé d’Autorité de Certification Maître » :

cp /usr/share/doc/openvpn/examples/easy-rsa ~/openvpn/ -R
cd ~/openvpn/2.0/

Il faut maintenant renseigner quelques variables dans le fichier vars. Mon éditeur préféré étant emacs…

sudo emacs vars

Puis remplir les champs « export » à votre convenance, dans mon cas :

export KEY_SIZE=1024
export KEY_COUNTRY="FR"
export KEY_PROVINCE="Haut-de-Seine"
export KEY_CITY="Boulogne"
export KEY_ORG="xxxxxx"
export KEY_EMAIL="xxxx...@gmail.com"

On lance le scripts de configuration :

source ./vars

On nettoie les clés déjà créees :

./clean-all

Et nous finissons par générer les clés (ca.crt et ca.key) qui seront stockées automatiquement dans un dossier « keys » :

./build-ca

Nous devons maintenant générer la clés d’authentification du serveur :

./build-key-server nom-au-choix

(Veillez a ne pas mettre d’espace) Puis les clés des clients :

./build-key client1

Nous devrons fournir à chaque client le ca.crt (commun à tous) ainsi qu’une .crt et un .key uniques (ici, client1.crt, client1.key).

Configuration d’OpenVPN

Nous devons générer les paramètres Diffie-Hellman (cryptage) qui seront utilisés par le serveur VPN :
<< Pierre : ça peut prendre très longtemps il parait

./build-dh

Il faut ensuite éditer le fichier de configuration de votre serveur :

emacs /etc/openvpn/nom-au-choix.conf

Voici, pour exemple, mon fichier de configuration :

port 500 # modification du port pas défaut pour passer par le port UDP
proto udp #Configure le VPN en mode UDP. Si besoin, TCP fonctionne aussi.
dev tun
ca keys/ca.crt
cert keys/server.crt #emplacement du certificat SSL
key keys/server.key #emplacement de la clée SSL
dh dh1024.pem # Emplacement de la clée de cryptage
server 10.8.0.0 255.255.255.0 #ip désirée pour le serveur
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
push "redirect-gateway def1" # Définit le serveur VPN comme passerelle par défaut pour les clients.
push "dhcp-option DNS 10.8.0.1" # Définit le serveur VPN comme DNS par défaut

Je vous laisse googler le reste des options, relativement classiques (cryptages, protocole, max client etc.)
Il ne vous reste plus qu’a copier les certificats SSL nécéssaires au serveur

mkdir /etc/openvpn/keys/

cd ~/openvpn/2.0/keys

cp ca.crt server.crt server.key /etc/openvpn/keys/

cp dh1024.pem /etc/openvpn/

Il ne vous reste plus qu’a lancer le serveur via le daemon

/etc/init.d/openvpn start
ou via le bin
/etc/openvpn votre-fichier.conf

source: http://www.dailytechfix.net/2009/07/31/configuration-dopenvpn-server-en-full-tunnelling-sur-ubuntu/

Si vous avez choisi d’activer l’option « redirect-gateway » afin que votre serveur VPN serve de passerelle par défaut à vos clients, vous devez configurer vos interfaces réseaux ainsi que votre pare feu pour autoriser le transit du flux. Pour cela, rendez-vous ici

:

Laisser un commentaire

Vous devez être connecté pour poster un commentaire.

Vous cherchez quelque chose ?

Utilisez ce formulaire pour rechercher un contenu:

Vous ne trouvez pas votre bonheur ? Contactez-moi avec un commentaire, je verrai que faire pour vous.

Mes amis

Si vous m'appréciez, vous apprécierez...