Un kill switch de VPN bloquea todo el tráfico de red en el instante en que se cae tu conexión VPN, para que tu IP real no se filtre ni un momento mientras la app se reconecta. En Windows y macOS suele ser un simple interruptor en los ajustes de la app. En Linux depende mucho de qué app o cliente uses, y si ejecutas OpenVPN o WireGuard por línea de comandos en lugar de una app gráfica, puede que necesites configurarlo manualmente con iptables o nftables. Así se gestionan ambos casos.

Paso 1: comprobar si tu app VPN ya tiene uno

NordVPN, ProtonVPN, Surfshark y Mullvad ofrecen todas apps para Linux o herramientas de línea de comandos con una opción de kill switch integrada, aunque el nombre exacto y su ubicación varían. Busca en el menú de ajustes de tu app términos como “kill switch”, “VPN siempre activa” o “bloqueo de red”. Si usas una app oficial en lugar de una conexión OpenVPN o WireGuard configurada manualmente, esta es casi siempre la opción más sencilla y fiable, ya que está construida y probada por el proveedor específicamente para su propio cliente.

Paso 2: activar el kill switch integrado

Si tu app tiene la opción, actívala y reinicia la app para asegurarte de que el ajuste surte efecto de inmediato en lugar de solo aplicarse a conexiones futuras. Algunas apps distinguen entre un kill switch estándar, que bloquea todo el tráfico cuando la VPN se cae, y un modo “siempre activo” más estricto que bloquea todo acceso a internet a menos que la VPN esté activamente conectada, incluso antes de que hayas iniciado manualmente una sesión. Para la mayoría de usuarios, la opción estándar es la mejor por defecto, ya que el modo más estricto puede resultar incómodo si usas el equipo con frecuencia sin la VPN activa.

¿Quieres comparar todos los VPN uno al lado del otro? Consulta nuestra tabla comparativa completa con puntuaciones en 18 criterios.

Paso 3: configurar un kill switch manual con iptables

Si ejecutas una conexión WireGuard u OpenVPN pura sin app gráfica, o el cliente de Linux de tu proveedor no incluye kill switch, puedes construir uno con reglas de iptables que bloqueen todo el tráfico saliente excepto a través de la interfaz de red de tu VPN. La idea central es fijar tu política por defecto para descartar todo el tráfico, y luego permitir explícitamente el tráfico solo a través de la interfaz de tu túnel VPN (normalmente llamada tun0 para OpenVPN o wg0 para WireGuard) y hacia la IP de tu servidor VPN para el handshake inicial.

Una versión básica se ve así, y se ejecuta antes de conectar:

sudo iptables -P OUTPUT DROP
sudo iptables -A OUTPUT -o tun0 -j ACCEPT
sudo iptables -A OUTPUT -d YOUR_VPN_SERVER_IP -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT

Sustituye YOUR_VPN_SERVER_IP por la dirección IP real del servidor al que te conectas, y ajusta el nombre de la interfaz según tu configuración. Este conjunto de reglas bloquea por defecto todo el tráfico saliente, y luego crea excepciones para tu túnel VPN, tu propio servidor VPN (necesario para que la conexión se establezca) y el tráfico de loopback, que tu sistema necesita para que sus procesos internos funcionen correctamente.

Paso 4: usar nftables para un enfoque más moderno

nftables es el framework más reciente que sustituye a iptables en la mayoría de distribuciones actuales de Linux, y gestiona la misma lógica con una sintaxis más limpia. Un conjunto de reglas comparable en nftables se ve así:

sudo nft add table inet killswitch
sudo nft add chain inet killswitch output { type filter hook output priority 0 \; policy drop \; }
sudo nft add rule inet killswitch output oifname "wg0" accept
sudo nft add rule inet killswitch output ip daddr YOUR_VPN_SERVER_IP accept
sudo nft add rule inet killswitch output oifname "lo" accept

Sea cual sea el framework que uses, recuerda que estas reglas se aplican hasta que las elimines o reinicies, así que si desconectas la VPN intencionadamente y quieres recuperar el acceso normal a internet, tendrás que reiniciar el conjunto de reglas (sudo iptables -F para iptables, o eliminar la tabla con sudo nft delete table inet killswitch para nftables) en lugar de simplemente cerrar la aplicación VPN.

Paso 5: comprobar que realmente funciona

Este paso importa más que la propia configuración, ya que un kill switch sin probar es solo una suposición. Con tu VPN conectada y las reglas activas, localiza el proceso de la VPN y fuerza su cierre para simular una caída inesperada:

sudo pkill -9 openvpn

o para WireGuard:

sudo wg-quick down wg0

Después, intenta cargar cualquier sitio web de inmediato. Si tus reglas de kill switch funcionan, la conexión debería fallar por completo en lugar de caer silenciosamente de vuelta a tu conexión normal sin proteger. Si una página llega a cargar, revisa el orden de tus reglas y confirma que la política por defecto de la cadena OUTPUT o nftables está realmente puesta en descartar, ya que un orden de reglas mal configurado es la razón más común por la que un kill switch manual no bloquea nada en realidad.

Hacer las reglas persistentes tras reiniciar

Las reglas manuales de iptables o nftables no sobreviven a un reinicio por defecto. En la mayoría de distribuciones puedes guardar las reglas de iptables con iptables-save > /etc/iptables/rules.v4 y restaurarlas al arrancar mediante el paquete iptables-persistent de tu distribución, o escribir tu conjunto de reglas de nftables directamente en /etc/nftables.conf y activar el servicio systemd nftables para que se cargue automáticamente. Si solo necesitas el kill switch activo durante sesiones concretas en vez de permanentemente, un script de shell sencillo que aplique las reglas antes de conectar y las elimine tras desconectar suele ser más práctico que hacerlas persistentes en todo el sistema.

Problemas comunes y soluciones

Las peticiones DNS siguen filtrándose: tus reglas de kill switch puede que solo cubran el tráfico saliente en los puertos estándar sin gestionar el DNS explícitamente. Asegúrate de que tu app VPN o tu configuración manual de WireGuard/OpenVPN enruta el DNS a través de la interfaz del túnel, y considera añadir una regla explícita que bloquee el tráfico DNS (puerto 53) fuera del túnel.

El kill switch bloquea el handshake inicial de la VPN: esto suele significar que tu regla que permite tráfico hacia la IP del servidor VPN se escribió después de que la política de descarte por defecto entrara en vigor, o que la IP del servidor es incorrecta. Comprueba bien que la dirección IP coincide con el servidor real al que te conectas, no con un nombre de host, ya que las reglas de iptables y nftables generalmente necesitan una IP resuelta en lugar de un nombre de dominio.

Las reglas no sobreviven a un reinicio: como se explicó antes, este es el comportamiento esperado a menos que hayas configurado explícitamente la persistencia mediante las herramientas de tu distribución.

En qué distribuciones funciona esto

Los comandos de iptables y nftables de arriba funcionan igual en Debian, Ubuntu, Fedora, Arch y la mayoría de las demás grandes distribuciones, ya que ambos frameworks forman parte de la pila de red estándar del kernel de Linux y no son específicos de una distribución. La principal diferencia entre distribuciones está en qué herramientas de persistencia hay disponibles por defecto y cómo se llama el paquete, así que consulta la documentación de tu distribución para el nombre exacto del paquete de persistencia si quieres que las reglas sobrevivan automáticamente a un reinicio.

Nuestro veredicto

Si tu app VPN tiene un kill switch integrado en Linux, úsalo, es más sencillo y está probado por el proveedor. Si ejecutas una configuración manual de WireGuard u OpenVPN, un breve conjunto de reglas de iptables o nftables cierra la misma brecha en unos minutos, y probarlo forzando el cierre del proceso VPN es la única forma de confirmar de verdad que funciona. Mullvad y NordVPN incluyen ambos un kill switch integrado fiable en sus apps de Linux, por si prefieres evitar la configuración manual por completo.

Sigue leyendo: El kill switch de VPN explicado y Mejor VPN para Linux en 2026.