Monter son propre VPN comme un nul (1/2)

Pour les raisons décrites dans l’introduction on va monter nous même une infrastructure VPN totalement fonctionnelle, sécurisé et libre 

C’est parti! 

Liste des ingrédients: 

_ Un PC (Linux, Android, Mac, IOS, Windows, … [n’importe quoi on s’en fiche tant que ça marche comme OS] ).

_ Un serveur (de préférence Linux, ici on prendra Debian family, c’est la plus utilisé)

_ Un soupçon de bonne volonté et une connexion internet (Obviously)

Étape 1: Installation et configuration d’OpenVPN

Après s’être connecté via son terminal (si vous avez un bon OS) ou via Putty.exe (si vous avez un OS raté type Windows) sur son serveur on execute:

# apt update

Une fois que aptitude a mis à jour les dépots on crée un dossier OpenVPN:

# mkdir openvpn

et on télécharge un script d’installation assez pratique on va pas se le cacher:

# wget https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh

on attribue les permissions:

# chmod +x openvpn-install.sh

et on exécute

# ./openvpn-install.sh 

Normalement à ce stade, le script affiche ceci: 

[email protected]:~/openvpn# ./openvpn-install.sh 
Welcome to the OpenVPN installer!
The git repository is available at: https://github.com/angristan/openvpn-install

I need to ask you a few questions before starting the setup.
You can leave the default options and just press enter if you are ok with them.

I need to know the IPv4 address of the network interface you want OpenVPN listening to.
Unless your server is behind NAT, it should be your public IPv4 address.
IP address: 104.117.28.192
 

Normalement l’adresse IP affiché pour vous est celle de votre serveur, si c’est le cas il suffit de taper entrer, sinon corriger avec l’adresse IP de votre serveur.

Ensuite nous est proposé l’activation d’IPv6, dans notre cas, on configure sur de l’IPv4 mais si vous habitez l’Asie du sud-est ne pourrez pas faire autrement qu’utiliser IPv6.

Your host does not appear to have IPv6 connectivity.

Do you want to enable IPv6 support (NAT)? [y/n]: n
 

Le script nous demande quel port on veut allouer au serveur VPN:

What port do you want OpenVPN to listen to?
   1) Default: 1194
   2) Custom
   3) Random [49152-65535]
Port choice [1-3]: 1
 

Sauf si vous savez ce que vous faites, je vous conseille de laisser le port par défaut, il fait très bien son boulot.

 What protocol do you want OpenVPN to use?
UDP is faster. Unless it is not available, you shouldn't use TCP.
   1) UDP
   2) TCP
Protocol [1-2]: 1

Bon, là on a le choix entre UDP et TCP, comme indiqué ici, UDP est plus rapide mais TCP est plus stable, pour l’heure on va choisir l’option par défaut: UDP.

L’étape d’après est la plus importante pour les psycho-maniaques de la vie privée (comme moi 🙂 )

 What DNS resolvers do you want to use with the VPN?
   1) Current system resolvers (from /etc/resolv.conf)
   2) Self-hosted DNS Resolver (Unbound)
   3) Cloudflare (Anycast: worldwide)
   4) Quad9 (Anycast: worldwide)
   5) Quad9 uncensored (Anycast: worldwide)
   6) FDN (France)
   7) DNS.WATCH (Germany)
   8) OpenDNS (Anycast: worldwide)
   9) Google (Anycast: worldwide)
   10) Yandex Basic (Russia)
   11) AdGuard DNS (Russia)
DNS [1-10]: 3

Il s’agit de choisir ses DNS. Alors là par contre vous faites comme vous voulez, ça dépend juste de votre degré de connaissance sur le sujet. Si par exemple vous ne voulez pas trop vous prendre la tête et que la NSA n’est pas un problème pour vous: choisissez Google.

Pour ma part je n’ai pas une connexion au compte goutte donc je désactive la compression:

Do you want to use compression? It is not recommended since the VORACLE attack make use of it.
Enable compression? [y/n]: n
 

Enfin, à moins de savoir précisément ce que vous faites, je vous déconseille très vivement de changer cette option:

Do you want to customize encryption settings?
Unless you know what you're doing, you should stick with the default parameters provided by the script.
Note that whatever you choose, all the choices presented in the script are safe. (Unlike OpenVPN's defaults)
See https://github.com/angristan/openvpn-install#security-and-encryption to learn more.

Customize encryption settings? [y/n]: n

Une simple pression sur la touche entrée et le script se chargera de tout pour nous \ o /.

Okay, that was all I needed. We are ready to setup your OpenVPN server now.
You will be able to generate a client at the end of the installation.
Press any key to continue...

Dernière étape de configuration, le script nous demande de renseigner le nom de notre utilisateur et le mot de passe (ou pas):

Tell me a name for the client.
Use one word only, no special characters.
Client name: tchernobyl

Il ne nous reste plus qu’à aller au répertoire HOME avec la commande

# cd

on contrôle que le fichier est bien là, ici tchernobyl.ovpn

[email protected]:~# ls 
openvpn  tchernobyl.ovpn

comme on est fainéant, on doit ruser. C’est pourquoi on va faire afficher le contenu du ficher et le copier, on le collera par la suite en local sur notre PC dans un fichier qu’on appellera tchernobyl.ovpn. Pour afficher le contenu d’un fichier sous UNIX, c’est très simple: 

# cat tchernobyl.ovpn 

Et voilà, prochaine étape la configuration de notre PC ici :p

@tchernobyl

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*
*