Comment créer son propre serveur VPN en 2026 : guide WireGuard complet

2026.07.29 23:18 petro

 

Un VPN auto-hébergé donne le contrôle sur la passerelle, les clés et les appareils autorisés. Le client établit un tunnel WireGuard chiffré vers un VPS, puis le trafic choisi sort avec l’adresse publique du serveur. Cette architecture convient à la protection sur un Wi-Fi public, à l’accès distant et aux usages professionnels autorisés.

L’article officiel VPN vs BitBrowser rappelle que les deux outils n’agissent pas au même niveau : le VPN protège le chemin réseau, alors que BitBrowser sépare les profils, les cookies, le stockage et les sessions du navigateur.

Lectures BitBrowser associées : VPN vs BitBrowser  |  navigation privée |  identité réseau en 2026

1. Choisir le VPS et préparer le plan réseau

Choisissez un VPS avec une IPv4 publique, Ubuntu Server 26.04 LTS, un accès SSH par clé et la prise en charge de l’UDP. Vérifiez le pare-feu du fournisseur, le quota de transfert et l’accès à une console de secours.

L’exemple utilise le réseau 10.8.0.0/24 et le port UDP 51820. Changez la plage si elle chevauche un réseau domestique, professionnel ou de conteneurs. Chaque appareil reçoit une adresse /32 et une paire de clés uniques.

Plan de déploiement du VPN

Élément

Valeur conseillée

Pourquoi c’est important

SystèmeUbuntu Server 26.04 LTSUtilisez une image maintenue et appliquez les mises à jour.
Protocole VPNWireGuardConfiguration réduite et modèle moderne à clés publiques.
TransportUDP 51820Ouvrez ce port dans le pare-feu cloud et UFW.
Sous-réseau VPN10.8.0.0/24Changez-le en cas de chevauchement.
Adresse serveur10.8.0.1/24Passerelle à l’intérieur du tunnel chiffré.
Premier client10.8.0.2/32Chaque peer reçoit une adresse unique.

 

2. Installer WireGuard et générer la clé du serveur

Mettez Ubuntu à jour, puis installez WireGuard. qrencode est facultatif pour importer un profil sur mobile. La clé privée du serveur ne doit jamais quitter la machine ; seule la clé publique est communiquée aux clients.

Il est préférable de générer les clés privées des clients directement sur leurs appareils afin de réduire les copies sensibles.

Exemple de commande ou de configuration

sudo apt update
sudo apt install -y wireguard qrencode

sudo sh -c 'umask 077; wg genkey > /etc/wireguard/server.key'
sudo sh -c 'wg pubkey < /etc/wireguard/server.key > /etc/wireguard/server.pub'
sudo cat /etc/wireguard/server.pub

 

3. Activer le transfert IPv4

Un tunnel complet exige que le serveur transfère les paquets entre wg0 et l’interface publique. Activez le forwarding de manière persistante et identifiez l’interface de la route par défaut. Elle peut s’appeler ens3 au lieu de eth0.

Une mauvaise interface NAT permet parfois le handshake, mais empêche tout accès à internet.

Exemple de commande ou de configuration

echo 'net.ipv4.ip_forward=1' | sudo tee /etc/sysctl.d/99-wireguard-forward.conf
sudo sysctl --system

ip route show default
# Note the public interface name, such as eth0 or ens3.

 

4. Créer le fichier wg0.conf

Créez /etc/wireguard/wg0.conf, insérez la clé privée du serveur et la clé publique du premier client. PostUp et PostDown gèrent l’autorisation de routage et le masquerading IPv4.

Côté serveur, attribuez un AllowedIPs /32 à chaque peer. N’utilisez pas le même profil sur plusieurs appareils, car la révocation et le routage deviendraient ambigus.

Exemple de commande ou de configuration

[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY
PostUp = ufw route allow in on wg0 out on eth0
PostUp = iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
PostDown = ufw route delete allow in on wg0 out on eth0
PostDown = iptables -t nat -D POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

[Peer]
PublicKey = CLIENT1_PUBLIC_KEY
AllowedIPs = 10.8.0.2/32

 

5. Ouvrir le pare-feu et démarrer WireGuard

Autorisez OpenSSH avant d’activer UFW pour éviter une coupure d’accès. Ouvrez UDP 51820 dans UFW et dans le pare-feu cloud. Protégez le fichier de configuration puis activez wg-quick@wg0 au démarrage.

La commande wg show affiche les pairs et les compteurs. Un handshake récent confirme que le client atteint le serveur avec les bonnes clés.

Exemple de commande ou de configuration

sudo ufw allow OpenSSH
sudo ufw allow 51820/udp
sudo ufw enable
sudo ufw status verbose

sudo chmod 600 /etc/wireguard/wg0.conf
sudo systemctl enable --now wg-quick@wg0
sudo wg show

 

6. Préparer le profil client

Générez la paire de clés sur le client et transmettez uniquement la clé publique au serveur. Le profil présenté envoie tout le trafic IPv4 dans le tunnel. Pour un split tunnel, indiquez seulement les réseaux privés requis.

PersistentKeepalive = 25 aide les appareils mobiles derrière NAT. Le DNS est un exemple : choisissez un résolveur de confiance et testez son application effective.

Exemple de commande ou de configuration

umask 077
wg genkey > client1.key
wg pubkey < client1.key > client1.pub
cat client1.pub

[Interface]
PrivateKey = CLIENT_PRIVATE_KEY
Address = 10.8.0.2/32
DNS = 1.1.1.1

[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = SERVER_PUBLIC_IP:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

 

7. Tester le routage, le DNS et la reconnexion

Vérifiez le handshake, les octets transférés, l’adresse IP publique, le DNS et le fonctionnement après redémarrage. Testez également le passage du Wi-Fi aux données mobiles.

Si certains sites échouent, examinez le MTU et IPv6. Un tunnel IPv4 n’englobe pas automatiquement un chemin IPv6 non configuré.

Exemple de commande ou de configuration

sudo wg show
sudo systemctl status wg-quick@wg0 --no-pager
sudo journalctl -u wg-quick@wg0 -n 50 --no-pager
ip addr show wg0
ip route
sudo ufw status verbose

 

8. Sécuriser le serveur et comprendre BitBrowser

Utilisez des clés SSH, appliquez les mises à jour, réduisez les ports publics et supprimez les peers inutilisés. En cas de perte d’un appareil, retirez immédiatement son bloc [Peer]. Protégez les sauvegardes contenant des secrets.

Un VPN personnel ne garantit pas l’anonymat : l’hébergeur connaît le compte du VPS et les sites voient l’IP du serveur et les comptes connectés. BitBrowser peut isoler des profils autorisés, mais il ne remplace ni WireGuard, ni le pare-feu, ni la sécurité du poste.

Tableau de dépannage

Symptôme

Cause probable

Points à vérifier

Aucun handshakeClé, endpoint, port ou pare-feu incorrectComparez les clés publiques et vérifiez UDP 51820.
Handshake sans internetForwarding ou NAT absentContrôlez ip_forward, interface, route UFW et MASQUERADE.
Certains sites échouentMTU ou IPv6Testez un MTU 1380-1420 et examinez IPv6.
DNS toujours localDNS client non appliquéDéfinissez un résolveur et reconnectez.
Coupure sur mobileExpiration du mapping NATUtilisez PersistentKeepalive = 25.
Échec après redémarrageService ou règles non persistantsActivez wg-quick@wg0 et conservez les règles.

 

Questions fréquentes

Faut-il un nom de domaine ?

Non. Une IPv4 publique fixe suffit. Un domaine ou un DNS dynamique est pratique si l’adresse change.

Pourquoi le client se connecte-t-il sans accès internet ?

Vérifiez ip_forward, le nom de l’interface publique, la règle UFW, le NAT, AllowedIPs et le DNS.

Puis-je ajouter plusieurs appareils ?

Oui, avec une paire de clés et une adresse /32 distinctes pour chacun.

Le VPN masque-t-il une connexion à un compte ?

Non. Le service continue d’identifier le compte, et les cookies ou signaux du navigateur restent présents.

BitBrowser remplace-t-il le VPN ?

Non. BitBrowser isole les environnements du navigateur ; WireGuard crée le tunnel réseau.

Conclusion

Un serveur VPN fiable repose sur une base simple : Ubuntu maintenu, WireGuard, clés uniques, réseau privé sans conflit, pare-feu minimal, NAT correct et tests reproductibles.

Mettez le serveur à jour, révoquez les appareils perdus et contrôlez régulièrement le DNS et le routage. Utilisez BitBrowser pour la séparation autorisée des profils web, sans lui attribuer les fonctions de chiffrement d’un VPN.

Sources techniques et lectures officielles BitBrowser

Notes Ubuntu 26.04  •  Guide WireGuard Ubuntu  •  Démarrage WireGuard  •  Pare-feu Ubuntu  •  VPN vs BitBrowser  •  Navigation privée  •  Site BitBrowser
Vérifié le 29 juillet 2026. Les commandes supposent Ubuntu Server 26.04 LTS, un tunnel IPv4 complet et une interface publique nommée eth0 ; adaptez-les à votre serveur.