OpenVPN – Installation serveur et clients Windows et Android

INSTALLATION

Pour le cas ici l’installation se fait sous une Fedora, sous Debian ce n’est pas bien plus compliqué. L’installation se fait à partir des dépôts de la distribution.

yum install openvpn easy-rsa

mkdir /etc/openvpn/easy-rsa/

cp /usr/share/openvpn/easy-rsa/2.0/* /etc/openvpn/easy-rsa/

cd /usr/share/openvpn
cp /usr/share/easy-rsa/* /etc/openvpn/easy-rsa/

mkdir /etc/openvpn/easy-rsa/keys

touch /etc/openvpn/easy-rsa/keys/index.txt

echo 01 >/etc/openvpn/easy-rsa/keys/serial

vi /etc/openvpn/easy-rsa/vars

avec :

export KEY_SIZE=2048
export CA_EXPIRE=3650
export KEY_EXPIRE=3650
export KEY_COUNTRY= »FR »
export KEY_PROVINCE= »75″
export KEY_CITY= »PARIS »
export KEY_ORG= »CUCCIARDI »
export KEY_EMAIL= »contact@cucciardi.fr »
export KEY_OU= »Cucciardi »

cd /etc/openvpn/easy-rsa/

On initialise les “variables”
. ./vars

Note : Les clef sont valable 3650 jours (10 ans)

Un coup de nettoyage (peu utile lors d’une installation fraîche)
./clean-all

 

PKI

Création du certificat auto-signé
./build-ca

Création des keys du serveur
./build-key-server VPNSRV

 

Création des keys clients (ici 20 clients)
./build-key CLIENT1
./build-key CLIENT2
./build-key CLIENT3
./build-key CLIENT4
./build-key CLIENT5
./build-key CLIENT6
./build-key CLIENT7
./build-key CLIENT8
./build-key CLIENT9
./build-key CLIENT10
./build-key CLIENT11
./build-key CLIENT12
./build-key CLIENT13
./build-key CLIENT14
./build-key CLIENT15
./build-key CLIENT16
./build-key CLIENT17
./build-key CLIENT18
./build-key CLIENT19
./build-key CLIENT20

 

Génération des paramètres Diffie-Hellman

plus d’informations ici
./build-dh

 

On peux générer une clef pour éviter l’interception de clefs (fait ici mais pas en place dans le fichier de configuration)

openvpn –genkey –secret keys/ta.key
Configuration du serveur
On copie le sample dans /etc/openvpn

cp /usr/share/doc/openvpn/sample/sample-configfiles/server.conf /etc/openvpn
cd /etc/openvpn/
On ajuste la configuration du serveur :

vi server.conf
port 443                                       # évite le blocage de certain hotspot : par exemple les hôtels
proto udp
dev tun
ca /etc/openvpn/easy-rsa/keys/ca.crt           # chemin des différentes clés
cert /etc/openvpn/easy-rsa/keys/VPNSRV.crt
key /etc/openvpn/easy-rsa/keys/VPNSRV.key   # A GARDER secret
dh /etc/openvpn/easy-rsa/keys/dh2048.pem
push « redirect-gateway def1 bypass-dhcp »
push « dhcp-option DNS 213.186.33.99 »           # DNS OVH
cipher AES-128-CBC                             # AES
comp-lzo
On autorise l’IP forwarding sur le serveur

echo « net.ipv4.ip_forward = 1 » >> /etc/sysctl.conf

 

Règles iptable (UDP, tun0)

iptables -t filter -A INPUT -m state –state NEW -m udp -p udp
iptables -t filter -A INPUT -m state –state NEW -m udp -p udp –dport 443 -j ACCEPT
iptables -I INPUT -i tun0 -j ACCEPT
iptables -I FORWARD -i tun0 -j ACCEPT
iptables -I FORWARD -o tun0 -j ACCEPT
iptables -I OUTPUT -o tun0 -j ACCEPT

 

cd /etc/openvpn/easy-rsa/

 

On vérifie la configuration du serveur

chkconfig openvpn start
chkconfig –add openvpn start
On lance le serveur OpenVPN avec la commande :

openvpn server.conf (Attention au chemin du fichier de conf)

 

NOTES

J’ai créer un script “route_openvpn.sh” qui reprend les routes iptables et l’IP forwarding
Normalement il se lance au démarrage j’ai créer un lien :

ln -s route_openvpn.sh /etc/rc.d/rc6.d/route_openvpn.sh

systemctl start openvpn@server.service
systemctl stop openvpn@server.service
systemctl status openvpn@server.service


INSTALLATION DU CLIENT WINDOWS

OpenVPN GUI

https://openvpn.net/index.php/open-source/downloads.html

 

Télécharger et installer l’application en fonction de la plateforme :
Windows 32 bits : ici
Windows 64 bits : ici
suivant, suivant, OK next next : aucun piège pour l’installation : c’est du Windows…
Mettre les certificats, clefs et le fichier de configuration dans le répértoire “config”
par exemple pour une installation 64 bits :
C:\Program Files\OpenVPN\config
Attention le fichier de configuration pour Windows doit avoir l’extension .ovpn (.conf sous linux)

 

Exécuter l’application en mode Administrateur

Pour voir si cela fonctionne :
aller sur le site : http://www.whatismyip.com/

le fichier ressemble à :
#Configuration client
#Mode client
client
# mode routed
dev tun
#Le protocole
proto udp
#Adresse du serveur IP
remote IP.DU.SERVEUR.OPENVPN 443
#Permet la recherche constante du serveur
resolv-retry infinite
nobind
;user nobody
;group nobody
persist-key
persist-tun
mute-replay-warnings

#Les différents clés et certificats
# ATTENTION pas de connexion concomitantes
# il faut mettre le bon nom des fichiers… CLIENT1…CLIENT2…CLIENT 14…

ca ca.crt
cert CLIENT1.crt
key CLIENT1.key
;tls-auth ta.key
#Type de cryptage
cipher AES-128-CBC
#Compression
comp-lzo
#Verbosité
verb 3


INSTALLATION DU CLIENT Androïd

Télécharger et installer l’application ICI

dézipper l’archive avec les clés dans un répertoire sur le téléphone,
ensuite dans paramètre importer un profil et choisir le ficher avec l’extension .ovpn du client à importer (faut avoir les certificats)
c’est tout !!!

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *