La plupart des routeurs grand public cachent leurs options VPN derrière un firmware verrouillé, quand ils en proposent tout court. OpenWrt remplace entièrement ce firmware, et une fois installé, configurer un client VPN qui couvre tout le réseau devient une question de quelques écrans de configuration plutôt qu’un bricolage.

Ce guide couvre la connexion d’un routeur OpenWrt à un fournisseur VPN commercial en tant que client, pour que tous les appareils du réseau domestique, y compris les consoles, les téléviseurs connectés et tout ce qui ne peut pas faire tourner une appli VPN directement, soient couverts automatiquement.

Pourquoi faire ça au routeur plutôt que sur chaque appareil

Une appli VPN sur un seul appareil est plus simple à configurer, mais elle ne protège que cet appareil, et elle ne fait rien pour une PS5, un téléviseur connecté ou un boîtier qui ne peut pas installer de client VPN. Configurer le VPN une seule fois au routeur couvre chaque appareil du réseau sans avoir à toucher chacun individuellement, et ça survit aux réinitialisations d’usine sur vos autres appareils puisque le tunnel vit en amont d’eux.

Le compromis : les VPN au niveau du routeur sont généralement plus difficiles à basculer rapidement entre emplacements de serveur, puisque ça veut dire reconfigurer un réglage à l’échelle du réseau plutôt que d’appuyer sur un bouton dans une appli. La plupart des gens qui font ce choix gardent une appli VPN sur téléphone ou ordinateur pour le changement rapide de serveur, et utilisent la configuration du routeur comme base permanente pour tout le reste.

Ce qu’il faut avant de commencer

Un routeur qui fait tourner OpenWrt, soit livré avec, soit flashé par vos soins. Vérifiez le tableau du matériel OpenWrt avant d’acheter du matériel neuf, puisque le support et le stockage flash disponible varient beaucoup selon les modèles. Un routeur avec au moins 128 Mo de RAM et 16 Mo de stockage flash gère WireGuard sans problème ; les modèles plus anciens ou d’entrée de gamme avec moins de marge peuvent peiner une fois des paquets supplémentaires ajoutés.

Il vous faudra aussi les détails de configuration WireGuard de votre fournisseur VPN : une clé privée, la clé publique du fournisseur, une adresse de point de terminaison et un port, ainsi que les réglages d’IP autorisées et de DNS. La plupart des fournisseurs qui prennent en charge WireGuard génèrent ça sous forme de fichier .conf téléchargeable ou l’exposent via les réglages de leur appli, puisque le même format de configuration fonctionne sur OpenWrt, d’autres systèmes Linux et les applis officielles WireGuard.

Étape 1 : installer les paquets WireGuard

Connectez-vous à l’interface web LuCI de votre routeur (généralement à 192.168.1.1 dans un navigateur), ou connectez-vous en SSH si vous préférez la ligne de commande. Mettez à jour la liste des paquets et installez ceux nécessaires :

opkg update
opkg install wireguard-tools luci-app-wireguard kmod-wireguard

Redémarrez le routeur une fois l’installation terminée. LuCI devrait maintenant afficher une option WireGuard sous Network > Interfaces.

Étape 2 : créer l’interface WireGuard

Dans LuCI, allez dans Network > Interfaces > Add new interface. Donnez-lui un nom clair, vpn0 fonctionne bien, et réglez le protocole sur WireGuard VPN.

Sur l’onglet General Settings de l’interface, collez votre clé privée (générée par votre fournisseur VPN ou par vous, selon leur processus de configuration), et réglez l’adresse IPv4 assignée par votre fournisseur, typiquement quelque chose comme 10.x.x.x/32.

Étape 3 : ajouter le pair (le serveur de votre fournisseur VPN)

Passez à l’onglet Peers de la même interface et cliquez sur Add Peer. C’est là que vont les détails de votre fournisseur :

  • Clé publique : la clé publique du serveur de votre fournisseur
  • Endpoint host : l’adresse ou le nom d’hôte du serveur
  • Endpoint port : généralement 51820, bien que certains fournisseurs utilisent un autre port
  • Allowed IPs : 0.0.0.0/0, ::/0 pour router tout le trafic par le tunnel
  • Route allowed IPs : activé
  • Persistent keepalive : 25 secondes, ce qui garde le tunnel actif à travers le NAT des deux côtés

Enregistrez et appliquez.

Étape 4 : régler la zone du pare-feu

Les interfaces WireGuard ont besoin d’une zone de pare-feu assignée sinon le trafic ne route pas correctement. Allez dans Network > Firewall > Zone, et soit ajoutez la nouvelle interface vpn0 à votre zone LAN existante (le plus simple, mais ça veut dire que les appareils voient le routeur comme leur passerelle par défaut sans séparation), soit créez une zone VPN dédiée avec des règles de redirection vers LAN, ce qui donne plus de contrôle sur quel trafic utilise le tunnel.

Pour la plupart des configurations domestiques, ajouter vpn0 aux interfaces couvertes par la zone LAN et régler la zone WAN pour rediriger depuis la zone VPN (plutôt que le WAN brut) suffit à router tout le trafic sortant par le tunnel.

Étape 5 : router le trafic par le VPN, pas par internet brut

L’étape la plus souvent ratée : sans ajuster les métriques de routage, une partie du trafic peut fuir par la connexion WAN normale même une fois le tunnel actif. Sous Network > Interfaces, modifiez votre interface VPN et vérifiez qu’un routage type “passerelle par défaut” est appliqué, soit via les réglages de l’interface directement, soit via une règle de routage par politique si vous utilisez le paquet mwan3 d’OpenWrt pour un contrôle plus fin.

Si vous voulez router uniquement certains appareils par le VPN plutôt que tout le réseau (une configuration courante pour un routeur qui doit aussi laisser certains appareils contourner le tunnel pour des services locaux ou des besoins de streaming précis), mwan3 ou un simple jeu de règles de marquage pare-feu basées sur l’IP source est l’approche standard. C’est une configuration plus avancée que ce guide ne couvre en détail, mais la documentation OpenWrt sur le routage par politique explique la marche à suivre.

Envie de comparer tous les VPN côte à côte ? Consultez notre tableau comparatif complet avec les scores sur 18 critères.

Étape 6 : vérifier que le tunnel fonctionne vraiment

Ne sautez pas cette étape. Depuis un appareil connecté au routeur, lancez un test de fuite d’IP et vérifiez que l’adresse affichée appartient à votre fournisseur VPN, pas à votre FAI. Vérifiez le statut de l’interface WireGuard dans LuCI (Status > WireGuard affiche les heures de handshake et les données transférées) pour confirmer que le tunnel fait bien passer du trafic plutôt que de rester inactif.

Un tunnel qui s’affiche comme “actif” dans la liste des interfaces mais sans handshake récent indique généralement un problème de pare-feu ou de routage venant de l’étape 4 ou 5, pas un souci avec les clés WireGuard elles-mêmes.

Dépanner les pannes les plus courantes

SymptômeCause probableSolution
L’interface apparaît mais pas de handshakePort endpoint bloqué, ou mauvaise clé publiqueRevérifiez les réglages du pair, confirmez que le port n’est pas bloqué par votre FAI
Handshake réussi, mais pas d’internetZone de pare-feu qui ne redirige pas correctementRevoyez l’étape 4, vérifiez les règles de redirection de zone
Marche sur certains appareils, pas d’autresBail DHCP périmé ou DNS en cacheReconnectez l’appareil, videz le DNS
Vitesses très en dessous de votre connexion normaleLe CPU du routeur ne suit pas le chiffrementVérifiez le plafond de débit WireGuard de votre modèle sur le wiki matériel OpenWrt
Coupures aléatoires de connexionPersistent keepalive non réglé, ou serveur du fournisseur qui change d’IPVérifiez que le keepalive est réglé sur 25 secondes

Choisir un fournisseur qui gère bien ça

Tous les fournisseurs VPN ne facilitent pas la génération manuelle de fichiers de configuration WireGuard, certains poussant les utilisateurs vers leur propre appli à la place. NordVPN et Proton VPN proposent tous deux la génération manuelle de configuration WireGuard depuis leur tableau de bord, ce que ce guide suppose. Les fournisseurs sans cette option nécessitent typiquement un contournement via leurs outils en ligne de commande Linux plutôt qu’un fichier .conf propre, une configuration plus lourde que ce que la plupart des utilisateurs OpenWrt veulent gérer.

En résumé

Configurer un client VPN sur OpenWrt prend environ 30 à 45 minutes pour quelqu'un à l'aise avec le firmware de routeur, et couvre tout le réseau de façon permanente une fois fait. C'est plus adapté à un foyer qui veut une seule connexion VPN protégeant chaque appareil, consoles et téléviseurs connectés compris, qu'à quelqu'un qui a besoin de changer fréquemment d'emplacement de serveur VPN. Choisissez un fournisseur avec des exports de configuration WireGuard simples, vérifiez soigneusement le routage de la zone de pare-feu, et testez avec une vérification de fuite d'IP avant de faire confiance à la configuration.

Si vous préférez faire tourner un serveur VPN personnel plutôt que de vous connecter à un fournisseur commercial, notre guide de serveur WireGuard sur Raspberry Pi couvre ce projet alternatif, et notre guide général VPN sur routeur couvre le processus pour les routeurs qui ne font pas tourner OpenWrt.

À lire aussi : VPN sur Raspberry Pi : construisez votre routeur VPN pour le prix d’une pizza et WireGuard vs OpenVPN : quel protocole choisir ?.