Beginner Friendly

By the end, you'll have a VPN only you
control — for real.

Not a marketing promise. A WireGuard tunnel on a server in the jurisdiction of your choice, with no third party holding a copy of your keys or logs.

⏱ 2h30 total ★★☆ Intermediate 7 chapters VPS budget ~€10/month

What you'll accomplish concretely

You'll have rented and secured a VPS in a protective jurisdiction (Switzerland, Iceland, or Finland)

Hardened SSH, non-standard port, key-only authentication

You'll have deployed Headscale — the open source VPN coordination server

HTTPS accessible, automatic Let's Encrypt certificate, Docker Compose

You'll have connected your local machine to the VPN network in 3 commands

Private IP 100.64.0.x, WireGuard tunnel active, no open ports on local side

You'll have verified the absence of DNS leaks and confirmed correct routing

dnsleaktest.com test, inter-node ping, connected clients list

You'll be able to add any device to the network in under 5 minutes

Phone, laptop, additional server — same procedure

Who this tutorial is for

🌱

The motivated beginner

You've heard about digital sovereignty and want to take action. You know terminal basics (cd, ls, sudo). This tutorial is designed for you.

💼

The tech entrepreneur

You manage client or proprietary data. You want to break free from commercial VPN dependency without handing your secrets to an unknown third party.

🔐

The OPSEC freelancer

You work on sensitive projects. You want a persistent encrypted channel between your machines, out of reach of intrusive jurisdictions.

🧑‍💻

The curious developer

You want to understand WireGuard from the inside, not just use it. This tutorial explains the mechanism, not just commands to copy-paste.

The 7 tutorial chapters

00

Before you start

You know exactly what you'll build, how much it costs, and what you need. Zero surprises.

5 min
01

Why a sovereign VPN?

You understand the 3 real flaws of commercial VPNs. You know precisely what you're protecting against.

15 min
02

How WireGuard works

You understand the WireGuard mechanism without black magic: keys, tunnel, handshake.

20 min
03

Prepare and harden the VPS

Your server is operational and hardened: SSH on non-standard port, key authentication, root disabled.

30 min
04

Deploy Headscale on the VPS

Headscale is online, HTTPS accessible on your domain, with a namespace created.

30 min
05

Connect a client

Your local machine is connected to the VPN network with a private IP (100.64.0.x).

10 min
06

Verify, test, go further

You've confirmed 0 DNS leaks, validated the WireGuard tunnel, and know how to add a device or revoke access in 30 seconds.

10 min

Ready? Let's go.

2h30 and you have a VPN you fully control.

Start the tutorial → See all tutorials

Débutant Friendly

À la fin, tu auras un VPN que toi seul
administres — pour de vrai.

Pas une promesse marketing. Un tunnel WireGuard sur un serveur dans la juridiction de ton choix, sans aucun tiers qui détient une copie de tes clés ou de tes logs.

⏱ 2h30 au total ★★☆ Intermédiaire 7 chapitres Budget VPS ~10€/mois

Ce que tu vas accomplir concrètement

Tu auras loué et sécurisé un VPS dans une juridiction protectrice (Suisse, Islande ou Finlande)

SSH durci, port non-standard, authentification par clé uniquement

Tu auras déployé Headscale — le serveur de coordination VPN open source

Accessible via HTTPS, certificat Let's Encrypt automatique, Docker Compose

Tu auras connecté ta machine locale au réseau VPN en 3 commandes

IP privée 100.64.0.x, tunnel WireGuard actif, aucun port ouvert côté local

Tu auras vérifié l'absence de fuite DNS et confirmé le bon routage

Test dnsleaktest.com, ping inter-nœuds, liste des clients connectés

Tu seras capable d'ajouter n'importe quel appareil au réseau en moins de 5 minutes

Téléphone, laptop, serveur supplémentaire — même procédure

Pour qui ce tutoriel est fait

🌱

Le débutant motivé

Tu as entendu parler de souveraineté numérique et tu veux passer à l'action. Tu connais les bases du terminal (cd, ls, sudo). Ce tutoriel est conçu pour toi.

💼

L'entrepreneur tech

Tu gères des données clients ou propriétaires. Tu veux sortir de la dépendance aux VPNs commerciaux sans remettre tes secrets à un tiers inconnu.

🔐

Le freelance OPSEC

Tu travailles sur des projets sensibles. Tu veux un canal chiffré persistant entre tes machines, hors de portée des juridictions intrusives.

🧑‍💻

Le développeur curieux

Tu veux comprendre WireGuard de l'intérieur, pas juste l'utiliser. Ce tutoriel explique le mécanisme, pas uniquement les commandes à copier-coller.

💡

Tu débutes complètement ?

Les commandes ssh, sudo et cd suffisent pour commencer. Si elles te sont inconnues, un cours "Linux terminal débutant" de 2h sur YouTube te met à niveau — ensuite ce tutoriel devient accessible. Chaque commande est expliquée ligne par ligne : tu ne copieras jamais du code sans savoir ce qu'il fait.

Ce tutoriel ne couvre pas l'anonymat

Un VPN souverain protège ton indépendance et tes métadonnées de connexion. Il ne t'anonymise pas vis-à-vis des sites que tu visites. Pour l'anonymat complet, Tor + Tails sont plus adaptés.

Les 7 chapitres du tutoriel

Chaque chapitre a un objectif précis. Tu peux en faire plusieurs à la suite ou t'arrêter après chacun.

00

Avant de commencer

Tu sais exactement ce que tu vas construire, combien ça coûte et ce dont tu as besoin. Zéro surprise.

5 min
01

Pourquoi un VPN souverain ?

Tu comprends les 3 failles réelles des VPNs commerciaux. Tu sais précisément ce contre quoi tu te protèges — et ce que ce tutoriel ne couvre pas.

15 min
02

Comment fonctionne WireGuard

Tu comprends le mécanisme WireGuard sans magie noire : clés, tunnel, handshake. Tu peux expliquer la différence avec OpenVPN en 2 phrases.

20 min
03

Préparer et durcir le VPS

Ton serveur est opérationnel et durci : SSH sur port non-standard, authentification par clé, root désactivé. Les bots ne peuvent plus le scanner.

30 min
04

Déployer Headscale sur le VPS

Headscale est en ligne, accessible via HTTPS sur ton domaine, avec un namespace créé. Tu as ta première clé de pré-authentification.

30 min
05

Connecter un client

Ta machine locale est connectée au réseau VPN. Elle a une IP privée (100.64.0.x) et peut joindre le VPS sans passer par internet ouvert.

10 min
06

Vérifier, tester et aller plus loin

Tu as confirmé 0 fuite DNS, validé le tunnel WireGuard, et tu sais comment ajouter un nouvel appareil ou révoquer un accès en 30 secondes.

10 min

Prérequis

Ce qu'il te faut avant de commencer

  • Un VPS chez Infomaniak (Suisse, 9,90€/mois), 1984 Hosting (Islande, 4€/mois) ou UpCloud (Finlande, 20$/mois)
  • Linux Ubuntu 22.04 LTS installé sur le VPS (choix à la création du serveur)
  • Docker + Docker Compose installés sur le VPS (couvert dans le chapitre 03)
  • Un nom de domaine avec accès DNS (ex: Cloudflare gratuit) — ex: vpn.tondomaine.io
  • Un terminal sur ta machine locale (macOS Terminal, Linux Terminal ou Windows WSL2)
  • Savoir exécuter ssh, cd, ls et sudo
💡

Coin du Débutant — Terminal inconnu ?

Si tu n'as jamais utilisé SSH, prévois 1h supplémentaire pour le chapitre 03. Toutes les commandes sont expliquées ligne par ligne — tu ne copieras jamais du code que tu ne comprends pas.

Prêt ? On commence.

2h30 et tu as un VPN que tu contrôles entièrement.

Démarrer le tutoriel → Voir tous les tutoriels