AnonymFlow
vpn-platformsINFO

VPN Linux 2026 : meilleur VPN Ubuntu 24.04, Fedora 41 - setup complet

Quel VPN choisir sur Linux en 2026 ? Top 4 comparés (NordVPN, Mullvad, ProtonVPN, ExpressVPN) + setup pas à pas Ubuntu 24.04 LTS et Fedora 41 + WireGuard manuel + troubleshooting DNS leak, kill switch, autostart.

Par Eric Gerard · Éditeur · AnonymFlow11 min de lecturePhoto : Unsplash

Linux est la plateforme où les VPN ont le plus progressé ces dernières années - et aussi celle où les pièges sont les plus subtils (DNS leak via systemd-resolved, kill switch qui disparaît au reboot, conflits NM). Ce guide documente ce qui fonctionne vraiment en 2026 sur Ubuntu 24.04 et Fedora 41, à partir des capacités Linux documentées de chaque fournisseur et des étapes de configuration que tu peux reproduire toi-même.

Pourquoi un VPN sur Linux en 2026 - cas d'usage réels

Linux n'est pas une plateforme homogène. Un développeur sur Pop!_OS, un sysadmin sur Ubuntu Server 22.04, et un journaliste sur Tails ont des besoins radicalement différents. Les quatre cas d'usage les plus courants :

Road warrior / sysadmin en déplacement. Connexion depuis un hôtel ou un coworking, accès SSH à des serveurs de production. Sans VPN, le trafic SSH passe en clair sur le réseau local (l'encryption SSH protège le contenu, pas les métadonnées réseau). Avec un VPN actif, le seul trafic visible sur le réseau local est le tunnel chiffré. Avec un protocole moderne type WireGuard/NordLynx, la perte de débit sur un serveur proche est en général faible - négligeable pour du SSH ou du git push. Mesure-la sur ta propre ligne avec speedtest-cli ou iperf3 avant/après connexion.

Privacy dev. Développer des outils ou services sensibles sans exposer son IP réelle aux services tiers que l'on teste (APIs, scrapers, tests de pénétration autorisés). Linux est la plateforme naturelle pour ce cas d'usage car on peut binder le VPN à une interface précise, router seulement certains processus dans le tunnel (split tunneling), ou configurer un namespace réseau isolé.

Admin de serveur VPN. Administrer un serveur WireGuard ou OpenVPN depuis Linux requiert de comprendre le setup côté client ET côté serveur. Ce guide couvre le côté client ; notre analyse WireGuard vs OpenVPN couvre les aspects serveur et protocole.

Utilisateur desktop Linux soucieux de sa vie privée. L'utilisateur GNOME ou KDE qui veut chiffrer sa connexion au café, accéder à des contenus géo-restreints, ou protéger sa navigation. Mullvad GUI et ProtonVPN GUI sur Wayland/GTK4 rendent ce cas d'usage aussi simple que sur Windows.


Critères pour choisir un VPN compatible Linux

Pas tous les VPN sont égaux sur Linux. Voici ce qui compte vraiment :

Package officiel signé (.deb / .rpm). Un VPN qui distribue juste un binaire sans package géré par apt/dnf crée une maintenance manuelle - pas de mise à jour automatique, pas de vérification GPG. NordVPN, Mullvad, ProtonVPN et ExpressVPN publient tous des packages officiels signés, référencés dans leurs propres repos apt/dnf.

CLI ergonomique. Sur Linux, on passe souvent par le terminal. Une CLI intuitive (nordvpn connect, mullvad connect, protonvpn-cli connect) fait gagner du temps. ExpressVPN CLI est fonctionnel mais moins cohérent syntaxiquement.

Kill switch natif Linux. Le kill switch doit couper tout trafic si le tunnel tombe. Sur Linux, il passe par iptables ou nftables. NordVPN et Mullvad le gèrent proprement ; ProtonVPN l'implémente via NM ou iptables. Pour WireGuard manuel, il faut l'écrire soi-même (voir section Troubleshooting).

Support NetworkManager. Utile pour les environnements GNOME/KDE qui gèrent les connexions réseau via NM. ProtonVPN est le seul grand fournisseur qui propose une intégration NM complète avec plugin officiel. NordVPN et Mullvad utilisent leur propre daemon.

Autostart systemd. Le service VPN doit démarrer au boot sans intervention. NordVPN, Mullvad et ProtonVPN ont tous un service systemd qui s'active avec systemctl enable.

Multi-distro packages. Debian/Ubuntu (.deb), Fedora/RHEL (.rpm), Arch (AUR), AppImage pour les autres. Mullvad est le plus complet sur ce point avec en plus un AppImage universel.


Top 4 VPN Linux 2026 - comparatif 6 critères

CritèreNordVPNMullvadProtonVPNExpressVPN
Package officiel.deb + .rpm.deb + .rpm + AppImage.deb + .rpm.deb + .rpm
GUI LinuxOui (Electron)Oui (GTK4/Wayland)Oui (GTK4/Wayland)Non
CLIOui (nordvpn)Oui (mullvad)Oui (protonvpn-cli)Oui (expressvpn)
Kill switchiptables natifnftables natifiptables / NMManuel iptables
NetworkManagerNonNonOui (plugin officiel)Non
Autostart systemdnordvpn-daemonmullvad-daemonprotonvpn-daemonexpressvpn

NordVPN sur Linux - L'app officielle existe depuis 2018 mais a franchement mûri en 2023-2024. La CLI nordvpn est la plus intuitive : nordvpn connect, nordvpn set killswitch on, nordvpn set autoconnect on. L'empreinte RAM du daemon nordvpnd au repos est modeste (quelques dizaines de Mo). Le protocole par défaut est NordLynx (WireGuard custom avec double NAT pour la vie privée), qui conserve une grande part du débit brut sur un serveur proche et n'ajoute que quelques ms de latence sur un trajet court. Seul bémol : GUI Electron, pas natif Wayland.

Mullvad sur Linux - Le fournisseur qui a poussé le plus loin la qualité de son client Linux. Package .deb et .rpm signés, plus un AppImage universel pour Arch et les distros exotiques. GUI GTK4 natif Wayland, CLI mullvad claire. Kill switch nftables documenté et open-sourcé. Seule particularité : compte Mullvad sans email (juste un numéro), payable en cash ou Monero. Il utilise WireGuard, donc le débit reste élevé sur les kernels modernes (5.15+) et l'empreinte RAM du daemon est modeste.

ProtonVPN sur Linux - Le seul avec intégration NetworkManager officielle via le plugin network-manager-openvpn (ou WireGuard NM) - utile si vous préférez gérer les connexions depuis GNOME Settings sans toucher au terminal. CLI protonvpn-cli disponible. Basé en Suisse, open-source, audité. L'empreinte RAM du daemon est modeste, plus élevée quand la GUI est ouverte.

ExpressVPN sur Linux - Client CLI uniquement sur Linux, pas de GUI. Configuration simplifiée mais moins de contrôle granulaire. Pas de support NM. Le débit est correct sur ses protocoles Lightway/WireGuard, mais le prix plus élevé et l'absence de GUI le rendent moins compétitif face à NordVPN et Mullvad pour un usage desktop Linux.


Setup étape par étape - Ubuntu 24.04 LTS (Noble)

NordVPN sur Ubuntu 24.04

# 1. Télécharger et vérifier le script d'installation officiel
curl -sSf https://downloads.nordcdn.com/apps/linux/install.sh -o nordvpn-install.sh
sha256sum nordvpn-install.sh  # vérifier le hash sur nordvpn.com/download/linux/

# 2. Installer
sudo sh nordvpn-install.sh

# 3. Ajouter votre utilisateur au groupe nordvpn (requis depuis v3.12)
sudo usermod -aG nordvpn $USER
newgrp nordvpn  # ou déconnexion/reconnexion session

# 4. Login (ouvre un lien dans le navigateur)
nordvpn login

# 5. Activer kill switch et DNS protection AVANT la première connexion
nordvpn set killswitch on
nordvpn set dns 103.86.96.100 103.86.99.100  # DNS NordVPN
nordvpn set autoconnect on

# 6. Connexion au serveur le plus rapide
nordvpn connect

# 7. Vérifier l'état
nordvpn status
# → Status: Connected | Server: France #589 | IP: 185.234.x.x | Protocol: NordLynx

Autostart systemd (Ubuntu 24.04 active nordvpnd automatiquement via le package) :

systemctl status nordvpnd  # doit être active (running)
sudo systemctl enable nordvpnd  # si pas déjà activé

Vérification DNS après connexion :

resolvectl status
# Vérifier que l'interface tun0 ou nordlynx pointe vers les DNS NordVPN
# Si systemd-resolved interfère : voir section Troubleshooting

Mullvad sur Ubuntu 24.04

# 1. Ajouter le repo Mullvad
sudo curl -fsSLo /usr/share/keyrings/mullvad-keyring.asc \
  https://repository.mullvad.net/deb/mullvad-keyring.asc
echo "deb [signed-by=/usr/share/keyrings/mullvad-keyring.asc arch=$(dpkg --print-architecture)] \
  https://repository.mullvad.net/deb/stable $(lsb_release -cs) main" | \
  sudo tee /etc/apt/sources.list.d/mullvad.list

# 2. Installer
sudo apt update && sudo apt install mullvad-vpn

# 3. Connexion (via GUI ou CLI)
mullvad account login <votre-numéro-compte>
mullvad connect

# 4. Kill switch et autoconnect
mullvad lockdown-mode set on    # kill switch strict (bloque si VPN non connecté)
mullvad auto-connect set on

# 5. Vérifier
mullvad status
# → Connected to se-got-wg-001 in Göteborg, Sweden

Setup étape par étape - Fedora 41

Des baies de serveurs éclairées en bleu dans un datacenter
Des baies de serveurs éclairées en bleu dans un datacenter

Variation dnf vs apt

Sur Fedora 41, dnf remplace apt. Les packages .rpm officiels NordVPN et Mullvad s'installent directement :

# NordVPN sur Fedora 41
curl -sSf https://downloads.nordcdn.com/apps/linux/install.sh | sudo sh
# Le script détecte Fedora et utilise dnf automatiquement

# Mullvad sur Fedora 41
sudo dnf install https://mullvad.net/download/app/rpm/latest

Considérations SELinux sur Fedora 41

Fedora 41 tourne en SELinux enforcing par défaut. Deux situations possibles :

NordVPN sur Fedora avec SELinux :

# Si nordvpnd échoue à démarrer (AVC deny dans journalctl)
sudo ausearch -m avc -ts recent | grep nordvpn
sudo restorecon -v /usr/sbin/nordvpn /usr/bin/nordvpn

# Vérifier que le service démarre correctement
sudo systemctl restart nordvpnd
systemctl status nordvpnd

Mullvad sur Fedora 41 : Le .rpm intègre un module SELinux depuis la version 2024.1 - aucune manipulation requise. C'est l'un des avantages de Mullvad sur Fedora.

ProtonVPN sur Fedora : Si vous utilisez l'intégration NetworkManager, installer le plugin WireGuard NM :

sudo dnf install NetworkManager-wireguard
# Puis importer la config ProtonVPN via GNOME Settings > VPN

Firewalld vs iptables : Fedora utilise firewalld par défaut. NordVPN et Mullvad gèrent iptables directement - des conflits peuvent apparaître. Solution recommandée :

# Vérifier les conflits
sudo firewall-cmd --list-all
# Si NordVPN bloque : passer firewalld en mode direct ou utiliser nftables
sudo systemctl stop firewalld  # temporaire, pour test
nordvpn connect

WireGuard manuel pour utilisateurs avancés

Pour un serveur VPS, une config NAS, ou quiconque veut contrôle total sans daemon tiers :

Installation

# Ubuntu/Debian
sudo apt install wireguard wireguard-tools

# Fedora/RHEL
sudo dnf install wireguard-tools

# Vérifier le module kernel
sudo modprobe wireguard && echo "WireGuard OK"

Génération des clés

cd /etc/wireguard
umask 077  # permissions restrictives OBLIGATOIRE
wg genkey | sudo tee privatekey | wg pubkey | sudo tee publickey

Fichier de configuration wg0.conf

[Interface]
PrivateKey = <votre-clé-privée>
Address = 10.0.0.2/24
DNS = 103.86.96.100  # DNS NordVPN, ou 10.64.0.1 pour Mullvad
PostUp = resolvectl dns %i 103.86.96.100; resolvectl domain %i '~.'
PreDown = resolvectl revert %i

[Peer]
PublicKey = <clé-publique-du-serveur-VPN>
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = <ip-serveur>:51820
PersistentKeepalive = 25

Démarrage et autostart

# Démarrer le tunnel
sudo wg-quick up wg0

# Vérifier la connexion
sudo wg show
curl ifconfig.me  # doit retourner l'IP du serveur VPN

# Autostart au boot
sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0

Routes et firewall (ufw/firewalld)

# ufw (Ubuntu/Debian) - autoriser WireGuard
sudo ufw allow 51820/udp
sudo ufw reload

# firewalld (Fedora) - ajouter WireGuard à la zone trusted
sudo firewall-cmd --add-interface=wg0 --zone=trusted --permanent
sudo firewall-cmd --reload

Troubleshooting - problèmes fréquents

DNS leak via systemd-resolved

Symptôme : curl ifconfig.me retourne l'IP VPN mais nslookup google.com utilise le DNS du FAI.

Diagnostic :

resolvectl status | grep -A5 "DNS Servers"
# Si l'interface principale (eth0/ens3) garde les DNS FAI, il y a un leak

Fix :

# Forcer le DNS VPN sur l'interface tunnel
sudo resolvectl dns tun0 103.86.96.100  # remplacer tun0 par votre interface VPN
sudo resolvectl domain tun0 '~.'        # router tout DNS via tun0

# Test de vérification
nslookup google.com
# Doit répondre via les DNS NordVPN, pas les DNS FAI

Kill switch via nftables (WireGuard manuel)

Règles nftables pour bloquer tout trafic si wg0 est down :

sudo nft add table inet vpn_killswitch
sudo nft add chain inet vpn_killswitch output "{ type filter hook output priority 0; policy drop; }"
sudo nft add rule inet vpn_killswitch output oifname "lo" accept
sudo nft add rule inet vpn_killswitch output oifname "wg0" accept
sudo nft add rule inet vpn_killswitch output ip daddr <ip-serveur> accept  # trafic WG sortant

# Sauvegarder pour la persistance au reboot
sudo nft list ruleset > /etc/nftables.conf
sudo systemctl enable nftables

Conflits NetworkManager

Symptôme : NM reconfigure les DNS après que NordVPN/Mullvad les ait fixés.

Fix :

# Désactiver la gestion DNS par NM (si vous n'utilisez pas l'intégration NM)
sudo nano /etc/NetworkManager/NetworkManager.conf
# Ajouter dans [main] :
# dns=none

sudo systemctl restart NetworkManager

Autostart au boot qui ne fonctionne pas

# Vérifier le service
sudo systemctl status nordvpnd  # ou mullvad-daemon

# Activer explicitement
sudo systemctl enable nordvpnd
sudo systemctl enable --now nordvpnd  # enable + démarrage immédiat

# Pour NordVPN : activer l'autoconnect DANS l'app
nordvpn set autoconnect on

Pour aller plus loin. À lire aussi : VPN Mac M3 M4 2026.


Pour les configurations de protocoles avancées (choix WireGuard vs OpenVPN selon votre réseau), consultez notre analyse technique WireGuard vs OpenVPN 2026. Si vous évaluez NordVPN vs Surfshark pour votre usage Linux, notre comparatif Surfshark vs NordVPN couvre aussi les apps Linux. Pour les journalistes et activistes qui utilisent Linux, le guide VPN journaliste et activiste 2026 couvre le modèle de menace spécifique.

Choix éditorial
4.6 / 5

Essayer NordVPN sur Linux - app native .deb/.rpm

App officielle Ubuntu/Fedora · CLI ergonomique · kill switch iptables intégré · 30 jours satisfait ou remboursé

Audit Deloitte 2024Garantie 30 jours14M+ utilisateurs
Voir l'offre
Choix éditorial
4.6 / 5

NordVPN à son meilleur prix

Plan 2 ans · politique no-log auditée (PwC) · 30 jours remboursé

Audit Deloitte 2024Garantie 30 jours14M+ utilisateurs
Voir l'offre
Tout ce qu'il faut savoir.

Questions fréquentes

Quel VPN est le plus compatible Linux en 2026 ?

NordVPN et Mullvad sont les deux choix les plus aboutis en 2026 : packages .deb et .rpm officiels signés, CLI ergonomique, kill switch intégré, autostart systemd natif. ProtonVPN offre en plus le support NetworkManager (utile pour les distros GNOME sans accès root constant). ExpressVPN propose une app CLI solide mais sans GUI Linux et sans support NetworkManager - acceptable pour un serveur headless, moins pratique sur desktop.

Comment éviter les fuites DNS sur Linux avec systemd-resolved ?

systemd-resolved intercepte les requêtes DNS avant que le tunnel VPN puisse les capturer si le resolver n'est pas reconfiguré. Solution : après connexion VPN, forcer le DNS sur l'interface tunnel avec `resolvectl dns <iface> <dns-vpn>` et `resolvectl domain <iface> '~.'`. NordVPN le gère automatiquement depuis la version 3.14 (juin 2024). Mullvad aussi. Pour une config manuelle WireGuard, ajouter `DNS = <ip>` dans `[Interface]` de `wg0.conf` et activer `PostUp = resolvectl dns %i <ip>; resolvectl domain %i '~.'`.

Un VPN peut-il tourner sur un serveur Linux headless sans GUI ?

Oui - c'est même le cas d'usage idéal pour NordVPN CLI, Mullvad CLI et ExpressVPN CLI. La commande de connexion tient en une ligne (`nordvpn connect`), le kill switch s'active via `nordvpn set killswitch on`, l'autostart est géré par systemd. ProtonVPN nécessite `protonvpn-cli connect` et fonctionne pareillement. WireGuard en config manuelle est encore plus adapté aux serveurs : zéro overhead, service systemd `wg-quick@wg0` natif, démarrage en moins d'1 seconde.

Comment le VPN interagit-il avec SELinux sur Fedora ?

SELinux en mode enforcing bloque parfois l'ouverture de sockets réseau par le daemon VPN. Si NordVPN ou ProtonVPN refuse de se connecter sur Fedora, vérifier les AVC denials avec `ausearch -m avc -ts recent`. Solution courante : restaurer les contextes SELinux du binaire (`restorecon -v /usr/sbin/nordvpn`). Mullvad intègre depuis 2024 un module SELinux dans son .rpm qui évite ce problème. Pour WireGuard natif, SELinux ne pose pas de problème car le module est intégré au kernel.

Quelle consommation mémoire RAM pour un VPN sur Linux ?

Elle reste modeste dans tous les cas. Les daemons VPN en userspace (NordVPN, Mullvad, ProtonVPN) consomment typiquement quelques dizaines de Mo de RAM au repos, un peu plus en connexion active, et nettement plus si une GUI Electron/GTK reste ouverte. WireGuard kernel natif est de loin le plus léger - aucun daemon userspace, empreinte négligeable. Pour un VPS ou serveur avec contrainte mémoire, WireGuard manuel est imbattable. Vérifie ton propre chiffre avec `systemctl status` ou `ps_mem` après connexion.

VPN Linux compatible Wayland (GNOME 46+) ?

Les GUI Mullvad et ProtonVPN sont basés sur GTK4 et fonctionnent nativement sur Wayland depuis respectivement 2023 et début 2024. L'app NordVPN GUI utilise une webapp Electron - elle tourne sur Wayland via XWayland (compatibilité), pas nativement. Pour un usage desktop GNOME 46 sur Ubuntu 24.04 ou Fedora 41, Mullvad GUI est l'option la plus propre sur Wayland.

Comment combiner Tor et VPN sur Linux ?

Deux configurations possibles : VPN over Tor (machine → Tor → VPN) et Tor over VPN (machine → VPN → Tor). Sur Linux, Tor over VPN est plus simple : activer le VPN (NordVPN, Mullvad), puis lancer le navigateur Tor ou `torify` la commande voulue. Le trafic sort chiffré via le tunnel VPN avant d'entrer dans le réseau Tor. Notre [guide Tor over VPN détaillé](/fr/blog/tor-sur-vpn-configuration-2026) couvre les deux configurations avec exemples iptables. Le VPN masque au FAI que vous utilisez Tor ; Tor anonymise la destination finale vis-à-vis du VPN.

Le kill switch Linux fonctionne-t-il si le daemon VPN crashe ?

Dépend du fournisseur. NordVPN depuis la version 3.16 utilise des règles iptables persistantes (chargées dans la chain INPUT/OUTPUT) qui subsistent si `nordvpnd` crashe - le trafic est bloqué jusqu'au redémarrage du daemon. Mullvad utilise nftables de façon similaire depuis 2023. Pour WireGuard manuel, il faut implémenter soi-même la table nftables de blocage par défaut (voir section Troubleshooting). Si vous utilisez un VPN dont le kill switch n'est pas documenté sur Linux, faites le test vous-même : `sudo systemctl stop nordvpnd` avec un `ping 8.8.8.8` en parallèle.