Вы находитесь на странице: 1из 7

Installation de OpenVPN :

Ici c'est un VPN SSL se basant sur la cration d'un tunnel IP (UDP ou TCP au choix) authentifi et
chiffr avec la bibliothque OpenSSL.
Quelques avantages des tunnels VPN SSL:

Facilit pour passer les rseaux NATs (pas de configuration faire)


Logiciel clients disponibles sur GNU/Linux, BSD, Windows et Mac OS X.

On commence par installer OpenVPN


mkdir /etc/openvpn/easy-rsa/
cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa/

Configuration dOpenVPN : (serveur)

ditez le fichier /etc/openvpn/easy-rsa/vars et ajoutez ces lignes la fin du fichier:


export KEY_COUNTRY="FR"
export KEY_PROVINCE="FR"
export KEY_CITY="FR"
export KEY_ORG="exemple.com"

export KEY_EMAIL="exemple@exemple.com"
Ensuite, excutez les commandes suivante afin de gnrer les cls (.key) et les certificats (.crt) :
cd /etc/openvpn/easy-rsa/
source vars
./clean-all
./build-dh
./pkitool --initca
./pkitool --server Nomduserveur

openvpn --genkey --secret keys/ta.key


Copiez ensuite les cls et les certificats dans le rpertoire /etc/openvpn/ :
cp keys/ca.crt keys/ta.key keys/Nomduserver.crt keys/Nomduserveur.key keys/dh1024.pem
/etc/openvpn/
Puis, gnrez les rpertoires /etc/openvpn/jail et /etc/openvpn/clientconf. Le premiers rpertoire permet
de chroot le processus OpenVPN (afin de limiter les dgts en cas de faille dans OpenVPN) puis, le
dernier rpertoire contiendra la configuration des clients :
mkdir /etc/openvpn/jail && mkdir /etc/openvpn/clientconf
crez le fichier de configuration /etc/openvpn/server.conf :

Cette configuration permet de crer un serveur VPN SSL rout bas sur le protocole TCP et utilisant le
port HTTPS (443). Les clients obtiendront une nouvelle adresse IP dans le range 10.13.0.0/24 et aurons
les DNS de Google (8.8.8.8 et 8.8.8.4).
Tester la configuration en saisissant la commande suivante :
cd /etc/openvpn
openvpn server.conf

et observer les logs :

/etc/init.d/openvpn/ start && tail -t /var/log/openvpn.log

Il faut donc configurer le serveur pour quil joue le rle de routeur entre linterface VPN (tun0) et
linterface physique (eth0). Aprs ces oprations, votre serveur NATera les adresses en 10.8.0.x vers
son adresse IP relle.
Configuration du routage:
sh -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
Afin de rendre cette modification permanente, diter le /etc/sysctl.conf :
net.ipv4.ip_forward = 1
sur Iptables, les rgles obligatoires pour dverrouiller laccs au VPN ainsi que la translation
dadresses :
iptables -I FORWARD -i tun0 -j ACCEPT
iptables -I FORWARD -o tun0 -j ACCEPT
iptables -I OUTPUT -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.13.0.0/24 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.13.0.2/24 -o eth0 -j MASQUERADE
Pour rendre cette rgle de NAT persistante aprs un reboot de votre serveur, il faut commencer par
crer un script de chargement de rgles de Firewall (ou utiliser un script existant):
sh -c "iptables-save > /etc/iptables.rules"
Puis diter votre fichier /etc/network/interfaces pour y ajouter la ligne suivante aprs la dfinition de
votre interface rseau principale ("iface eth0 inet..." par exemple):
pre-up iptables-restore < /etc/iptables.rules
Pour que openvpn se lance au dmarrage :
service openvpn restart
update-rc.d f openvpn defaults

Cration d'un compte client OpenVPN (serveur) :

Imaginons que l'on veuille crer une cls pour le client "siojjr", alors il suffit de saisir les
commandes suivantes sur le serveur:
cd /etc/openvpn/easy-rsa
source vars
./build-key-pass siojjr
Note: si vous souhaitez protger l'accs vos cls par un mot de passe (c'est dire qu'un mot
de passe sera demand la mont du tunnel VPN), il faut utiliser la commande ./build-keypass en lieu et place de ./buil-key.
Le script ./build-key va gnrer 3 fichiers dans le rpertoire /etc/openvpn/easy-rsa/keys:

siojjr.crt: Certificat pour le client


siojjr.csr: Certificat garder sur le serveur
siojjr.key: Cls pour le client

On copie les fichiers ncessaires un sous rpertoire du rpertoire /etc/openvpn/clientconf/


pralablement cr:
mkdir /etc/openvpn/clientconf/siojjr /
cp /etc/openvpn/ca.crt /etc/openvpn/ta.key keys/siojjr.crt keys/siojjr.key
/etc/openvpn/clientconf/siojjr /
On va ensuite dans le rpertoire /etc/openvpn/clientconf/siojjr/:
cd /etc/openvpn/clientconf/siojjr/
Puis on cr le fichier client.conf (il faut remplacer A.B.C.D par l'adresse publique de votre serveur
VPN ):

Pour assurer la compatibilit avec le client Windows OpenVPN, on fait une copie du fichier client.conf
vers client.ovpn:
cp client.conf client.ovpn

On devrait ainsi avoir les fichiers suivants dans le rpertoire /etc/openvpn/clientconf/siojjr /:

ca.crt: Certificat du serveur


client.conf: Fichier de configuration du client OpenVPN (Linux, BSD, MacOS X)
client.ovpn: Fichier de configuration du client OpenVPN (Windows)
siojjr.crt: Certificat du client
siojjr.key: Cls du client
ta.key: Cls pour l'authentification

Configurer son accs avec Open VPN (Client linux) :

Pour installer le client OpenVPN, il suffit d'installer le paquet openvpn disponible dans les
dpts officiels. On pourra aussi installer le paquet network-manager-openvpn
pour avoir une interface graphique qui permet de simplifier l'utilisation.
Sans interface graphique
Pour dfinir une connexion un VPN, il faut crire un fichier contenant certaines informations
(correspondant au client.conf)
Les champs les plus importants de ce fichier sont
remote (hte abritant le nud d'entre)
dev (tun ou tap)
proto (udp ou tcp)
comp-lzo (compression lzo)
fragment
ca (fichier certificat)
ns-cert-type
Il ne reste plus qu' mettre ces fichiers (tous ceux de /etc/openvpn/clientconf/siojjr) sur le PC client
Puis, pour se connecter au VPN
openvpn fichierdeconfiguration
Si l'on veut passer des paramtres optionnels openvpn, on doit alors spcifier aussi l'option config
devant le nom du fichier de configuration. Parmi les option utiles, on remarquera auth-user-pass qui
permet de donner un fichier contenant le nom d'utilisateur et le mot de passe, ce qui permet de ne pas
avoir rentrer ces derniers l'invite de commande, et donc de lancer plus facilement openvpn en tche
de fond.
On notera qu'il faut les droits d'administration pour se connecter, ce qui est normal car openvpn va crer
une interface rseau virtuelle, la configurer avec ifconfig et changer les tables de rout
Avec network-manager, on vite d'avoir son mot de passe rentrer, ce plugin reposant sur un dmon
lanc au dmarrage avec les privilges d'administration.
Avec interface graphique
Un clic sur l'icne de network-manager montre un champ Connexions VPN, qui permet de configurer le
VPN. L'interface est assez intuitive, mais aussi assez limite par rapport aux nombreuses options
disponibles dans le fichier de configuration.
Pour une utilisation basique, ou si les rglages envoys par le serveur au client vous conviennent ce
moyen est suffisant.
le plugin propose d'importer le profil depuis un fichier de configuration openvpn. Cette option est assez
pratique mais perdra tous les rglages non pris en charge directement par network-manager, ce qui est
bien dommage, en particulier les routages diffrencis pour ne router qu'une partie du trafic par le vpn
et les scripts up et down.

Configurer son accs avec Open VPN GUI (Client windows) :

Pour commencer, tlchargez le logiciel ici : http://openvpn.se/download.html . Le logiciel est


compatible unbuntu.Une fois install, rendez-vous tout d'abord dans le rpertoire d'installation d'Open
VPN GUI puis dans le dossier config.
Copiez y vos fichiers de configuration puis relancez le logiciel.
Vous devez imprativement lancer le logiciel avec les droits administrateurs.
Une fois le logiciel dmarr, faites un clic droit sur l'icne disponible dans la barre des tches puis
choisissez votre connexion dans la liste. Cliquez enfin sur connect et patientez. vous aurez un
message de confirmation de connexion.

Vrifier que tout a fonctionn

Il suffit de regarder lip du client avant et aprs la connexion pour voir si laccs au vpn a
bien fonctionn ou non.

Вам также может понравиться