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.

vpn-explication-openvpn-creation-web-bretagne

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 :

scaleway-openvpn-instance-creation-web-bretagne

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 :

vpn-explication-openvpn-creation-web-bretagne-type

Laissez les paramètres par défaut et choisissez un nom et des tags pour classer votre instance et cliquez enfin sur Create :

vpn-explication-openvpn-creation-web-bretagne-tag

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.

vpn-explication-openvpn-creation-web-bretagne-ssh

Connexion et configuration de son compte OpenVPN

Nous allons maintenant nous connecter en SSH à l’instance pour y configurer notre compte OpenVPN.

vpn-explication-openvpn-creation-web-bretagne-ssh-config

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

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

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 :

tunnelblick-openvpn-instance-scaleway

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é :