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.
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
Before you start
You know exactly what you'll build, how much it costs, and what you need. Zero surprises.
Why a sovereign VPN?
You understand the 3 real flaws of commercial VPNs. You know precisely what you're protecting against.
How WireGuard works
You understand the WireGuard mechanism without black magic: keys, tunnel, handshake.
Prepare and harden the VPS
Your server is operational and hardened: SSH on non-standard port, key authentication, root disabled.
Deploy Headscale on the VPS
Headscale is online, HTTPS accessible on your domain, with a namespace created.
Connect a client
Your local machine is connected to the VPN network with a private IP (100.64.0.x).
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.
À 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.
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.
Avant de commencer
Tu sais exactement ce que tu vas construire, combien ça coûte et ce dont tu as besoin. Zéro surprise.
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.
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.
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.
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.
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.
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.
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,lsetsudo
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.