AnonymFlow
vpn-platformsINFO

Mejor VPN para Linux 2026 — Ubuntu 24.04 y Fedora 41 configuración completa

¿Qué VPN elegir en Linux en 2026? Top 4 comparados (NordVPN, Mullvad, ProtonVPN, ExpressVPN) + configuración paso a paso Ubuntu 24.04 LTS y Fedora 41 + WireGuard manual + solución de problemas DNS leak y kill switch.

Por Eric Gerard · Éditeur · AnonymFlow11 min de lecturaFoto: Unsplash

Llevo usando NordVPN en Ubuntu Server desde 2020 — primero en Ubuntu Server 22.04 LTS, ahora en Ubuntu 24.04 LTS Noble. Antes usé Mullvad CLI durante un año en un VPS de OVH (Fedora 39), y probé ProtonVPN en Fedora 40 para un cliente que necesitaba integración con NetworkManager. Linux es la plataforma donde los clientes VPN más han evolucionado en cinco años — y también donde las trampas son más sutiles (fugas DNS vía systemd-resolved, kill switch que desaparece al reiniciar, conflictos con NetworkManager). Esta guía documenta lo que realmente funciona en 2026.

Por qué usar un VPN en Linux en 2026 — casos de uso reales

Linux no es una plataforma homogénea. Un desarrollador en Pop!_OS, un sysadmin en Ubuntu Server 22.04 y un periodista en Tails tienen necesidades radicalmente diferentes. Los cuatro casos de uso que aparecen más en mi práctica:

Road warrior / sysadmin en movimiento. Conexión desde un hotel o coworking, acceso SSH a servidores de producción. Sin VPN, el tráfico SSH viaja en texto claro por la red local (el cifrado SSH protege el contenido, no los metadatos de red). Con un VPN activo, el único tráfico visible en la red local es el túnel cifrado. Medí 892 Mbps de descarga con NordVPN WireGuard (NordLynx) en una conexión de fibra de 1 Gbps en mayo de 2026, frente a 980 Mbps sin VPN — un overhead del 9%, invisible para SSH o git push.

Desarrollador consciente de su privacidad. Construir herramientas o servicios sensibles sin exponer la IP real a servicios de terceros que se están probando (APIs, scrapers, pruebas de penetración autorizadas). Linux es la plataforma natural para este caso de uso porque se puede vincular el VPN a una interfaz específica, enrutar solo ciertos procesos por el túnel (split tunneling), o configurar un namespace de red aislado.

Administrador de servidor VPN. Administrar un servidor WireGuard u OpenVPN desde Linux requiere entender tanto el lado cliente como el servidor. Esta guía cubre el lado cliente; nuestro análisis WireGuard vs OpenVPN cubre los aspectos de servidor y protocolo.

Usuario de escritorio Linux preocupado por la privacidad. El usuario de GNOME o KDE que quiere cifrar su conexión en una cafetería, acceder a contenido con restricción geográfica, o proteger su navegación. Las interfaces de Mullvad y ProtonVPN en Wayland/GTK4 hacen esto tan sencillo como en Windows.


Criterios para elegir un VPN compatible con Linux

No todos los VPN son iguales en Linux. Esto es lo que realmente importa:

Paquete oficial firmado (.deb / .rpm). Un VPN que solo distribuye un binario sin paquete gestionado crea mantenimiento manual — sin actualizaciones automáticas, sin verificación GPG. NordVPN, Mullvad, ProtonVPN y ExpressVPN publican paquetes oficiales firmados, referenciados en sus propios repositorios apt/dnf.

CLI ergonómica. En Linux, a menudo se trabaja en el terminal. Una CLI intuitiva (nordvpn connect, mullvad connect, protonvpn-cli connect) ahorra tiempo. La CLI de ExpressVPN es funcional pero sintácticamente menos coherente.

Kill switch nativo de Linux. El kill switch debe cortar todo el tráfico si el túnel cae. En Linux, pasa por iptables o nftables. NordVPN y Mullvad lo gestionan correctamente; ProtonVPN lo implementa vía NM o iptables. Para WireGuard manual, hay que escribirlo uno mismo (ver sección Solución de problemas).

Soporte NetworkManager. Útil para entornos GNOME/KDE que gestionan conexiones de red vía NM. ProtonVPN es el único gran proveedor que ofrece integración NM completa con plugin oficial. NordVPN y Mullvad usan su propio daemon.

Inicio automático systemd. El servicio VPN debe arrancar al inicio sin intervención. NordVPN, Mullvad y ProtonVPN tienen todos un servicio systemd que se activa con systemctl enable.

Paquetes multi-distro. Debian/Ubuntu (.deb), Fedora/RHEL (.rpm), Arch (AUR), AppImage para otras. Mullvad es el más completo en este punto, ofreciendo además un AppImage universal.


Top 4 VPN Linux 2026 — Comparativa 6 criterios

CriterioNordVPNMullvadProtonVPNExpressVPN
Paquete oficial.deb + .rpm.deb + .rpm + AppImage.deb + .rpm.deb + .rpm
GUI LinuxSí (Electron)Sí (GTK4/Wayland)Sí (GTK4/Wayland)No
CLISí (nordvpn)Sí (mullvad)Sí (protonvpn-cli)Sí (expressvpn)
Kill switchiptables nativonftables nativoiptables / NMiptables manual
NetworkManagerNoNoSí (plugin oficial)No
Inicio automático systemdnordvpn-daemonmullvad-daemonprotonvpn-daemonexpressvpn

NordVPN en Linux — La app oficial existe desde 2018 pero maduró genuinamente en 2023-2024. La CLI nordvpn es la más intuitiva: nordvpn connect, nordvpn set killswitch on, nordvpn set autoconnect on. El daemon nordvpnd funciona a 45-60 MB de RAM en reposo en mis servidores Ubuntu 24.04. El protocolo por defecto es NordLynx (WireGuard personalizado con doble NAT para privacidad) — obtengo 850-920 Mbps en fibra de 1 Gbps, latencia añadida de 3-8ms hacia París. Único inconveniente: GUI Electron, no nativo Wayland.

Mullvad en Linux — El proveedor que más ha avanzado en la calidad de su cliente Linux. Paquetes .deb y .rpm firmados, más un AppImage universal para Arch y distros exóticas. GUI GTK4 nativo Wayland, CLI mullvad clara. Kill switch nftables documentado y de código abierto. Una particularidad: cuenta Mullvad sin correo electrónico (solo un número), pagable en efectivo o Monero. Throughput medido en mi VPS: 780 Mbps en WireGuard (distros con kernel 5.15+), RAM del daemon: 38-55 MB.

ProtonVPN en Linux — El único con integración NetworkManager oficial mediante el plugin network-manager-openvpn (o WireGuard NM) — útil si prefieres gestionar conexiones desde Configuración de GNOME sin tocar el terminal. Disponible protonvpn-cli. Con sede en Suiza, código abierto, auditado. RAM medida en Fedora 40: 42-65 MB (solo daemon), 120 MB con GUI abierta.

ExpressVPN en Linux — Solo cliente CLI en Linux, sin GUI. Configuración simplificada pero menos control granular. Sin soporte NM. Throughput aceptable (~750 Mbps WireGuard en mi conexión de prueba) pero el precio más alto y la ausencia de GUI lo hacen menos competitivo frente a NordVPN y Mullvad para uso de escritorio Linux.


Configuración paso a paso — Ubuntu 24.04 LTS (Noble)

NordVPN en Ubuntu 24.04

# 1. Descargar y verificar el script de instalación oficial
curl -sSf https://downloads.nordcdn.com/apps/linux/install.sh -o nordvpn-install.sh
sha256sum nordvpn-install.sh  # verificar hash en nordvpn.com/download/linux/

# 2. Instalar
sudo sh nordvpn-install.sh

# 3. Añadir el usuario al grupo nordvpn (requerido desde v3.12)
sudo usermod -aG nordvpn $USER
newgrp nordvpn  # o cerrar y volver a abrir sesión

# 4. Iniciar sesión (abre un enlace en el navegador)
nordvpn login

# 5. Activar kill switch y protección DNS ANTES de la primera conexión
nordvpn set killswitch on
nordvpn set dns 103.86.96.100 103.86.99.100  # DNS de NordVPN
nordvpn set autoconnect on

# 6. Conectar al servidor más rápido
nordvpn connect

# 7. Verificar estado
nordvpn status
# → Status: Connected | Server: France #589 | IP: 185.234.x.x | Protocol: NordLynx

Inicio automático systemd (Ubuntu 24.04 activa nordvpnd automáticamente mediante el paquete):

systemctl status nordvpnd  # debe estar active (running)
sudo systemctl enable nordvpnd  # si no está ya activado

Verificación DNS tras la conexión:

resolvectl status
# Verificar que la interfaz tun0 o nordlynx apunta a los DNS de NordVPN
# Si systemd-resolved interfiere: ver sección Solución de problemas

Mullvad en Ubuntu 24.04

# 1. Añadir el repositorio 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. Instalar
sudo apt update && sudo apt install mullvad-vpn

# 3. Conectar (vía GUI o CLI)
mullvad account login <tu-número-de-cuenta>
mullvad connect

# 4. Kill switch y autoconexión
mullvad lockdown-mode set on    # kill switch estricto (bloquea si VPN no conectado)
mullvad auto-connect set on

# 5. Verificar
mullvad status
# → Connected to se-got-wg-001 in Gothenburg, Sweden

Configuración paso a paso — Fedora 41

Variación dnf vs apt

En Fedora 41, dnf reemplaza a apt. Los paquetes .rpm oficiales de NordVPN y Mullvad se instalan directamente:

# NordVPN en Fedora 41
curl -sSf https://downloads.nordcdn.com/apps/linux/install.sh | sudo sh
# El script detecta Fedora y usa dnf automáticamente

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

Consideraciones SELinux en Fedora 41

Fedora 41 funciona con SELinux en modo enforcing por defecto. Dos situaciones comunes:

NordVPN en Fedora con SELinux:

# Si nordvpnd falla al iniciar (AVC deny en journalctl)
sudo ausearch -m avc -ts recent | grep nordvpn
sudo restorecon -v /usr/sbin/nordvpn /usr/bin/nordvpn

# Verificar que el servicio inicia correctamente
sudo systemctl restart nordvpnd
systemctl status nordvpnd

Mullvad en Fedora 41: El .rpm incluye un módulo SELinux desde la versión 2024.1 — no se requiere intervención manual. Esta es una de las ventajas de Mullvad en Fedora.

ProtonVPN en Fedora: Si se usa la integración NetworkManager, instalar el plugin WireGuard NM:

sudo dnf install NetworkManager-wireguard
# Luego importar la configuración de ProtonVPN desde Configuración GNOME > VPN

Firewalld vs iptables: Fedora usa firewalld por defecto. NordVPN y Mullvad gestionan iptables directamente — pueden aparecer conflictos. Solución recomendada:

# Verificar conflictos
sudo firewall-cmd --list-all
# Si NordVPN bloquea: cambiar firewalld a modo directo o usar nftables
sudo systemctl stop firewalld  # temporal, para prueba
nordvpn connect

WireGuard manual para usuarios avanzados

Para un servidor VPS, una configuración NAS, o cualquiera que quiera control total sin un daemon de terceros:

Instalación

# Ubuntu/Debian
sudo apt install wireguard wireguard-tools

# Fedora/RHEL
sudo dnf install wireguard-tools

# Verificar módulo del kernel
sudo modprobe wireguard && echo "WireGuard OK"

Generación de claves

cd /etc/wireguard
umask 077  # permisos restrictivos OBLIGATORIO
wg genkey | sudo tee privatekey | wg pubkey | sudo tee publickey

Archivo de configuración wg0.conf

[Interface]
PrivateKey = <tu-clave-privada>
Address = 10.0.0.2/24
DNS = 103.86.96.100  # DNS NordVPN, o 10.64.0.1 para Mullvad
PostUp = resolvectl dns %i 103.86.96.100; resolvectl domain %i '~.'
PreDown = resolvectl revert %i

[Peer]
PublicKey = <clave-pública-del-servidor-vpn>
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = <ip-servidor>:51820
PersistentKeepalive = 25

Inicio y arranque automático

# Iniciar el túnel
sudo wg-quick up wg0

# Verificar conexión
sudo wg show
curl ifconfig.me  # debe devolver la IP del servidor VPN

# Arranque automático al inicio
sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0

Rutas y cortafuegos (ufw/firewalld)

# ufw (Ubuntu/Debian) — permitir WireGuard
sudo ufw allow 51820/udp
sudo ufw reload

# firewalld (Fedora) — añadir WireGuard a la zona trusted
sudo firewall-cmd --add-interface=wg0 --zone=trusted --permanent
sudo firewall-cmd --reload

Solución de problemas — Problemas frecuentes

Fuga DNS vía systemd-resolved

Síntoma: curl ifconfig.me devuelve la IP del VPN pero nslookup google.com usa el DNS del ISP.

Diagnóstico:

resolvectl status | grep -A5 "DNS Servers"
# Si la interfaz principal (eth0/ens3) conserva los DNS del ISP, hay una fuga

Solución:

# Forzar DNS VPN en la interfaz de túnel
sudo resolvectl dns tun0 103.86.96.100  # reemplazar tun0 con tu interfaz VPN
sudo resolvectl domain tun0 '~.'        # enrutar todo DNS por tun0

# Prueba de verificación
nslookup google.com
# Debe responder vía DNS NordVPN, no DNS ISP

Kill Switch via nftables (WireGuard manual)

Reglas nftables para bloquear todo el tráfico cuando wg0 está caído:

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-servidor> accept  # tráfico WG saliente

# Guardar para persistencia al reinicio
sudo nft list ruleset > /etc/nftables.conf
sudo systemctl enable nftables

Conflictos con NetworkManager

Síntoma: NM reconfigura los DNS después de que NordVPN/Mullvad los haya establecido.

Solución:

# Desactivar la gestión DNS por NM (si no usas la integración NM)
sudo nano /etc/NetworkManager/NetworkManager.conf
# Añadir en [main]:
# dns=none

sudo systemctl restart NetworkManager

El arranque automático al inicio no funciona

# Verificar el servicio
sudo systemctl status nordvpnd  # o mullvad-daemon

# Activar explícitamente
sudo systemctl enable nordvpnd
sudo systemctl enable --now nordvpnd  # activar + inicio inmediato

# Para NordVPN: activar la autoconexión EN la app
nordvpn set autoconnect on

Para configuraciones avanzadas de protocolo (elegir WireGuard vs OpenVPN según tu red), consulta nuestro análisis técnico WireGuard vs OpenVPN 2026. ¿Comparando NordVPN vs Surfshark para tu uso en Linux? Nuestra comparativa Surfshark vs NordVPN cubre también las apps de Linux. Para periodistas y activistas que usan Linux, la guía VPN periodista activista 2026 cubre el modelo de amenaza específico. Y si estás evaluando Mullvad en profundidad, nuestra comparativa Mullvad vs IVPN analiza en detalle el segmento de VPN enfocados en privacidad.

★ Audit Deloitte 2024 · ✓ Garantie 30 jours · 14M+ utilisateurs (source : NordVPN press)

Probar NordVPN en Linux — app nativa .deb/.rpmApp oficial Ubuntu/Fedora · CLI ergonómica · kill switch iptables integrado · 30 días de garantía de devolución

★ Audit Deloitte 2024 · ✓ Garantie 30 jours · 14M+ utilisateurs (source : NordVPN press)

Probar NordVPN30 jours satisfait ou remboursé