WireGuard donne accès aux services privés sans publier leurs interfaces web. Le point d’entrée VPN doit être joignable ; le DDNS ne contourne pas le CGNAT.
Configurer
Choisissez des réseaux distincts pour le LAN et le VPN et une paire de clés par appareil. AllowedIPs détermine les destinations empruntant le tunnel. Un tunnel complet demande aussi le routage et, selon la topologie, du NAT.
Un serveur sur le routeur nécessite une règle d’entrée UDP. Un serveur derrière lui demande une redirection. UDP 51820 est un exemple de port, pas une obligation.
Tester
Vérifiez le handshake puis l’accès réel depuis une connexion mobile. Un test TCP ne teste pas WireGuard. Après un changement d’IP, le client peut devoir résoudre à nouveau le nom DDNS. Même privées, les pages .app exigent un certificat HTTPS valide.
Exemples de configuration
Adaptez valeurs, interfaces et ports. Les exemples peuvent correspondre à différentes versions : n’exécutez pas ensemble des variantes incompatibles. Ne publiez jamais de vrais jetons ou clés privées.
sudo -i # the rest of this guide runs as root
apt update
apt install wireguard iptables qrencode
# keys for the server and for your first device (a phone)
cd /etc/wireguard
umask 077
wg genkey | tee server.key | wg pubkey > server.pub
wg genkey | tee phone.key | wg pubkey > phone.pub
cat server.pub phone.pub[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = <contents of server.key>
# let VPN clients reach the LAN, and hide them behind this machine's LAN address
PostUp = sysctl -w net.ipv4.ip_forward=1; iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
[Peer]
# phone
PublicKey = <contents of phone.pub>
AllowedIPs = 10.8.0.2/32chmod 600 /etc/wireguard/wg0.conf
systemctl enable --now wg-quick@wg0
wg show[Interface]
Address = 10.8.0.2/32
PrivateKey = <contents of phone.key>
# optional: use your Pi-hole or router for DNS while connected
DNS = 192.168.1.2
[Peer]
PublicKey = <contents of server.pub>
Endpoint = home.yourname.uk.app:51820
# only home traffic goes through the tunnel ("split tunnel")
AllowedIPs = 10.8.0.0/24, 192.168.1.0/24
PersistentKeepalive = 25qrencode -t ansiutf8 < /etc/wireguard/phone.conf
shred -u /etc/wireguard/phone.key /etc/wireguard/phone.conf # once scannedVérifications finales
Testez depuis une connexion mobile hors de votre Wi-Fi. Vérifiez séparément DNS, port attendu, certificat HTTPS valide et authentification. Gardez les interfaces administratives privées, appliquez les mises à jour et testez une restauration. Contrôlez les pare-feu IPv6 et IPv4. Un test de port réussi n’est pas un audit de sécurité.
Cette édition localisée résume le guide source. Les commandes conservent leur syntaxe originale. Consultez la documentation du fabricant pour votre version exacte.