Comment configurer WireGuard sur Ubuntu 24.04 LTS et Linux Mint : guide étape par étape
Guide complet et détaillé pour configurer WireGuard sur Ubuntu 24.04 LTS et Linux Mint via NetworkManager (interface graphique) et CLI. En 60 à 90 minutes, obtenez un VPN stable avec démarrage automatique, DNS et routes correctes, plus des conseils pour résoudre les erreurs et optimiser la configuration.
Contenu de l'article
- Introduction
- Préparatifs
- Concepts de base
- Étape 1 : installation et vérification de l’environnement
- Étape 2 : préparation de la configuration et des clés
- Étape 3 : configuration via networkmanager sur ubuntu 24.04 (gnome)
- Étape 4 : configuration via networkmanager sur linux mint (cinnamon)
- Étape 5 : configuration via cli (nmcli) : import ou création manuelle
- Étape 6 : dns, routes et choix entre tunnel complet et partiel
- Étape 7 : démarrage automatique, killswitch et fiabilité
- Étape 8 : démarrage rapide par import de config prête et alternative pratique
- Validation finale
- Erreurs fréquentes et solutions
- Fonctionnalités avancées
- Faq
- Conclusion
Introduction
Dans ce guide étape par étape, vous apprendrez à configurer WireGuard sur Ubuntu 24.04 LTS et Linux Mint en partant de zéro, en utilisant deux méthodes : via l'interface graphique NetworkManager et en ligne de commande (CLI). Nous verrons comment importer rapidement un fichier de configuration prêt à l’emploi, créer un profil manuellement, activer le lancement automatique, configurer DNS et routes (tunnel plein ou split-tunnel), ainsi que diagnostiquer et corriger les problèmes usuels. À la fin, vous disposerez d’une connexion VPN fiable que vous pourrez activer d’un simple clic et qui se lancera automatiquement au démarrage du système.
Ce guide est conçu pour les utilisateurs Linux débutants cherchant une procédure claire sans théorie superflue, mais avec des explications précises. Des sections avancées vous présenteront également des astuces comme la configuration d’un « killswitch », l’ajustement fin du MTU, la gestion de plusieurs peers, et des scripts basés sur nmcli.
Que devez-vous savoir avant ? Rien de compliqué : des notions basiques sur l’utilisation du système, savoir saisir des commandes dans un terminal et localiser les paramètres réseau dans les réglages. Le reste est expliqué pas à pas. Comptez entre 60 et 90 minutes pour compléter tout le processus, tests et corrections inclus.
Le résultat attendu : une connexion WireGuard fonctionnelle, pilotée via NetworkManager (bouton On/Off dans la zone système ou dans les Paramètres), des routes fiables, un DNS sans fuite, un démarrage automatique au lancement du système, et un plan clair pour gérer d’éventuelles erreurs.
Préparatifs
Avant de commencer, assurez-vous que tout le nécessaire est prêt. Nous avons rassemblé les prérequis minimums et expliqué leur utilité.
Outils et accès requis
- Accès à un système Ubuntu 24.04 LTS (Desktop) ou Linux Mint (version basée sur Ubuntu 24.04). Un PC physique ou une machine virtuelle convient.
- Privilèges administrateur (sudo) pour installer des paquets et modifier les paramètres réseau.
- Informations pour se connecter au serveur VPN WireGuard : soit un fichier de configuration .conf prêt, soit un ensemble de paramètres — clé publique du serveur, adresse et port du serveur, clé privée cliente, réseaux autorisés (AllowedIPs), adresse de l’interface (Address) et éventuellement un DNS.
Exigences système
- Noyau Linux 5.6+ (déjà intégré dans Ubuntu 24.04 et les versions récentes de Linux Mint basées dessus).
- NetworkManager version 1.40+ avec support natif de WireGuard (inclus dans les distributions standard desktop Ubuntu 24.04 et Linux Mint).
- Paquets wireguard-tools (pour générer clés et diagnostics) et nmcli (inclus dans NetworkManager) pour la CLI.
Avant de démarrer, installez
- Ouvrez un terminal.
- Actualisez la liste des paquets : sudo apt update
- Installez les outils : sudo apt install -y network-manager wireguard wireguard-tools
- Vérifiez la version de NetworkManager : nmcli -v. Assurez-vous d’avoir 1.40 ou plus récent. Sinon, mettez à jour : sudo apt upgrade -y puis redémarrez : sudo reboot.
- Vérifiez que NetworkManager est actif : systemctl status NetworkManager. Le statut doit être active (running).
Sauvegarde
Avant de modifier des profils VPN ou configurations réseau, pensez à faire des sauvegardes :
- Exportez vos profils NetworkManager : nmcli connection export "nom-de-connexion" ~/backup-nom-de-connexion.nmconnection
- Sauvegardez les configurations WireGuard si présentes : copiez les fichiers depuis /etc/wireguard ou ~/.config/wireguard vers un emplacement sécurisé, par exemple : cp -a /etc/wireguard ~/wg-backup
⚠️ Attention : Pendant la configuration, fermez ou suspendz les tâches réseau critiques (sessions distantes, téléchargements actifs) pour éviter toute interruption due à un changement brusque de route.
Concepts de base
Avant la configuration, clarifions quelques termes simples pour mieux comprendre les paramètres à contrôler lors du diagnostic.
- Interface WireGuard — une interface réseau virtuelle dans votre système (en général wg0, mais vous pouvez choisir un autre nom). Le trafic chiffré passe par elle.
- Clés — WireGuard utilise une clé privée côté client et une clé publique côté serveur (et inversement). Le peer reconnaît la clé publique, la privée reste secrète chez vous.
- Peer (pair) — côté distant du tunnel. Pour un client, le peer est habituellement le serveur.
- AllowedIPs — liste des réseaux devant transiter via le tunnel. Avec 0.0.0.0/0, ::/0, tout le trafic passe via le VPN (tunnel complet). Avec des sous-réseaux précis, vous obtenez un split-tunnel.
- Endpoint — adresse IP et port du serveur WireGuard distant.
- DNS — serveurs de noms que le système utilisera derrière le VPN. En tunnel complet, on indique souvent le DNS du fournisseur VPN pour éviter les fuites.
- MTU — taille maximale des paquets. Parfois il faut réduire ce paramètre (ex. à 1420 ou 1280) pour éviter fragmentation et instabilité.
- PersistentKeepalive — intervalle d’envoi de paquets vides pour maintenir la connexion active derrière un NAT, souvent 25 secondes.
Astuce : En cas de doute, commencez par importer un fichier de configuration prêt à l’emploi. Vous pourrez tester vite fait le fonctionnement et ensuite comprendre chaque champ pour une configuration manuelle.
Étape 1 : Installation et vérification de l’environnement
Objectif
Vérifier que les paquets nécessaires sont installés, que NetworkManager supporte WireGuard, et que les services réseau de base fonctionnent correctement.
Instructions détaillées
- Ouvrez un terminal avec Ctrl+Alt+T.
- Actualisez la liste des paquets : sudo apt update
- Installez les paquets essentiels : sudo apt install -y network-manager wireguard wireguard-tools
- Contrôlez la version de NM : nmcli -v. Elle doit afficher environ nmcli tool, version 1.44.x ou plus.
- Vérifiez que le service NetworkManager est actif : systemctl is-active NetworkManager. Le résultat attendu est active.
- Testez la présence de wg : wg --version. Vous devez voir la version de wireguard-tools.
- Repérez le nom de la connexion réseau active : nmcli connection show --active. Notez le nom qui donne accès à Internet (exemple : "Wired connection 1" ou "Wi-Fi maison").
⚠️ Attention : Désactivez tout autre gestionnaire de réseau concurrent pour éviter conflits et erreurs de routage.
Astuce : Après une mise à jour majeure du noyau ou de NetworkManager, redémarrez la machine : sudo reboot, pour garantir un état stable.
Résultat attendu
Les paquets sont installés, nmcli et wg fonctionnent, NetworkManager est actif. Vous êtes prêt pour la configuration WireGuard.
✅ Vérification : nmcli general status doit montrer que l’état (STATE) est connecté ; la commande wg ne doit pas retourner d’erreur.
Problèmes possibles et solutions
- Problème : nmcli introuvable. Cause : NetworkManager pas installé. Solution : sudo apt install -y network-manager.
- Problème : wg introuvable. Cause : wireguard-tools manquant. Solution : sudo apt install -y wireguard-tools.
- Problème : NetworkManager ne démarre pas. Cause : conflit avec un autre démon réseau. Solution : désactivez ou désinstallez les autres gestionnaires ; assurez-vous d’utiliser une configuration Desktop standard.
Étape 2 : Préparation de la configuration et des clés
Objectif
Obtenir un fichier .conf prêt à importer ou générer vos clés et config manuellement. À la fin, vous aurez toutes les données pour saisir dans l’interface graphique ou en CLI.
Option A : fichier de config prêt
- Copiez le fichier WireGuard (ex. wg0.conf) dans votre dossier personnel. Pour plus d’ordre, préférez ~/.config/wireguard.
- Protégez les droits : chmod 600 ~/.config/wireguard/wg0.conf car ce fichier contient la clé privée.
- Vérifiez le contenu : cat ~/.config/wireguard/wg0.conf. Le fichier doit contenir les sections [Interface] et [Peer].
Option B : générer clés et config manuellement
- Créez un dossier de travail : mkdir -p ~/.config/wireguard && cd ~/.config/wireguard
- Fixez une umask stricte pour sécuriser les fichiers : umask 077
- Générez clé privée et clé publique : wg genkey | tee client_private.key | wg pubkey > client_public.key
- Conservez-les précieusement, surtout la clé privée. Envoyez la clé publique au serveur pour l’ajouter comme client.
- Préparez les paramètres suivants : adresse locale (ex. 10.14.0.2/32), adresse et port serveur (ex. 203.0.113.10:51820), clé publique serveur, AllowedIPs (0.0.0.0/0, ::/0 pour tunnel complet, ou sous-réseaux spécifiques pour split tunnel), DNS (ex. 10.14.0.1).
- Créez le fichier de config : nano wg0.conf, puis saisissez :
[Interface] Address = 10.14.0.2/32, fd42:42:42::2/128 PrivateKey = INSÉREZ_VOTRE_CLÉ_PRIVÉE DNS = 10.14.0.1 [Peer] PublicKey = INSÉREZ_CLÉ_PUBLIQUE_SERVEUR AllowedIPs = 0.0.0.0/0, ::/0 Endpoint = 203.0.113.10:51820 PersistentKeepalive = 25
- Sauvegardez et fermez l’éditeur. Protégez le fichier : chmod 600 wg0.conf.
Astuce : Si vous gérez le serveur, ajoutez la clé publique client dans sa config et attribuez-lui une adresse libre dans le subnet. Sinon, le serveur n’autorisera pas la connexion.
Résultat attendu
Un fichier wg0.conf prêt à être importé ou un ensemble de clés et paramètres à saisir manuellement dans NetworkManager ou nmcli.
✅ Vérification : Le fichier wg0.conf s’ouvre bien, contient les sections correctes, la clé privée ressemble à une longue chaîne base64, et ls -l montre des permissions -rw-------.
Problèmes possibles et solutions
- Problème : pas de clé publique serveur. Cause : données non reçues. Solution : demandez PublicKey et Endpoint à l’administrateur.
- Problème : vous ignorez votre adresse d’interface. Cause : pas de plan d’adressage. Solution : empruntez l’adresse dans un fichier config existant ou consultez l’admin.
- Problème : sous-réseaux client et serveur incompatibles. Cause : conflit d’adresses. Solution : vérifiez Address et subnets de chaque côté.
Étape 3 : Configuration via NetworkManager sur Ubuntu 24.04 (GNOME)
Objectif
Créer et activer une connexion VPN WireGuard via l’interface graphique d’Ubuntu 24.04 pour gérer facilement le VPN avec un bouton unique.
Instructions pas à pas (import fichier prêt)
- Ouvrez « Paramètres » (icône roue dentée dans le dock ou меню système).
- Allez dans la section « Réseau ».
- Trouvez la zone « VPN » et cliquez sur « + » (Ajouter un VPN).
- Sélectionnez « Importer depuis un fichier… ».
- Indiquez le chemin vers votre fichier wg0.conf puis cliquez sur « Ouvrir ».
- Une fenêtre s’ouvre avec les paramètres. Vérifiez le nom (ex. « WireGuard wg0 »), adresses, clés, AllowedIPs et Endpoint. Modifiez si besoin.
- Cliquez sur « Enregistrer ».
- Le profil apparaît dans la liste VPN. Activez-le via le bouton à droite du nom.
Instructions pas à pas (configuration manuelle sans fichier)
- Ouvrez « Paramètres » → « Réseau » → « VPN » → « + ».
- Choisissez « WireGuard » (création manuelle, pas import).
- Dans « Nom de connexion », saisissez un nom clair, par exemple « WG Maison ».
- Pour « Nom de l’interface », mettez wg0 ou laissez la proposition automatique.
- Collez la clé privée client dans « Clé privée ». Si vous n’en avez pas, générez-en une (disponible dans certaines versions de GNOME), puis exportez la clé publique à transmettre au serveur au besoin.
- Indiquez les « Adresses » (ex. 10.14.0.2/32, et si IPv6, fd42:42:42::2/128). Utilisez une notation avec masque.
- Dans « DNS », ajoutez le serveur DNS interne au tunnel (ex. 10.14.0.1) pour éviter les fuites.
- Dans la section « Peers », cliquez sur « Ajouter un peer ». Entrez la clé publique serveur, Endpoint (ex. 203.0.113.10:51820), AllowedIPs. Pour tunnel complet : 0.0.0.0/0, ::/0. Pour split-tunnel : listez juste les sous-réseaux utiles. Mettez PersistentKeepalive à 25 si vous êtes derrière NAT.
- Cliquez sur « Enregistrer ».
- Activez votre connexion VPN via le bouton dans « VPN » ou depuis le menu réseau dans la barre système.
Astuce : Si vous perdez l’accès au réseau local après activation (ex. vers le routeur), vérifiez que vous n’avez pas configuré un tunnel complet (0.0.0.0/0). Pour conserver l’accès local, utilisez split-tunnel en ajoutant vos sous-réseaux locaux dans les exceptions.
⚠️ Attention : Ne lancez pas simultanément wg-quick et NetworkManager pour la même interface (ex. wg0). Cela crée des conflits de gestion et des routes imprévisibles.
Résultat attendu
Dans « Réseau » → « VPN », le profil WireGuard se voit. Le bouton On/Off active ou désactive le tunnel sécurisé.
✅ Vérification : Après activation, lancez wg show dans un terminal. Vous devez voir votre interface (wg0), le peer serveur avec sa clé publique, et la statistique du trafic. nmcli connection show --active affiche votre VPN actif.
Problèmes possibles et solutions
- Problème : l’option WireGuard manque dans l’assistant VPN. Cause : NetworkManager ou environnement obsolète. Solution : mettez à jour le système, assurez-vous d’utiliser un Desktop avec support NM et relancez « Paramètres ».
- Problème : connexion « active » mais pas de trafic. Cause : AllowedIPs ou DNS mal configurés. Solution : vérifiez routes (tunnel complet vs split), ajoutez un DNS correct.
- Problème : déconnexions fréquentes. Cause : problème NAT ou filtrage. Solution : mettez PersistentKeepalive à 25.
Étape 4 : Configuration via NetworkManager sur Linux Mint (Cinnamon)
Objectif
Créer et activer un profil WireGuard sous Linux Mint en utilisant les outils standards accessibles depuis le panneau de configuration Cinnamon et le réseau NM.
Instructions (via « Connexions réseau »)
- Ouvrez le menu « Démarrer » de Linux Mint.
- Rendez-vous dans « Paramètres » → « Réseau » ou lancez « Connexions réseau » (nm-connection-editor). Vous pouvez aussi cliquer sur l’icône réseau dans la barre système → « Paramètres réseau » → « VPN ».
- Dans la fenêtre, cliquez sur « + » (Ajouter) en bas.
- Choisissez « WireGuard » dans la liste des types (ou « Importer depuis un fichier… » si vous avez un fichier wg0.conf).
- Si vous importez : sélectionnez le fichier, vérifiez les champs et sauvegardez.
- Si vous configurez manuellement : donnez un nom (ex. « WG Mint »), nom d’interface (wg0), collez la clé privée, saisissez « Adresses », « DNS » (ex. 10.14.0.1), puis ajoutez un peer avec clé publique serveur, Endpoint, AllowedIPs, PersistentKeepalive.
- Cliquez sur « Enregistrer » puis fermez.
- Activez la connexion via l’icône réseau dans la barre : sélectionnez votre profil WireGuard et lancez-le.
Astuce : En cas de doute sur votre saisie de clé privée, copiez-la d’abord dans un éditeur de texte, vérifiez sa longueur et l’absence d’erreurs, puis collez dans le champ dédié.
Résultat attendu
Le profil WireGuard apparait dans la liste des connexions réseau, activable depuis la barre système ou le gestionnaire de connexions.
✅ Vérification : Lancez ip addr show wg0, l’interface wg0 doit afficher votre adresse (ex. 10.14.0.2/32). wg show affiche le peer et les statistiques au premier ping.
Problèmes possibles et solutions
- Problème : type WireGuard absent. Cause : version ancienne de nm-connection-editor ou pas de support WireGuard. Solution : mettez à jour et installez wireguard-tools ; relancez « Connexions réseau ».
- Problème : connexion introuvable dans la barre réseau. Cause : profil non enregistré ou NM désactivé. Solution : redémarrez NM : sudo systemctl restart NetworkManager puis réactivez la connexion.
Étape 5 : Configuration via CLI (nmcli) : import ou création manuelle
Objectif
Apprendre à faire la même chose sans interface graphique : importer un fichier prêt ou créer un profil à la main avec nmcli. Pratique pour automatiser ou sur serveur, mais aussi utilisable sur desktop.
Importer un .conf prêt
- Assurez-vous que le fichier ~/.config/wireguard/wg0.conf existe avec des droits corrects (chmod 600).
- Importez-le : nmcli connection import type wireguard file ~/.config/wireguard/wg0.conf
- Confirmez que le profil est créé : nmcli connection show | grep wireguard ou grep par nom.
- Activez-le : nmcli connection up "wg0" ou selon le nom exact attribué.
Créer un profil manuellement
- Créez un nouveau profil : nmcli connection add type wireguard con-name wg-home ifname wg0 ipv4.method manual ipv6.method ignore
- Définissez l’adresse IPv4 : nmcli connection modify wg-home ipv4.addresses 10.14.0.2/32. Pour IPv6 : nmcli connection modify wg-home ipv6.method manual ipv6.addresses fd42:42:42::2/128
- Ajoutez la clé privée : nmcli connection modify wg-home wireguard.private-key "VOTRE_CLÉ_PRIVÉE"
- Optionnel : MTU à 1420 : nmcli connection modify wg-home 802-3-ethernet.mtu 1420 ou wireguard.mtu selon version NM
- DNS pour tunnel complet : nmcli connection modify wg-home ipv4.dns 10.14.0.1 ipv4.ignore-auto-dns yes
- Ajoutez le peer : nmcli connection modify wg-home +wireguard-peer.public-key "CLÉ_PUBLIQUE_SERVEUR" +wireguard-peer.endpoint "203.0.113.10:51820" +wireguard-peer.allowed-ips "0.0.0.0/0,::/0" wireguard-peer.persistent-keepalive 25
- Activez la connexion : nmcli connection up wg-home
Split-tunnel avec nmcli
- Modifiez AllowedIPs : nmcli connection modify wg-home wireguard-peer.allowed-ips "10.14.0.0/24,192.168.50.0/24"
- Empêchez que le VPN soit la route par défaut : nmcli connection modify wg-home ipv4.never-default yes
- Pour utiliser DNS local, ne configurez pas ipv4.dns ou ajoutez un split-DNS ciblé via NM et systemd-resolved. Dans les cas simples, ne changez pas le DNS.
- Appliquez : nmcli connection down wg-home && nmcli connection up wg-home
Astuce : Pour voir tous les paramètres et vérifier, utilisez : nmcli connection show wg-home. Pour connaître l’état de l’interface, faites : nmcli device show wg0.
Résultat attendu
Le profil WireGuard est importé ou créé manuellement, il s’active avec nmcli connection up et est visible parmi les connexions actives.
✅ Vérification : Lancez wg show et ip route. En tunnel complet, la route par défaut passe par wg0. En split-tunnel seules les routes spécifiées sont présentes. nmcli connection show --active montre le profil actif.
Problèmes possibles et solutions
- Problème : erreur lors de la modification du peer par nmcli. Cause : faute de frappe dans la clé. Solution : vérifiez wireguard-peer.* et utilisez le signe plus pour ajouter un peer.
- Problème : connexion active mais pas de trafic. Cause : routes ou DNS absents. Solution : activez AllowedIPs 0.0.0.0/0, ::/0 et configurez le DNS tunnel.
- Problème : impossible d’activer. Cause : interface occupée par wg-quick. Solution : désactivez wg-quick (sudo wg-quick down wg0) et utilisez uniquement NM.
Étape 6 : DNS, routes et choix entre tunnel complet et partiel
Objectif
Veiller à ce que le trafic passe correctement (via VPN uniquement quand nécessaire) et éviter les fuites DNS hors tunnel.
Configuration pas à pas en interface graphique
- Ouvrez le profil WireGuard dans « Paramètres » → « Réseau » → « VPN » (Ubuntu) ou dans « Connexions réseau » (Mint).
- Pour un tunnel complet, assurez-vous que le peer contienne 0.0.0.0/0, ::/0 dans AllowedIPs. Ajoutez le DNS du tunnel dans le champ DNS (ex. 10.14.0.1).
- Pour un split-tunnel, listez uniquement les sous-réseaux nécessaires dans AllowedIPs (ex. 10.14.0.0/24). Activez l’option « Ne pas utiliser par défaut » pour IPv4 (équivalent à ipv4.never-default yes) dans les paramètres avancés, si disponible.
- Enregistrez et réactivez la connexion.
Configuration CLI
- Tunnel complet : nmcli connection modify wg-home wireguard-peer.allowed-ips "0.0.0.0/0,::/0" ipv4.dns 10.14.0.1 ipv4.ignore-auto-dns yes
- Split-tunnel : nmcli connection modify wg-home wireguard-peer.allowed-ips "10.14.0.0/24" ipv4.never-default yes
- Appliquez : nmcli connection down wg-home && nmcli connection up wg-home
Astuce : Si les sites sont lents ou instables, réduisez le MTU à 1420 ou 1280. En GUI, ce réglage se trouve dans les options avancées de l’interface. En CLI : nmcli connection modify wg-home 802-3-ethernet.mtu 1420 puis réactivez.
Résultat attendu
Les routes correspondent au mode choisi : tunnel complet ou split-tunnel. Les requêtes DNS se font sans fuite et de manière fiable.
✅ Vérification : ip route doit montrer la route par défaut passant par wg0 en tunnel complet. resolvectl status doit afficher les DNS du tunnel. Un ping vers une IP du VPN (ex. 10.14.0.1) doit répondre.
Problèmes possibles et solutions
- Problème : résolution DNS instable. Cause : conflit DNS entre interfaces. Solution : activez ipv4.ignore-auto-dns yes et précisez un DNS explicite.
- Problème : certaines ressources inaccessibles en tunnel complet. Cause : règles firewall bloquant le trafic. Solution : désactivez temporairement le firewall tierce ou autorisez le trafic via wg0 et vers l’Endpoint.
Étape 7 : Démarrage automatique, killswitch et fiabilité
Objectif
Assurer que le VPN démarre tout seul au démarrage, et qu’aucun trafic ne sorte en clair si le tunnel tombe.
Démarrage automatique via NetworkManager
- Ouvrez le profil WireGuard dans l’interface graphique.
- Activez l’option « Se connecter automatiquement au démarrage » (parfois appelée « Autoconnect »).
- En CLI : nmcli connection modify wg-home connection.autoconnect yes
Killswitch simple avec UFW
- Activez UFW si besoin : sudo ufw enable
- Définissez la politique sortante par défaut à deny : sudo ufw default deny outgoing
- Autorisez le trafic vers le serveur WireGuard (ex. 203.0.113.10 port 51820 UDP) : sudo ufw allow out to 203.0.113.10 port 51820 proto udp
- Autorisez le trafic sortant par l’interface wg0 : sudo ufw allow out on wg0
- Ajoutez les réseaux locaux accessibles sans VPN si split-tunnel : sudo ufw allow out to 192.168.0.0/16
- Vérifiez le status : sudo ufw status verbose
⚠️ Attention : Une mauvaise configuration du firewall peut couper l’accès internet, y compris SSH distant. Testez toujours les règles dans une session séparée et soyez prêts à revenir en arrière.
Fiabilité et robustesse
- Fixez PersistentKeepalive à 25 secondes si le client est derrière un NAT.
- Réduisez le MTU si vous observez des pertes ou fragmentation.
- Activez l’autoreconnection : NetworkManager tente de restaurer le profil en cas de coupure. Vous pouvez renforcer cela via systemd ou nm-dispatcher avec des scripts personnalisés.
Astuce : Pour les usages à distance, gardez une copie du profil et des clés sur un support externe ou dans un gestionnaire sécurisé. En cas d’urgence, cela vous fera gagner du temps.
Résultat attendu
Le VPN démarre automatiquement, et en cas de coupure, aucun trafic ne passe hors du tunnel si le killswitch est activé.
✅ Vérification : Redémarrez la machine, vérifiez avec nmcli connection show --active que le VPN est bien connecté. Désactivez-le et vérifiez qu’en l’absence de VPN le trafic sortant est bloqué si killswitch est actif.
Problèmes possibles et solutions
- Problème : UFW bloque tout. Cause : règles trop strictes. Solution : temporairement sudo ufw default allow outgoing puis redémarrez NM.
- Problème : démarrage auto ne fonctionne pas. Cause : conflit de profil ou timing réseau. Solution : activez « Attendre le réseau » dans les services, ajoutez un délai via systemd ou scripts nm-dispatcher.
Étape 8 : Démarrage rapide par import de config prête et alternative pratique
Objectif
Montrer la méthode la plus rapide : importer un fichier prêt et commencer immédiatement. Indiquer aussi où trouver légalement de tels fichiers facilement.
Instructions
- Récupérez le fichier de configuration WireGuard auprès de votre administrateur ou fournisseur VPN personnel.
- Ouvrez « Paramètres » → « Réseau » → « VPN » → « + » → « Importer depuis un fichier… » (Ubuntu) ou « Connexions réseau » → « + » → « Importer depuis un fichier… » (Linux Mint).
- Sélectionnez le fichier .conf et cliquez sur « Ouvrir ».
- Vérifiez que les champs sont bien remplis : clé privée, adresses, DNS, peer avec clé publique serveur, AllowedIPs, Endpoint.
- Enregistrez le profil et activez le VPN.
Astuce : Si vous importez plusieurs profils (ex. « Maison », « Travail », « Voyage »), nommez-les clairement et cochez « Afficher dans le menu » pour changer rapidement entre eux.
Recommandation expert pour un service prêt à l’emploi
Si vous voulez un résultat rapide et fiable sans gérer un serveur, essayez vpn.how. Ce service propose un VPN personnel avec IP dédiée non partagée. Il supporte WireGuard, OpenVPN, IKEv2, L2TP, SSTP — choisissez le protocole adapté. Les serveurs sont situés à Moscou, Saint-Pétersbourg, Amsterdam, Francfort, Londres, New York, San Jose, Chicago, Singapour, Sydney, Madrid, Helsinki, Stockholm, Varsovie, Copenhague et Stavanger. Le paiement est simple : cartes russes (Tinkoff, Ozon), SBP, USDT/BTC. Tarifs à partir de 490 ₽ par jour et 2490 ₽ par mois, avec remises pour longues durées. Le serveur s’active automatiquement sous 5 minutes après paiement, sans logs. Dans votre compte vous téléchargez des configs prêts à importer pour WireGuard, OpenVPN, IKEv2 — ce qui vous fait gagner 80-90 % du temps de configuration.
Résultat attendu
Quelques minutes après import, vous utilisez un VPN fonctionnel avec routes et DNS corrects.
✅ Vérification : Activez le profil et vérifiez via wg show que vous avez une poignée de main récente (latest handshake non vide) et via ip route que la route correspond à votre configuration (complet ou split).
Problèmes possibles et solutions
- Problème : erreur à l’import. Cause : format fichier erroné. Solution : vérifiez qu’il s’agit bien d’un fichier WireGuard (wg-quick), corrigez les sections si besoin.
- Problème : conflit de nom d’interface. Cause : wg0 déjà pris. Solution : renommez l’interface dans le fichier config (ex. wg1) puis importez à nouveau.
Validation finale
Checklist
- Le profil WireGuard apparaît dans NetworkManager et peut s’activer/désactiver par un seul bouton.
- La commande wg show affiche l’interface, clés et statistiques trafic.
- Les routes correspondent au scénario choisi (ip route montre la route via wg0 pour tunnel complet ou les réseaux précis pour split).
- Le DNS est configuré correctement (resolvectl status affiche le DNS du tunnel en mode complet).
- Le démarrage automatique fonctionne (après reboot, le profil est actif si autoconnect est activé).
Comment tester
- Testez la connectivité locale : ping -c 3 10.14.0.1 (ou autre IP attribuée pour contrôle).
- Vérifiez la route vers l’extérieur : ip route get 1.1.1.1, le trafic doit passer par wg0 en tunnel complet.
- Faites quelques requêtes DNS et vérifiez le serveur utilisé : resolvectl status doit afficher le DNS du tunnel.
- Regardez le latest handshake dans wg show. Un timestamp récent (secondes/minutes) indique un tunnel actif.
Critères de succès
- Ping stable vers les adresses VPN sans pertes.
- Poignée de main rapide et compteurs de trafic qui montent dans wg show.
- Aucune fuite DNS dans le scénario tunnel complet.
Erreurs fréquentes et solutions
- Problème : VPN « connecté » mais pas de trafic. Cause : AllowedIPs incorrects ou route par défaut absente. Solution : en tunnel complet, mettez 0.0.0.0/0, ::/0 ; en split, assurez-vous d’avoir les sous-réseaux corrects. Redémarrez la connexion.
- Problème : sites lents ou inacessibles. Cause : MTU trop élevé, fragmentations. Solution : réduisez MTU à 1420 ou 1280 et testez à nouveau.
- Problème : fuite DNS. Cause : système continue à utiliser l’ancien DNS. Solution : configurez DNS tunnel et activez ipv4.ignore-auto-dns yes, puis réactivez la connexion.
- Problème : coupures intermittentes. Cause : filtrage NAT sur le routeur. Solution : mettez PersistentKeepalive=25, ouvrez les ports nécessaires si possible, ou assurez une connexion stable.
- Problème : interface wg0 déjà existante. Cause : wg-quick lancé en parallèle. Solution : arrêtez wg-quick avec sudo wg-quick down wg0, désactivez-le au démarrage, et utilisez seulement NetworkManager.
- Problème : import de config impossible. Cause : erreur de syntaxe dans le fichier. Solution : vérifiez la structure [Interface]/[Peer], espaces, retours et caractères superflus.
- Problème : pas d’accès local en tunnel complet. Cause : tout le trafic redirigé vers VPN. Solution : configurez un split-tunnel, ajoutez les sous-réseaux locaux dans AllowedIPs.
Fonctionnalités avancées
Configurations avancées
- Multiples peers : un profil NM peut contenir plusieurs blocs peer, pratique pour basculer entre serveurs secondaires. Avec nmcli, ajoutez avec +wireguard-peer.* pour chacun.
- Marquage des paquets et routage politique : pour des réseaux complexes, utilisez ip rule et tables de routage pour acheminer uniquement un trafic spécifique via VPN. Cela demande de la rigueur et des tests.
- Split-DNS : systemd-resolved et NetworkManager permettent d’assigner DNS spécifiques ou domaines de recherche par route. Cela limite les fuites DNS et accélère la résolution dans les environnements d’entreprise.
- Scripts nm-dispatcher : automatisez des actions à la montée ou baisse du tunnel (monter des ressources, modifier règle firewall, etc.).
- Alternative wg-quick : si vous préférez ne pas utiliser NetworkManager, lancez sudo wg-quick up wg0 avec un fichier dans /etc/wireguard/wg0.conf, mais évitez de mélanger les méthodes.
- Clés calculées en avance et PresharedKey : ajoutez une clé symétrique supplémentaire pour renforcer le chiffrement si supporté par le serveur.
Optimisation
- Tuning MTU : commencez à 1420, baissez à 1280 si pertes. Surveillez la stabilité avec des pings.
- Tuning Keepalive : 25 secondes est adapté pour NAT. Moins fréquemment réveille le canal, plus souvent garantit persistance.
- Autoreconnection : NM maintient la session par défaut, surcrit par des services systemd ou scripts déclenchés pour assurer un uptime max.
Astuce : Stockez vos commandes nmcli en scripts séparés — migrer une configuration devient alors un jeu d’enfant.
FAQ
- Comment configurer WireGuard sur Ubuntu 24.04 en 5 minutes ? Importez un fichier .conf via « Paramètres » → « Réseau » → « VPN » → « Importer depuis un fichier… ». Vérifiez DNS et activez le profil.
- Guide pour configurer WireGuard sur Linux Mint sans GUI ? Utilisez nmcli : ajoutez un profil type wireguard, indiquez private-key, addresses, peer.public-key, peer.endpoint, peer.allowed-ips, puis activez avec nmcli connection up.
- Comment faire un split-tunnel ? Laissez dans AllowedIPs les seuls sous-réseaux nécessaires, et avec nmcli ajoutez ipv4.never-default yes pour garder la route par défaut locale.
- Comment corriger les fuites DNS ? Définissez le DNS du tunnel et activez ipv4.ignore-auto-dns yes, redémarrez la connexion.
- Comment activer l’auto-démarrage ? Mettez connection.autoconnect yes via nmcli ou cochez « Autoconnect » en GUI puis redémarrez.
- Pourquoi pas de trafic bien que « connecté » ? Vérifiez AllowedIPs, Endpoint, la clé publique serveur et que le serveur a bien ajouté votre clé publique client.
- Peut-on avoir deux profils WireGuard ? Oui, activez-les séparément ou simultanément si routes non conflictuelles. Gérez priorités via tables et métriques.
- Faut-il installer un plugin WireGuard pour NM ? Non, sur Ubuntu 24.04 et Mint récents le support est intégré. Vous avez besoin de wireguard-tools pour gérer clés et diagnostics.
- Comment annuler les modifications ? Désactivez et supprimez le profil : nmcli connection delete "nom". Retirez règles UFW, redémarrez NM : sudo systemctl restart NetworkManager.
- Où stocker les clés ? Dans votre dossier personnel avec permissions 600. Ne partagez jamais votre clé privée.
Conclusion
Vous avez parcouru l’intégralité du processus, de la préparation à une configuration WireGuard fonctionnelle sur Ubuntu 24.04 LTS et Linux Mint. Nous avons vu deux méthodes : import rapide via NetworkManager et création manuelle avec GUI ou nmcli. Vous savez gérer les routes (tunnel complet ou split), configurer un DNS sûr, activer le démarrage automatique et sécuriser la connexion avec un killswitch via UFW. La rubrique diagnostic vous aide à identifier rapidement les problèmes et remettre le VPN en service.
Et après ? Créez plusieurs profils pour différentes situations, ajoutez un peer de secours au cas où le serveur principal tomberait, optimisez MTU selon votre réseau. Pour un démarrage rapide garanti, préférez des configs prêtes à l’emploi issues de sources fiables, pour consacrer votre temps à votre travail plutôt qu’à l’infrastructure VPN.
Pour aller plus loin : explorez nm-dispatcher pour automatiser les scénarios de montée/descente du tunnel, maîtrisez le routage basé sur politiques pour une gestion fine du trafic, familiarisez-vous avec d’autres protocoles comme OpenVPN ou IKEv2 pour une compatibilité multi-plateforme. Avec ces bases solides, vous adapterez aisément vos solutions VPN à tous vos besoins et maintiendrez votre infrastructure Linux en toute confiance.
Astuce : Mettez ce guide en favoris et exportez votre profil NetworkManager dans un fichier. En cas de réinstallation, vous récupérerez votre VPN actif en quelques minutes.