OffshoreVps
Sécurité17 sept. 202610 min de lecturePar l’équipe OffshoreVps

Configurer votre propre VPN WireGuard sur un VPS

Pas à pas : installer WireGuard sur Ubuntu ou Debian, créer les clés, écrire les configurations du serveur et du client, ouvrir le pare-feu et tester le tunnel.

WireGuard est un protocole VPN moderne, rapide, compact et simple à configurer. En exécuter un vous-même sur un VPS vous donne un tunnel chiffré vers un serveur situé dans le pays de votre choix, sans société de VPN tierce au milieu. Ce guide utilise Ubuntu 24.04 ou Debian 12/13 et suppose que vous avez déjà sécurisé le serveur.

Fenêtre de terminal sur un VPS montrant les commandes utilisées pour configurer WireGuard, à commencer par « sudo apt update »
Le type de commandes que vous exécuterez sur votre serveur dans ce guide.

1. Installer WireGuard

sudo apt update
sudo apt install -y wireguard

2. Générer les clés du serveur

cd /etc/wireguard
umask 077
wg genkey | tee server.key | wg pubkey > server.pub

umask 077 garantit que les fichiers de clés ne sont lisibles que par root. Gardez server.key privé.

3. Créer les clés du client

Générez une paire de clés pour votre ordinateur portable ou votre téléphone sur le serveur, puis copiez ensuite la configuration client :

wg genkey | tee client1.key | wg pubkey > client1.pub

4. Écrire la configuration du serveur

Trouvez d’abord le nom de votre interface réseau publique :

ip route get 1.1.1.1 | awk '{print $5; exit}'

C’est souvent eth0 ou ens3. Créez /etc/wireguard/wg0.conf et remplacez les valeurs en majuscules par les vôtres :

[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY
PostUp   = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ETH_IF -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o ETH_IF -j MASQUERADE

[Peer]
# client1
PublicKey = CLIENT1_PUBLIC_KEY
AllowedIPs = 10.8.0.2/32

Collez le contenu de server.key et client1.pub aux endroits indiqués, et remplacez ETH_IF par le nom de votre interface.

5. Activer le routage IP

echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/99-wireguard.conf
sudo sysctl --system
Les étapes de ce guide dans l’ordre : 1. 1. Installer WireGuard ; 2. 3. Créer les clés du client ; 3. 5. Activer le transfert d’IP ; 4. 7. Démarrer le tunnel ; 5. 9. Le tester ; 6. Choisir un emplacement
Les étapes de ce guide, dans l’ordre.

6. Ouvrir le pare-feu

sudo ufw allow 51820/udp
sudo ufw route allow in on wg0
sudo ufw reload

7. Démarrer le tunnel

sudo systemctl enable --now wg-quick@wg0
sudo wg show

Vous devriez voir l’interface et, une fois qu’un client se connecte, son dernier handshake.

8. Configurer le client

Sur votre appareil, créez une configuration comme celle-ci (les applications WireGuard officielles pour Windows, macOS, Linux, iOS et Android peuvent l’importer depuis un fichier ou un code QR) :

[Interface]
Address = 10.8.0.2/24
PrivateKey = CLIENT1_PRIVATE_KEY
DNS = 1.1.1.1

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

AllowedIPs = 0.0.0.0/0, ::/0 envoie tout le trafic par le tunnel. Pour n’atteindre que votre réseau privé, utilisez plutôt 10.8.0.0/24.

9. Le tester

  1. Activez le tunnel sur le client.
  2. Exécutez sudo wg show sur le serveur et vérifiez qu’il y a un handshake récent.
  3. Visitez une page « quelle est mon IP » depuis le client. Elle doit afficher l’adresse de votre serveur.
  4. Recherchez des fuites DNS si la confidentialité est votre objectif, et ajoutez des règles IPv6 si votre serveur dispose d’IPv6.

Ajouter d’autres appareils

Pour chaque nouvel appareil, générez une paire de clés, ajoutez un autre bloc [Peer] avec une nouvelle adresse telle que 10.8.0.3/32, et exécutez sudo wg syncconf wg0 <(wg-quick strip wg0) pour l’appliquer sans couper les connexions existantes.

Choisir un emplacement

Un serveur WireGuard fonctionne depuis n’importe lequel de nos emplacements. Choisissez-en un proche de vous pour la vitesse, ou dans le pays dont vous voulez que votre trafic utilise l’adresse IP. Voir comment choisir un emplacement de VPS. Un petit VPS suffit largement pour un tunnel personnel.