WireGuard tourne nativement sur OpenWrt, ce qui transforme un seul routeur en passerelle VPN pour tout le réseau ou en serveur d'accès distant à la maison. Ce guide configure WireGuard sur un routeur OpenWrt de bout en bout en 2026 : installer le paquet, puis deux configurations réelles — OpenWrt en client (faire sortir tout le LAN par un pair distant) et OpenWrt en serveur (atteindre votre réseau maison de partout).
Réponse rapide : OpenWrt peut faire tourner WireGuard nativement. Installez le paquet luci-proto-wireguard, puis créez une interface WireGuard sous Network > Interfaces dans LuCI. Faites tourner OpenWrt en client pour envoyer tout le trafic du LAN par un pair VPN distant, ou en serveur pour donner aux appareils distants l'accès à votre réseau maison. Le plus dur est rarement les clés — c'est la zone de pare-feu et le routage, donc la plupart des soucis de « pas de handshake » ou « pas d'internet » se règlent là.

Ce qu'il vous faut avant de commencer
- Un routeur sous OpenWrt avec assez de flash et de RAM libres pour les paquets WireGuard. Les appareils à très faible flash (4/32 Mo) peuvent manquer de place — vérifiez d'abord le stockage libre de votre appareil.
- Un pair WireGuard où se connecter. En mode client c'est le serveur distant par lequel vous sortez ; en mode serveur ce sont les appareils distants qui se reconnecteront. Un serveur auto-hébergé sur un VPS Contabo fait un pair fiable que vous contrôlez entièrement.
- Les clés et l'endpoint de l'autre côté : en mode client, la clé publique du serveur et son
hôte:portjoignable. Chaque pair a sa propre paire de clés — réutiliser une clé entre appareils casse le handshake.
Si le protocole lui-même est nouveau pour vous, notre explication qu'est-ce que WireGuard couvre la cryptographie et pourquoi il est plus rapide qu'OpenVPN.
Étape 1 — Installer le support WireGuard
WireGuard n'est pas toujours préinstallé, ajoutez donc les paquets. En SSH :
opkg update
opkg install luci-proto-wireguard wireguard-tools
luci-proto-wireguard ajoute le protocole WireGuard à l'interface web LuCI, et wireguard-tools fournit la commande wg pour générer les clés et inspecter les tunnels. Vous pouvez aussi les installer depuis System > Software dans LuCI si vous préférez l'UI. Après installation, rafraîchissez LuCI pour que le nouveau protocole apparaisse.
Étape 2 — Générer les clés
Chaque bout d'un tunnel WireGuard a une paire de clés privée/publique. Sur OpenWrt, générez-en une avec wireguard-tools :
wg genkey | tee privatekey | wg pubkey > publickey
Gardez la clé privée sur ce routeur et ne partagez que la clé publique avec l'autre pair. Si OpenWrt est le client, il vous faut aussi la clé publique du serveur ; si OpenWrt est le serveur, vous collectez la clé publique de chaque client qui se connectera.
Cas A — OpenWrt en client WireGuard (faire sortir tout le LAN)
En mode client, chaque appareil du LAN sort par le pair distant — un tunnel complet pour tout le réseau maison.
- Créez l'interface. Dans LuCI allez dans Network > Interfaces > Add new interface, nommez-la (ex.
wg0) et choisissez WireGuard VPN comme protocole. - Remplissez l'interface. Renseignez la Private Key (la clé de ce routeur) et l'adresse IP que ce routeur prend dans le tunnel (l'adresse assignée par votre serveur, ex.
10.0.0.2/24). - Ajoutez le pair. Sous l'onglet Peers, ajoutez le serveur : sa Public Key, son Endpoint host et son Endpoint port, Allowed IPs =
0.0.0.0/0(et::/0pour l'IPv6) pour un tunnel complet, et Persistent Keepalive =25pour que le chemin survive au NAT. - Zone de pare-feu. Affectez l'interface
wg0à une zone de pare-feu. La config la plus simple qui marche est de la mettre dans la zone wan (ou une zone dédiée autorisée à forwarder depuis lan et avec le masquerading activé), pour que le trafic du LAN soit NAT'é par le tunnel. - DNS. Mettez le DNS du tunnel sur votre serveur ou un résolveur de confiance pour que les requêtes ne fuitent pas vers votre FAI.
Quand ça marche, l'IP publique de chaque appareil du LAN devient celle du serveur.
Cas B — OpenWrt en serveur WireGuard (accès distant à votre réseau maison)
En mode serveur, OpenWrt écoute les connexions entrantes pour que votre téléphone ou portable atteigne le LAN maison de partout.
- Créez l'interface de la même façon (Network > Interfaces, protocole WireGuard VPN), donnez au routeur sa Private Key et une adresse IP côté VPN (ex.
10.0.0.1/24), et fixez un Listen Port (souvent51820). - Ouvrez / forwardez le port UDP. Autorisez le port UDP choisi en entrée dans le pare-feu. Si OpenWrt est derrière un autre modem/routeur, redirigez ce port UDP vers le boîtier OpenWrt ; si votre FAI utilise le CGNAT, l'entrant peut être totalement injoignable — voir le DNS dynamique pour l'auto-hébergement.
- Ajoutez chaque client comme pair. Pour chaque appareil distant, ajoutez un Peer avec sa Public Key et des Allowed IPs réglées sur l'IP de tunnel de ce client (ex.
10.0.0.2/32). Pour que les clients atteignent tout le LAN maison, incluez votre sous-réseau LAN (ex.192.168.1.0/24) dans la config du client et autorisez le forwarding. - Forwarding du pare-feu. Mettez l'interface WireGuard dans une zone autorisée à forwarder vers lan, pour que les clients connectés atteignent les appareils locaux.
Anatomie de la config
OpenWrt stocke ça dans /etc/config/network, mais la forme reprend une config WireGuard standard. La voici avec des marqueurs explicites — ne collez jamais de vraies clés tirées d'un guide ; chaque appareil génère les siennes :
[Interface]
PrivateKey = <cle-privee-de-ce-routeur>
Address = 10.0.0.1/24
ListenPort = 51820
[Peer]
PublicKey = <cle-publique-de-l-autre-pair>
Endpoint = <hote-ou-ip-du-pair>:51820
AllowedIPs = 10.0.0.2/32
PersistentKeepalive = 25
PrivateKey— la clé secrète de ce routeur, gardée localement.Address— l'IP du routeur dans le tunnel.ListenPort— utile uniquement quand OpenWrt est le serveur.PublicKey— la clé publique de l'autre pair (celle du serveur, en mode client).Endpoint— l'hôte:portjoignable du pair (seul le côté client en a besoin pour un tunnel sortant).AllowedIPs— ce qui passe par le tunnel :0.0.0.0/0pour un tunnel complet (client), ou un sous-réseau de tunnel/LAN précis (serveur).PersistentKeepalive = 25— garde le chemin actif derrière un NAT.
Dépannage sur OpenWrt
- Pas de handshake : le plus souvent un souci de pare-feu — l'interface WireGuard n'est pas dans une zone, ou la zone ne peut pas forwarder. Vérifiez l'Endpoint (hôte/port) et que le port UDP du serveur est ouvert ; confirmez que les clés publiques correspondent ; rappelez-vous qu'un serveur maison derrière CGNAT peut être injoignable en entrant. Plus de détails dans notre guide de dépannage du handshake.
- Connecté mais pas d'internet (mode client) : la zone WireGuard a besoin du masquerading, et le forwarding lan → wg doit être autorisé ; sinon le trafic LAN NAT'é n'a pas de sortie.
- MTU : WireGuard est par défaut à 1420 ; sur un WAN PPPoE, 1412 est une valeur qui marche souvent. Si certains sites se figent, baissez le MTU de l'interface par paliers — voir notre guide WireGuard MTU.
- Le DNS ne s'applique pas : réglez le DNS sur l'interface WireGuard (ou poussez-le via votre pare-feu/DHCP) pour que les clients du LAN utilisent le résolveur du tunnel plutôt que celui du FAI.
- Kill-switch : routez tout le LAN uniquement via la zone WireGuard et bloquez lan → wan en direct, pour que le trafic s'arrête si le tunnel tombe au lieu de fuiter par le WAN normal.
Client vs serveur en un coup d'œil
| OpenWrt en client | OpenWrt en serveur | |
|---|---|---|
| But | Faire sortir tout le LAN par un pair distant | Laisser des appareils distants atteindre le LAN maison |
| AllowedIPs | 0.0.0.0/0 (tunnel complet) | IP de tunnel du client + sous-réseau LAN |
| Listen port | Pas requis | Requis (ex. 51820, ouvert en entrée) |
| Pare-feu | zone wg → wan, masquerade, forward lan→wg | zone wg autorisée à forwarder vers lan |
| Endpoint | Pointe vers le serveur distant | Les clients pointent vers le routeur OpenWrt |
En résumé
OpenWrt fait de WireGuard une fonction au niveau du routeur : installez luci-proto-wireguard, créez l'interface dans Network > Interfaces, et choisissez client (VPN pour tout le LAN) ou serveur (accès distant). Presque tous les échecs viennent de la zone de pare-feu ou du routage, pas des clés. Pour le pair de l'autre côté, un VPS Contabo à 5,50 €/mois fait tourner un serveur WireGuard personnel que votre routeur OpenWrt peut appeler, sans clés partagées et avec un contrôle total.
Guide éditorial fondé sur le comportement documenté du support WireGuard d'OpenWrt (luci-proto-wireguard / LuCI). Les menus exacts varient légèrement selon la version d'OpenWrt. Les liens commerciaux portent l'attribut rel="sponsored nofollow" ; une commission d'affiliation peut s'appliquer sans surcoût pour vous.
★ Datacenter Nuremberg GDPR · ✓ IPv4 dédiée incluse · 200+ Mbps garantis
Héberge ton VPN sur ton propre VPS → ContaboAccès root complet · IPv4 publique · choisis ta région→
