Le Réseau privé virtuel (VPN) présenté ici, est vu comme une extension des réseaux locaux et préserve la sécurité logique que l'on peut avoir à l'intérieur d'un réseau local. Il correspond en fait à une interconnexion de réseaux locaux via une technique de "tunnel". Un réseau privé Virtuel repose sur un protocole, appelé protocole de tunnelisation (tunneling), c'est-à-dire un protocole permettant aux données passant d'une extrémité à l'autre du VPN d'être sécurisées par des algorithmes de cryptographie.
Attention, veuillez bien lire ce qui suit avant de foncer tête baissée :
Dans un premier temps, on va créer les certificats, fichiers indispensables pour s'authentifier sur le VPN, aussi bien du coté serveur que client. C'est le serveur qui génère tous les certificats (ceux des clients, mais aussi le sien).
cd /usr/share/doc/openvpn/examples/easy-rsa/
Il faut éditer le fichier « vars », puis remplir à la fin de celui-ci, les champs suivant, à votre guise bien sûr :
export KEY_COUNTRY=XX export KEY_PROVINCE=MonPays export KEY_CITY=MaVille export KEY_ORG=”MaPetiteEntreprise” export KEY_EMAIL=”contact@MaPetiteEntreprise.fr”
La KEY_CONTRY est bien sûr le code "pays" : FR pour France, UK pour United Kingdom etc.
. vars
./clean-all./build-ca
Attention, tous les champs sont pré-remplis, grâce à l'édition précédente du fichier vars, SAUF le common name. Mettez ce que vous voulez (« principal » par exemple, est souvent utilisé).
./build-key-server serveur
Attention là aussi, champs pré-remplis. Sauf le common name, mettre à « serveur » par exemple, c'est pas mal ;)
On va créer un certificat pour un client. Il faut un certificat par client, donc n'hésitez pas à scripter ce qui suit ;)
On va produire ici un certificat « Client01.crt » et sa clef « Client01.key »
cd /usr/share/doc/openvpn/examples/easy-rsa/ . vars ./build-key Client01
./build-dhcp ./keys/ca.crt /etc/openvpn/ cp ./keys/ca.key /etc/openvpn/ cp ./keys/serveur.crt /etc/openvpn/ cp ./keys/serveur.key /etc/openvpn/ cp ./keys/dh1024.pem /etc/openvpn/
# Port en écoute utilisé pour la connexion VPN port XXX # Protocole utilisé proto udp # Type d’interface réseau virtuelle créée dev tun # Nom des fichiers servant à l’authentification des clients via OpenSSL ca /etc/openvpn/ca.crt cert /etc/openvpn/serveur.crt key /etc/openvpn/serveur.key dh /etc/openvpn/dh1024.pem # Adresse du réseau virtuel (Le serveur aura l’adresse 192.168.0.1) server 10.8.0.0 255.255.255.0 # Cette ligne ajoute sur le client la route du réseau du serveur push "route 192.168.0.0 255.255.255.0" # Ces lignes indiquent aux clients l’adresse des serveur DNS et WINS push "dhcp-option DNS 192.168.0.254" push "dhcp-option WINS 192.168.0.254" # Cette ligne permet aux clients de voire les autres clients client-to-client keepalive 10 120 #Cette ligne active la compression comp-lzo #Ces lignes permettent de rendre persistante la connexion persist-key persist-tun #Cette ligne permet d’indiquer le niveau de log souhaité (de 1 à 9) verb 3
Voilà ! Attention si votre VPN n'est pas directement sur votre Routeur, pensez à router le port quivabien
On parlera ici de l'utilisation du Vpn via le Network Manager. Tout d'abord :
sudo aptitude install network-manager-openvpn
Ensuite, clique droit sur l'icône du network manager. Menu Connexions VPN, Configurer le réseau VPN. On clique ensuite sur Ajouter, puis Suivant, vérifiez que vous avez bien sélectionné "OpenVPN Client", puis Suivant encore. Connection Name : Celui que vous voulez, celui qui sera vu dans la liste des VPN configuré.
Ensuite :
Allez donc aussi faire un tour dans l'onglet Optional pour activer la compression (cochez la case "Use LZO compression".
Ensuite, suivant et le tour est joué ! Pour vous connecter à ce VPN, clique gauche sur le Network Manager, puis Connexion VPN, et sélectionnez le VPN fraîchement configuré :) Un petit cadenas vous indiquera que vous êtes bien connecté.
Installez OpenVPN, disponible ici : http://openvpn.net/download.html.
Lors de l’installation de ce programme, la carte réseau virtuelle « TAP-Win32 Adapter V8 » est installée. Une fois le programme installé, il est lancé automatiquement et à chaque démarrage de Windows. Un icône pour le configurer est disponible à coté de l’heure.
Une version française du front-end est disponible par ici : http://openvpn.se/files/localized/binary/1.0.3/openvpn-gui-1.0.3-fr.exe
La première chose à faire est de copier dans le dossier « C :\Program Files\OpenVPN\config » les fichiers servant à l’authentification du client via OpenSSL créés dans les chapitres précédents : - ca.crt, Client01.crt et Client01.key
Ensuite, il faut modifier le fichier de configuration pour l’adapter à votre cas. Pour éditer le fichier, il est possible de faire un clic droit sur l’icône « OpenVPN » situé à gauche de l’heure et de choisir l’option « Éditer la configuration ».
# on indique que c'est un client client # on est en mode tunneling dev tun # on utilise de l'UDP proto udp # l'adresse du serveur vpn, ainsi que son port remote monserveurvpn.com 1194 # on essaie à l'infini de se connecter resolv-retry infinite nobind # on veut laisser la connexion ouverte en permanence persist-key persist-tun # la liste des certifs ca ca.crt cert Client01.crt key Client01.key # on indique qu'on utilise la compression comp-lzo # le degré de verbose verb 1