Les VPN sont aujourd’hui de plus en plus utilisés. De nombreuses publicités envahissent YouTube, mais à quoi sert concrètement un VPN et comment s’en procurer un à petit prix ?
Qu’est ce qu’un VPN ?
Les « Virtual Private Network » (réseau privé virtuel) ou VPN, peuvent se montrer très pratiques. Que vous voyagez à travers le monde ou que vous soyez connecté à un réseau public dans un café de votre ville, leurs service vous sera utile !
Lorsque vous utilisez un service VPN, vous faites circuler l’intégralité de vos informations dans un tunnel crypté. Néanmoins, ce dernier appartenant à des entreprises, même s’il est sécurisé un doute peut persister sur la confiance à leur accorder.
En mettant en place votre propre réseau VPN, vous devenez donc maître de tout ! Cela vous demandera évidemment plus de compétences techniques et d’entretien, mais vous saurez précisément par où passent vos données.
Installation d’un VPN personnel
Pour installer son propre VPN, vous aurez besoin d’un petit VPS, ou d’un serveur dédié. On peut en trouver à bas prix chez Scaleway, qui propose des instances pour à peine 3 euros par mois.
L’avantage de passer par Scaleway, c’est qu’ils proposent des images d’installation ready-to-use pour monter un serveur OpenVPN en quelques clics. L’administration sera également simplifié par des commandes raccourcies.
Le second avantage réside dans le fait que Scaleway facture ses instances par mois OU à l’heure. De ce fait, si vous n’avez besoin d’un VPN que pour quelques jours, il sera tout à fait possible de monter une instance et de la détruire quelques jours plus tard.
Création de l’instance Scaleway
Après avoir créé votre compte, rendez-vous dans la console d’administration Scaleway et créez une nouvelle instance en sélectionnant l’InstantApp OpenVPN, puis choisissez votre localisation :
Sélectionnez ensuite le type d’instance : il s’agit ici de la taille / performances de l’instance, nous n’avons pas besoin de puissance, nous prendrons donc une Baremetal C1 :
Laissez les paramètres par défaut et choisissez un nom et des tags pour classer votre instance et cliquez enfin sur Create :
Le système va identifier et trouver le meilleur slot pour y stocker l’instance puis la page s’actualisera. Vous serez redirigé vers la page de détail de l’instance avec son IP publique (V4) ainsi que son Public DNS.
Connexion et configuration de son compte OpenVPN
Nous allons maintenant nous connecter en SSH à l’instance pour y configurer notre compte OpenVPN.
Nous utiliserons ici le wrapper mis à disposition par Scaleway pour gérer l’instance OpenVPN : scw-ovpn :
root@srvvpn:~# scw-ovpn --help
This wrapper helps you manage your openvpn server.
Use these commands to create an user and get a link to its configuration:
$ scw-ovpn create MYUSER
$ scw-ovpn serve MYUSER
If you do not want to transfer your configuration over cleartext HTTP, type this command on your own machine:
$ ssh root@***.***.***.*** scw-ovpn show MYUSER > MYUSER.ovpn
You could also copy-paste the output of:
$ scw-ovpn show MYUSER
Or even use port forwarding to tunnel your requests to the port the http server listens on when running '$ scw-ovpn serve ...'.
Choose the way you like and understand !
$ scw-ovpn status
shows the status of the initial openvpn configuration
$ scw-ovpn create CLIENTNAME
create a new certificate with name CLIENTNAME
$ scw-ovpn list
list all available and revoked clients in separate lists
$ scw-ovpn revoke CLIENTNAME
revoke the certificate for CLIENTNAME. This client will not be able to connect afterwards.
$ scw-ovpn show CLIENTNAME
shows the openvpn config file for client CLIENTNAME
$ scw-ovpn serve CLIENTNAME
starts an HTTP server you can download your openvpn client configuration from
$ scw-ovpn add-instance PROTOCOL PORT ID
add an openvpn instance listenning on PORT with PROTOCOL.
protocol must be one of udp and tcp.
$ scw-ovpn del-instance ID
removes the openvpn instance with subnet id ID
$ scw-ovpn list-instances
list all running openvpn instances
Langage du code : PHP (php)
Création du compte
scw-ovpn create utilisateur
A partir de maintenant, le compte est créé. Nous allons devoir récupérer le fichier de configuration .ovpn pour l’importer sur Smartphone/PC :
root@srvvpn:~# scw-ovpn serve utilisateur
You can now download the openvpn client configuration at :
>> http://51.15.84.118:4242/76be6b2e-d583-11ea-83de-f790e6f3b671/utilisateur.ovpn
>> http://2001:bc8:182c:1d43::1:4242/76be6b2e-d583-11ea-83de-f790e6f3b671/utilisateur.ovpn
>>> Press ENTER to stop serving the config file
Langage du code : PHP (php)
En exécutant cette commande, l’instance monte un serveur Web temporaire, vous permettant de récupérer le fichier.
Connexion à notre VPN
Sur macOS, Tunnelblick est un utilitaire très pratique pour la connexion à un serveur OpenVPN. Sur iOS il existe l’application OpenVPN.
Récupérez donc votre fichier OVPN et ouvrez le (sur macos) avec Tunnelblick :
Suivez ensuite l’assistant d’importation du profil pour créer la configuration dans Tunnelblick :
Désormais, le profil a été créée, il ne reste plus qu’a se connecter depuis la top bar, icône Tunnelblick, sélectionnez le profil importé :