Guía
Cómo configurar una VPN en Linux
El cliente del proveedor desde su propio repositorio, la alternativa de un archivo de configuración en las herramientas propias del sistema, el detalle del DNS que se filtra en Linux más que en cualquier otro sistema y las comprobaciones desde un terminal. Redactado para Ubuntu 26.04 LTS y NetworkManager.
Antes de empezar
Esta guía no elige uno por ti
Todos los pasos siguientes son iguales con independencia del proveedor que uses, por eso aquí no se nombra ninguno. Elegir es otra tarea y se hace en el registro, donde la elección se basa en una puntuación publicada y no en una página de descarga.
Instala el cliente desde el propio repositorio del proveedor, con la clave de firma indicada en sus propias instrucciones. No pegues nunca en un terminal un comando de instalación de una sola línea tomado de un foro o un blog: el comando se ejecuta como root y no tienes forma de saber qué ha descargado. Un paquete de un repositorio firmado se puede comprobar; un script enviado a un shell no.
Instala el cliente
En Linux hay dos opciones y ambas son legítimas. El cliente propio del proveedor es la primera: incluye un interruptor de emergencia, un selector de servidores y la gestión del DNS. Un archivo de configuración en las herramientas propias del sistema es la segunda, y la sección final de esta guía explica lo que cuesta.
- Inicia sesión en el sitio web del proveedor y abre sus instrucciones para Linux desde el área de la cuenta. En ellas se indican el repositorio, la clave y el paquete; sigue esas instrucciones y ninguna otra.
- Añade el repositorio y su clave, y después instala el paquete con el gestor de paquetes de la distribución. La clave permite al gestor de paquetes rechazar un paquete manipulado, así que un repositorio añadido sin ella es un repositorio en el que has decidido confiar.
- Activa el servicio del cliente para que se inicie al arrancar. Un cliente suele ser un demonio root y una aplicación de escritorio que se comunica con él; el demonio controla el túnel, y un interruptor de emergencia que deba funcionar desde el arranque necesita que esté activo desde el arranque.
- Inicia sesión en el cliente — desde la aplicación o desde la línea de comandos con el token que te proporciona el área de la cuenta — y asigna al dispositivo un nombre que no te identifique.
- No te conectes todavía. Abre primero los ajustes. En la mayoría de los clientes, dos de los tres elementos siguientes están desactivados de forma predeterminada.
Los tres ajustes que conviene comprobar
Los menús de los clientes cambian, pero los ajustes no. Cada uno de los tres tiene una entrada en el glosario si el nombre no te resulta familiar.
El interruptor de emergencia
Bloquea todo el tráfico si el túnel se cae, en lugar de dejar silenciosamente que la conexión vuelva a la red normal. En Linux consiste en un conjunto de reglas del cortafuegos que escribe el cliente: se descarta todo excepto la interfaz del túnel y el propio extremo del túnel. Actívalo y, si el cliente lo ofrece, elige la modalidad siempre activa o de bloqueo, para que las reglas se mantengan desde el arranque y no solo mientras estás conectado. La función del interruptor se explica en su propia página.
DNS dentro del túnel
Las consultas de nombres pueden salir del equipo fuera del túnel aunque todo lo demás esté dentro de él, y en Linux esta es la filtración más frecuente porque el resolvedor es un componente dinámico. En Ubuntu ese componente es systemd-resolved: cada interfaz tiene sus propios resolvedores, y el que tiene la ruta predeterminada para el DNS responde a todo lo que no coincida con un dominio más específico. El cliente debería dirigir esa ruta predeterminada al resolvedor del proveedor a través de la interfaz del túnel. Configura el DNS del cliente con el del propio proveedor, no con el de un tercero; la segunda parte que solo ve las consultas es una parte más. En la página sobre filtraciones de DNS se explica cómo se produce una filtración.
El protocolo
Déjalo en la opción moderna predeterminada, salvo que algo no funcione — la página de protocolos indica cuáles están vigentes y cuáles son antiguos. Si el cliente ofrece una opción antigua para resolver un problema de conexión, es una decisión que debes tomar conscientemente y después deshacer: el registro marca el protocolo más débil que el proveedor sigue ofreciendo, y seleccionarlo manualmente significa elegir esa marca para ti.
Confirma que funciona de verdad
Conéctate y comprueba, en lugar de darlo por hecho. Haz estas tres comprobaciones desde un terminal, en este orden:
- Tu dirección ha cambiado. Usa
curlcon cualquier servicio de «cuál es mi IP» o abre uno en el navegador, y confirma que el país coincide con la salida que has elegido.ip route getpara una dirección pública debería indicar la interfaz del túnel, no la de Wi-Fi o Ethernet. - Las consultas están dentro del túnel. Ejecuta
resolvectl status: la interfaz del túnel debería llevar el resolvedor del proveedor y la ruta predeterminada del DNS; el resolvedor de la interfaz física debería estar sin utilizar. Una prueba de filtración de DNS en el navegador es una segunda opinión, y cualquier elemento perteneciente a tu proveedor de internet significa que el ajuste del DNS no se ha aplicado. - El interruptor de emergencia hace lo que dice. Con una descarga en curso, detén el servicio del cliente con
systemctl stopo desactiva la interfaz del túnel conip link set … down, para que el túnel se caiga sin pedirle al cliente que lo haga. La transferencia debería detenerse por completo. Si continúa, el interruptor es decorativo.
La batería de pruebas más amplia y lo que cada una puede y no puede mostrar se encuentra en su propia guía.
Lo que demuestran esas comprobaciones
+Tu tráfico sale a través del servidor de salida, en el país que has seleccionado
+El resolvedor que responde a tus consultas es el del proveedor y está dentro del túnel
+Un túnel caído falla de forma cerrada en lugar de volver silenciosamente a la conexión normal
Lo que no demuestran
−No dicen nada sobre lo que conserva el proveedor — es una cuestión de documentos, respondida en las páginas sobre retención
−No te hacen anónimo: tu navegador y tus sesiones no cambian; consulta de qué no te protege una VPN
−Una prueba superada hoy no es una promesa sobre la próxima actualización del paquete o el próximo kernel
La opción del archivo de configuración y lo que cuesta
La mayoría de los proveedores publican archivos de configuración para los dos protocolos habituales desde el área de la cuenta. Un archivo de WireGuard se importa en NetworkManager desde el editor de conexiones o con nmcli connection import, y funciona igual de bien con wg-quick; un archivo de OpenVPN se importa de la misma forma con el complemento de OpenVPN. Obtienes el túnel, el interruptor de interfaz propio del sistema y nada que el proveedor no haya incluido en el archivo.
Lo que pierdes es el resto del cliente. No hay interruptor de emergencia a menos que escribas tú mismo las reglas del cortafuegos; un archivo importado en NetworkManager que se cae simplemente devuelve el tráfico a la red normal. No hay gestión del DNS más allá de la línea DNS del archivo, y un archivo sin ella es la filtración que aparece en la primera respuesta de resolución de problemas. No hay selector de servidores: cada archivo corresponde a una salida, y cambiar de salida implica usar otro archivo. Genera los archivos desde el área de la cuenta y mantenlos privados: un archivo de WireGuard contiene la clave privada que constituye tu identidad ante el proveedor.
Esta opción es adecuada para un servidor, una máquina sin interfaz gráfica o una distribución que el cliente no admita. En un portátil, es preferible el cliente; el interruptor que incorpora es precisamente lo que no puede ofrecer un archivo de configuración.
Cuando no funciona
El túnel está activo, pero el DNS sigue usando mi proveedor de internet
La filtración clásica de Linux. Un archivo de configuración que no establece ningún DNS deja que systemd-resolved use el resolvedor proporcionado por la red, fuera del túnel. Ejecuta resolvectl status: la interfaz del túnel debería mostrar el resolvedor del proveedor y llevar la ruta predeterminada para el DNS, marcada con un signo más.
Añade una línea de DNS a la configuración o establece el DNS de la conexión en NetworkManager, y vuelve a conectarte. El cliente propio del proveedor lo configura por sí mismo, que es una de las razones para preferirlo.
Todo deja de funcionar cuando se cae el túnel, y eso es molesto
Eso significa que el interruptor de emergencia está haciendo su trabajo: un túnel caído se convierte en una conexión muerta, no en una vuelta silenciosa a la red sin protección. Vuelve a conectarte en lugar de desactivar el interruptor.
Si se cae a menudo en una red y rara vez en otras, cambia de protocolo una vez y prueba una salida más cercana. Si ningún protocolo funciona de forma estable en esa red, la red está bloqueando el tráfico de la VPN y esta guía termina ahí.
El cliente pide sudo o una contraseña cada vez
Crear una interfaz de red es una operación privilegiada, y un cliente que no instala un servicio en segundo plano tiene que pedir permiso cada vez. La mayoría sí instala uno: un demonio que se ejecuta como root y una aplicación de escritorio que se comunica con él; la solicitud repetida indica que el servicio no está activo o no está habilitado.
Mismos pasos, otros equipos
El resto de las plataformas
Cada plataforma tiene su propia guía en lugar de una pestaña en esta. Los pasos divergen en cuanto se abre el instalador, y una página que responde a tres plataformas a la vez no responde bien a ninguna.