Pour l’accès à l’infrastructure numérique de l’entreprise et des outils informatiques à distance, comme si on y est sur place, on utilise le VPN pour accroître la sécurité des échanges. De nombreux professionnels proposent ce genre de services, il suffit de taper VPN, dans votre moteur de recherche, pour découvrir les offres.
Cet article a pour but de présenter en dix étapes la mise en place d’un serveur VPN, à l’aide de OpenVPN, et d’une distribution Linux Ubuntu 18-04 server.
OpenVPN est un logiciel open-source gratuit, il est utilisé pour implémenter des réseaux privés virtuels afin de créer des connexions site à site ou point à point sécurisées.
OpenVPN utilise le protocole SSL permettant de connecter différents types d’appareils au réseau. Grâce à OpenVPN, on peut relier un groupe de machines situées sur un lieu distant à une infrastructure locale à travers le réseau public non sécurisé.
De quoi aura-t-on besoin pour créer le VPN?
Un serveur Ubuntu 18-04 en état de marche.
Une adresse IP privée statique pour votre serveur, du type 192.168.5.21 par exemple. Vous pouvez utiliser votre classe d’adresses préférée.
Un mot de passe root pour votre serveur.
Vous pouvez aussi utiliser Putty, si vous souhaiter réaliser toutes les configurations de votre serveur depuis une autre machine. Il faudra aussi veiller pour cela à ce que le serveur SSH soit installé.
Si toutes les conditions sont réunies, voici les différentes étapes que nous allons aborder dans cet article:
Etape 1 : Mise à jour des paquetages Linux
Etape 2 : Installation de OpenVPN
Etape 3 : Téléchargement et configuration de EasyRSA
Etape 4 : Création d’un certificat de la clé et des fichiers de chiffrement du serveur
Etape 5 : Création d’une paire Certificat-Clé client
Etape 6 : Configuration du service OpenVPN
Etape 7 : Configuration réseau
Etape 8 : Démarrage du serveur OpenVPN
Etape 9 : Céation d’une infrastructure de configuration client
Etape 10 : Test de connexion du client
Etape 1 : Mise à jour des paquetages Linux
Dans la fenêtre de commande, taper :
sudo apt-get update -y
Ensuite
sudo apt-get upgrade –y
Une fois que c’est fini, redémarrer le serveur avec la commande
sudo reboot
Etape 2 : Installation de OpenVPN
Par défaut OpenVPN se trouve dans le « repository » de Ubuntu 18.04. On peut l’installer en tapant la commande
sudo apt-get install openvpn –y
Lorsque l’installation est terminée, on peut maintenant passer à l’étape suivante.
Etape 3 : Téléchargement et configuration de EasyRSA
On va mettre en place une autorité de certification (CA : certificate authority), EasyRSA sera donc utilisé et configuré à cet effet.
Télécharger l’archive EasyRSA à partir du site officiel, avec la commande :
wget https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.4/EasyRSA-3.0.4.tgz
Puis décompresser l’archive :
tar –xvzf EasyRSA-3.0.4.tgz
EasyRSA est à présent installé avec un fichier de configuration qui va être modifié, pour définir un certain nombre de paramètres pour l’autorité de certification (AC).
Il faut aller dans le répertoire EasyRSA-3.0.4, puis copier le fichier « vars.example », puis le nommer « vars »
cp vars.example vars
Ouvrir le fichier vars, avec l’éditeur nano
sudo nano ~/EasyRSA-3.0.4/vars
Dé commenter et changer les paramètres par défaut des champs suivants selon votre convenance. Pour ce me concerne :
set_var EASYRSA_REQ_COUNTRY "FRANCE"
set_var EASYRSA_REQ_PROVINCE "ILE-DE-FRANCE"
set_var EASYRSA_REQ_CITY "GUYANCOURT"
set_var EASYRSA_REQ_ORG "Info-elec-sie co"
set_var EASYRSA_REQ_EMAIL "Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser."
set_var EASYRSA_REQ_OU "SIE"
Une fois terminé, sauver, puis fermer le fichier.
Ensuite lancer un script appelé « easyrsa » avec l’option ‘init-pki’ pour créer une infrastructure de clé publique.
Il faudra se placer dans le répertoire /EasyRSA-3.0.4 ; puis taper la commande
./easyrsa init-pki
En réponse on a ceci :
Note: using Easy-RSA configuration from: ./vars init-pki complete; you may now create a CA or requests. Your newly created PKI dir is: /home/my_rep/EasyRSA-3.0.4/pki
Exécuter à nouveau le script easyrsa, avec l’option build-ca pour mettre en place l’AC et créer deux fichiers nommés : ca.crt et ca.key, dont l’un (ca.crt) constitue le certificat public de l’AC, pour que les deux parties client et serveur VPN, puissent s’informer mutuellement qu’ils font partie du même réseau de confiance ; et l’autre (ca.key) constitue la clé privée que l’AC utilise pour signer les certificats des serveurs et des clients.
Juste une remarque avant de poursuivre; un attaquant peut s’introduire dans votre AC et récupérer le fichier ca.key ensuite signer les certificats puis avoir accès au VPN. Le VPN devient alors vulnérable; pour éviter cela il conseillé de ne pas utiliser la même machine pour l’AC et le serveur VPN. L’AC devra être isolé lorsqu’il n’y a pas des demandes de signature des certificats.
Continuons l'installation. Si on ne souhaite pas à chaque fois saisir un mot de passe lorsqu’on va interagir avec l’AC, il faudra donc exécuter le script easyrsa build-ca avec l’option nopass :
./easyrsa build-ca nopass
En réponse on a:
Note: using Easy-RSA configuration from: ./vars Generating a RSA private key ..........................................+++ ......+++ writing new private key to '/home/bidj/EasyRSA-3.0.4/pki/private/ca.key.LnIXFpbh5X' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Common Name (eg: your user, host, or server name) [Easy-RSA CA]:
Il sera demandé de donner un nom commun à votre AC, par souci de simplicité, laisser le nom proposé par défaut, taper la touche ENTRER.
L’AC est à présent en place et prête à signer des certificats.
Etape 4 : Création d’un certificat de la clé et des fichiers de chiffrement du serveur
A présent le serveur AC est prêt ; on va générer une clé de chiffrement et une demande de certificat depuis ce même serveur, et ensuite transférer la demande à l’AC pour être signée.
Aller dans le répertoire EasyRSA-3.0.4 ; puis exécuter le script « easyrsa » avec les commandes « gen-req » « server » avec l’option « nopass » :
./easyrsa gen-req server nopass
On obtient en réponse :
Note: using Easy-RSA configuration from: ./vars Generating a RSA private key ...................................................................................................................................+++ .........+++ writing new private key to '/home/bidj/EasyRSA-3.0.4/pki/private/server.key.UQrnlgk7EG' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Common Name (eg: your user, host, or server name) [server]:
On peut laisser le nom par défaut « server », puis taper ENTRER.
La clé privée du serveur et la demande de certificat sont crées.
Keypair and certificate request completed. Your files are: req: /home/bidj/EasyRSA-3.0.4/pki/reqs/server.req key: /home/bidj/EasyRSA-3.0.4/pki/private/server.key
Maintenant copier cette clé dans le répertoire /etc/openvpn/
sudo cp ~/EasyRSA-3.0.4/pki/private/server.key /etc/openvpn/
Puisque votre AC et OpenVPN sont sur la même machine, on peut à présent signer la demande.
./easyrsa sign-req server server
Taper « yes » puis sur la touche ENTRER. On a le résultat suivant :
Using Easy-RSA configuration from: ./openssl-easyrsa.cnf # D’autres messages ici …. Check that the request matches the signature Signature ok The Subject’s Distinguished Name is as follows commonName :ASN.1 12:’serevr’ Certificate is to be certified until Mar 21 18:54:40 2031 GMT (3650 days) Write out database with 1 new entries Data Base Updated Certificate created at: /home/bidj/EasyRSA-3.0.4/pki/issued/server.crt
Copier à présent les fichiers ca.crt et server.crt dans le répertoire /etc/openvpn/
Taper :
sudo cp ~/EasyRSA-3.0.4/pki/ca.crt /etc/openvpn/
Puis
sudo cp ~/EasyRSA-3.0.4/pki/issued/server.crt /etc/openvpn/
A présent on va créer une clé robuste DIFFIE-HELMAN, pour cela exécuter le script :
./easyrsa gen-dh
On devra obtenir ceci :
Note: using Easy-RSA configuration from: ./vars Generating DH parameters, 2048 bit long safe prime, generator 2 This is going to take a long time ...........................................+...........+.......+....................................................................................................................................................................................................+....................+......+....................................................................................................................................................................................+...................+................................................................+.............................................................+.......................................................................................................+............++*++*++*++* DH parameters of size 2048 created at /home/bidj/EasyRSA-3.0.4/pki/dh.pem
Ensuite on va générer une signature HMAC pour renforcer les vérifications TLS du serveur.
openvpn --genkey --secret ta.key
Ensuite copier les fichiers ta.key et dh.pem dans le répertoire /etc/openvpn/ à l’aide des commandes suivantes :
sudo cp ~/EasyRSA-3.0.4/ta.key /etc/openvpn/
Puis
sudo cp ~/EasyRSA-3.0.4/pki/dh.pem /etc/openvpn/
A présent les certificats et les clés ont été générés.
Etape 5 : Création d’une paire Certificat-Clé client
On va maintenant générer une clé privée et un certificat pour un client que nous allons appeler « pierre » sur le serveur. Créer un répertoire où seront stockés les fichiers de certificat et de clé du client.
mkdir –p ~/client/keys
Aller dans le répertoire /EasyRSA-3.0.4
cd EasyRSA-3.0.4
Puis exécuter le script easyrsa ; générer une demande client
./easyrsa gen-req pierre nopass
Taper sur la touche ENTRER ; on aura le résultat suivant :
Note: using Easy-RSA configuration from: ./vars Can't load /home/bidj/EasyRSA-3.0.4/pki/.rnd into RNG 140163723592128:error:2406F079:random number generator:RAND_load_file:Cannot open file:../crypto/rand/randfile.c:88:Filename=/home/bidj/EasyRSA-3.0.4/pki/.rnd Generating a RSA private key ..................................................+++++ .........+++++ writing new private key to '/home/bidj/EasyRSA-3.0.4/pki/private/pierre.key.EbdX3MJa3R' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Common Name (eg: your user, host, or server name) [pierre]: Keypair and certificate request completed. Your files are: req: /home/bidj/EasyRSA-3.0.4/pki/reqs/pierre.req key: /home/bidj/EasyRSA-3.0.4/pki/private/pierre.key
Les paires certificats-clés et fichiers de configuration des clients seront stockés dans le répertoire /client crée précédemment. Avant toute chose, il faut verrouiller les autorisations de ce répertoire par mesure de sécurité. Taper :
chmod –R 700 ~/client
Copier la clé du client pierre dans le répertoire /client
sudo cp /home/bidj/EasyRSA-3.0.4/pki/private/pierre.key /home/bidj/client/keys/
Ensuite signer le certificat à l’aide de la commande suivante
./easyrsa sign-req client pierre
Confirmer la demande en tapant yes; En réponse on a :
You are about to sign the following certificate. Please check over the details shown below for accuracy. Note that this request has not been cryptographically verified. Please be sure it came from a trusted source or that you have verified the request checksum with the sender. Request subject, to be signed as a client certificate for 3650 days: subject= commonName = pierre Type the word 'yes' to continue, or any other input to abort. Confirm request details: yes Using configuration from ./openssl-easyrsa.cnf Can't load /home/bidj/EasyRSA-3.0.4/pki/.rnd into RNG 140126491890112:error:2406F079:random number generator:RAND_load_file:Cannot open file:../crypto/rand/randfile.c:88:Filename=/home/bidj/EasyRSA-3.0.4/pki/.rnd Check that the request matches the signature Signature ok The Subject's Distinguished Name is as follows commonName :ASN.1 12:'pierre' Certificate is to be certified until Mar 21 21:10:48 2031 GMT (3650 days) Write out database with 1 new entries Data Base Updated Certificate created at: /home/bidj/EasyRSA-3.0.4/pki/issued/pierre.crt
Ensuite copier le fichier du certificat client pierre dans le répertoire /client/keys/
sudo cp ~/EasyRSA-3.0.4/pki/issued/pierre.crt ~/client/keys/
Ensuite copier les fichiers ca.crt et ta.key dans le répertoire /client/keys/
sudo cp ~/EasyRSA-3.0.4/ta.key ~/client/keys/
Puis
sudo cp /etc/openvpn/ca.crt ~/client/keys/
Les fichiers clients et serveur ont été crées.
Etape 6 : Configuration du service OpenVPN
Les clés et les certificats du client et du serveur ont été générées au cours des étapes précédentes. On va à présent configurer le service OpenVPN pour utiliser ces informations d’identification.
On va utiliser un fichier nommé server.conf, qui est proposé avec l’installation de OpenVPN. Ce fichier servira de base pour créer notre fichier de configuration.
Copier ce fichier dans le répertoire /etc/openvpn/, pour cela taper la commande :
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
Ensuite décompresser l’archive :
sudo gzip –d /etc/openvpn/server.conf.gz
Editer le fichier :
sudo nano /etc/openvpn/server.conf
Puis effectuer les modifications suivantes :
Dans section HMAC, trouver la directive tls-auth ; dé commenter si nécessaire cette ligne (en supprimant le « ; ») :
tls-auth key 0 #this file is secret
Rajouter la ligne
key-direction 0
Puis vérifier que la ligne qui suit est aussi dé commentée
cipher AES-256-CBC
Ensuite ajouter une directive auth pour sélectionner l’algorithme de synthèse des messages HMAC. On pourra choisir comme algorithme SHA256
auth SHA256
Trouver la ligne dh, puis supprimer 2048, pour avoir ceci :
dh dh.pem
Trouver ensuite les paramètres user et group, puis dé commenter les lignes correspondantes :
user nobody
group nogroup
Si on souhaite utiliser le VPN pour acheminer l’ensemble du trafic, on peut aussi diriger les paramètres DNS sur les ordinateurs clients.
Dé commenter les lignes suivantes :
push ‘’redirect-gateway def1 bypass-dhcp’’ push ‘’dhcp-option DNS 208.67.222.222’’ push ‘’dhcp-option DNS 208.67.220.220’’
Le port VPN par défaut est 1194 ; vous pouvez aussi utiliser le port 443 comme port VPN à la place du port 1194. Dans ce cas il faudra aussi changer le protocole en TCP. Ce choix sera restrictif, car il ne sera pas utilisé, si vous avez aussi un serveur WEB hébergé dans la même machine que votre serveur VPN.
Pour cet exemple on va conserver les paramètres par défaut pour le port, ainsi que le protocole.
Enregistrer et fermer le fichier une fois terminé.
Etape 7 : Configuration réseau
Ajuster le paramètre de transfert IP par défaut du serveur. Modifier pour cela le fichier :
/etc/sysctl.conf
Ouvrir ce fichier
sudo nano /etc/sysctl.conf
Dé commenter la ligne
net .ipv4.ip_forward = 1
Enregistrer et fermer le fichier.
Ajuster la valeur pour la session en cours. Pour cela taper :
sudo sysctl -p
A présent on va configurer le parefeu et ajouter des règles de masquage. Avant cela on doit d’abord trouver l’interface réseau public de la machine ; taper la directive :
ip route | grep default
Pour la machine de cet exemple on a :
default via 192.168.5.1 dev enp0s25 proto static
L’interface ici s’appelle enp0s25.
Editer le fichier before.rules, en tapant la commande
sudo nano /etc/ufw/before.rules
Les règles du parefeu sont généralement ajoutées à l’aide de la commande ufw
Rajouter modifier le fichier en ajoutant les directives comprises entre #BEGIN OPENVPN RULES et #END OPENVPN RULES; sans oublier de faire figurer la bonne interface réseau. On devra obtenir ceci :
# # rules.before # # Rules that should be run before the ufw command line added rules. Custom # rules should be added to one of these chains: # ufw-before-input # ufw-before-output # ufw-before-forward # BEGIN OPENVPN RULES *nat :POSTROUTING ACCEPT [0:0] # Allow traffic from OpenVPN client to enp0s25 change to your interface name -A POSTROUTING -s 10.8.0.0/8 -o enp0s25 -j MASQUERADE COMMIT # END OPENVPN RULES # Don't delete these required lines, otherwise there will be errors *filter
Enregistrer et fermer le fichier.
Indiquer ensuite au pare feu d’accepter les paquets transmis par défaut. Pour cela ouvrir le fichier ufw :
sudo nano /etc/default/ufw
Puis changer la directive
DEFAULT_FORWARD_POLICY= ‘’ACCEPT’’
Enregistrer et fermer le fichier
Ajouter aussi le port 1194 du VPN au pare feu, ainsi que le port 22 du SSH si celui-ci n’a pas été rajouté avant.
sudo ufw allow 1194/udp
Puis :
sudo ufw allow OpenSSH
Redémarrer le parefeu en tapant les commandes suivantes :
sudo ufw disable
sudo ufw enable
Etape 8 : Démarrage du serveur OpenVPN
Taper la commande
sudo systemctl start openvpn@server>
On peut vérifier que le service a bien démarré en tapant :
sudo systemctl status openvpn@server>
On devrait voir affiché l’état du serveur,
- Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser. - OpenVPN connection to server
Loaded: loaded (/lib/systemd/system/openvpn@.service; disabled; vendor preset Active: active (running) since Wed 2021-03-24 10:00:34 UTC; 2min 58s ago Docs: man:openvpn(8) https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage https://community.openvpn.net/openvpn/wiki/HOWTO Main PID: 2385 (openvpn) Status: "Initialization Sequence Completed" Tasks: 1 (limit: 4617) CGroup: /system.slice/system-openvpn.slice/Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser. └─2385 /usr/sbin/openvpn --daemon ovpn-server --status /run/openvpn/s Mar 24 10:00:34 servertest ovpn-server[2385]: Could not determine IPv4/IPv6 prot Mar 24 10:00:34 servertest ovpn-server[2385]: Socket Buffers: R=[212992->212992] Mar 24 10:00:34 servertest ovpn-server[2385]: UDPv4 link local (bound): [AF_INET Mar 24 10:00:34 servertest ovpn-server[2385]: UDPv4 link remote: [AF_UNSPEC] Mar 24 10:00:34 servertest ovpn-server[2385]: GID set to nogroup Mar 24 10:00:34 servertest ovpn-server[2385]: UID set to nobody Mar 24 10:00:34 servertest ovpn-server[2385]: MULTI: multi_init called, r=256 v= Mar 24 10:00:34 servertest ovpn-server[2385]: IFCONFIG POOL: base=10.8.0.4 size= Mar 24 10:00:34 servertest ovpn-server[2385]: IFCONFIG POOL LIST Mar 24 10:00:34 servertest ovpn-server[2385]: Initialization Sequence Completed
On peut également vérifier que l’interface tun0 est disponible en tapant
ip addr show tun0
On devra obtenir ceci :
3: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100 link/none inet 10.8.0.1 peer 10.8.0.2/32 scope global tun0 valid_lft forever preferred_lft forever inet6 fe80::a290:c4c7:4f33:2ab1/64 scope link stable-privacy valid_lft forever preferred_lft forever
Activer le service OpenVPN afin qu’il puisse démarrer automatiquement après la mise sous tension de la machine. Taper la commande :
sudo systemctl enable openvpn@sever>
Le serveur est maintenant opérationnel.
Etape 9 : Céation d’une infrastructure de configuration client
La création des fichiers de configuration clients est assez lourde, à chaque client qu’on doit créer, il faudra se conformer aux fichiers de configuration du serveur. Il sera plutôt intéressant de créer un fichier de configuration qui servira de base pour tous les clients, puis un script qui permettra de générer les fichiers de configuration , les certificats et les clés uniques.
Créer un nouveau répertoire dans lequel seront stockés les fichiers de configuration client :
mkdir –p client/files
Puis copier un exemple de fichier de configuration client dans le répertoire /client, qu’on va renommer base.conf :
cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client/base.conf
Puis éditer le fichier base.conf
sudo nano ~/client/base.conf
Modifier l’adresse IP avec celle de votre serveur, chercher pour cela la ligne remote :
S’assurer aussi que le protocole choisi est bien proto udp
Décommenter en supprimant le « ; » les directives user et group :
user nobody group nogroup
Commenter les directives ca, cert, key et tls-auth.
Utiliser les mêmes paramètres cipher et auth utilisés précédemment dans le fichier server.conf.
cipher AES-256-CBC auth SHA256
Ajouter
tls-auth ta.key 1
Ensuite ajouter le directive « key-direction 1 »
key-direction 1
Pour les clients linux ayant un fichier /etc/openvpn/update-resolv-conf
Vous pouvez rajouter les lignes suivantes :
script-security 2 up /etc/openvpn/update-resolv-conf down /etc/openvpn/update-resolv-conf
Créer un script qui compilera le fichier de base avec les fichiers de certificat, de clé, et de chiffrement adéquate puis on pourra ainsi placer la configuration générée dans le répertoire /client/files
Ouvrir un fichier appelé make_config.sh dans le répertoire /client :
sudo nano ~/client/make_config.sh
Puis ajouter un contenu semblable à celui-ci :
#!/bin/bash # First argument: Client identifier KEY_DIR=~/client/keys OUTPUT_DIR=~/client/files BASE_CONFIG=~/client/base.conf cat \({BASE_CONFIG} \ <(echo -e '') \ \){KEY_DIR}/ca.crt \ <(echo -e '\n') \ \({KEY_DIR}/\){1}.crt \ <(echo -e '\n') \ \({KEY_DIR}/\){1}.key \ <(echo -e '\n') \ \({KEY_DIR}/ta.key \ <(echo -e '') \ > \){OUTPUT_DIR}/${1}.ovpn
Enregistrer et fermer le fichier.
Configurer ce fichier ; pour cela exécuter la commande :
sudo chmod 700 ~/client/make_config.sh
Ainsi au lieu de gérer séparément tous les fichiers de configuration de certificats, de clés des clients toutes les informations seront stockées au même endroit. Ainsi pour créer un nouveau client, il suffira d’exécuter ce script.
Exemple, on va créer deux clients appelés maitre2 et pierre2:
Il faut d’abord créer une paire certificat-clé pour le client maitre2 et le client pierre2; comme cela a été crée pour le client pierre à l’étape 5.
Puis se placer dans le répertoire /client :
cd ~/client
puis exécuter le script make_config.sh pour maitre2 :
sudo ./make_config.sh maitre2
Et pour pierre2 :
sudo ./make_config.sh pierre2
On peut aller voir si les clients maitre2 et pierre2 ont été crées dans le répertoire /client/files/
Etape 10 : Test de connexion du client
Ayant sous la main deux tablettes android, on va donc les utiliser pour les tests. On commence par télécharger puis installer, depuis Google Play Store le client OpenVPN pour android, dans les tablettes.
Le client maitre2 sera installé dans la Tablette A. Il faudra d’abord faire une copie de maitre2.ovpn sur un clé USB, puis le transférer sur une carte SD puis sur la tablette. Vous pouvez aussi utiliser la commande scp.
Lancer le client OpenVPN sur la tablette, puis créer un profil vpn.
Utiliser la flèche pour importer le profil depuis une carte SD.
Puis valider.
On reprendra les mêmes opérations sur la tablette B avec pierre2.
L'image ci-dessous atteste que le VPN fonctionne, à en juger avec la clé qui apparail en haut à droite de la tablette.
Idem pour l'autre client. Enfin nous avons vérifiés qu'on pouvait atteindre l'autre tablette et vice-versa avec la commande "ping". Notre test s'est arrêté là.
Il est possible d’utiliser indifféremment des clients Windows, Linux ou Mac, les procédures sont différentes et nous n’allons pas les présenter ici.
Révocation des clients
Pour empêcher tout accès à un client déjà crée, on procède par la révocation de son certificat.
Exemple, supposons qu’on désire révoquer le client pierre2 :
Aller dans le répertoire /EasyRSA-3.0.4,
cd ~/EasyRSA-3.0.4
Puis taper :
./easyrsa revoke pierre2
Confirmer la révocation en tapant sur yes
Ensuite créer une liste de révocation sinon le client pourrait toujours se connecter :
./easyrsa gen-crl
Ensuite copier le fichier crl.pem dans le répertoire /etc/openvpn/
sudo cp ~/EasyRSA-3.0.4/pki/crl.pem /etc/openvpn/
Puis,
sudo nano /etc/openvpn/server.conf
Puis ajouter à la fin du fichier "crl-verify".
Enregistrer puis fermer le fichier.
Redémarrer le serveur OpenVPN
Conclusion :
Beaucoup de sites marchands proposent des offres pour des VPN. En ce qui nous concerne, on peut enregistrer un grand nombre de clients dans notre serveur VPN, mais c’est travail fastidieux qui demande beaucoup de patience. Il existe des solutions commerciales proposant une interface graphique afin de créer rapidement des clients, on peut citer la solution OpenVPN-as qui peut aussi être utilisée gratuitement, si on n’a que deux clients ; mais au de là, c’est un coût par licence que l’éditeur demandera.
Ce serveur VPN open source et gratuit, nous offre la possibilité de navigation, la protection de nos codes et identifiants en toute sécurité.