VPN en Linux: cómo configurarla y por qué los problemas suelen deberse al DNS y a las rutas, no a la conexión

VPN en Linux: cómo configurarla y por qué los problemas suelen deberse al DNS y a las rutas, no a la conexión

Con Linux la historia suele ser más interesante que con Windows y los teléfonos. No porque todo sea terriblemente complicado, sino porque demasiado depende de la distribución, del entorno gráfico y de cómo esté configurada la red en el sistema. En un portátil la VPN se añade en un minuto desde los ajustes de GNOME, en otro es más cómodo importar el perfil con NetworkManager, y en un tercero es más sencillo abrir la terminal y trabajar con nmcli. Y esa variación en Linux importa más que cualquier bonito botón de conexión.

Por eso en esta parte no tiene sentido volver a explicar qué es una VPN, dónde se necesita y en qué se diferencia la conexión integrada de las aplicaciones. Es más útil entender otra cosa: en Linux el túnel con frecuencia se establece sin mayor drama, y los problemas aparecen después. No se abren direcciones internas, falla el DNS, cambia la ruta por defecto o resulta que el perfil está conectado pero el tráfico va a un sitio distinto al esperado.

Dónde se configura la VPN en Linux

Si tomamos un Linux de escritorio con GNOME, el camino más habitual es este: abrir Ajustes, ir al apartado de red y pulsar el botón para añadir una conexión junto a VPN. En la documentación oficial de Ubuntu los pasos se describen casi igual: abrir los ajustes de red y pulsar + junto a VPN. Si el tipo de VPN necesario no está soportado por los módulos instalados de NetworkManager, el sistema avisa de que hará falta un cliente aparte o un paquete adicional. Ahí Linux ya muestra su carácter: el botón existe, pero luego todo depende de si está instalado el complemento adecuado.

Si el entorno gráfico es mínimo o resulta más cómodo trabajar desde la terminal, entra en acción nmcli. Es la herramienta de serie de NetworkManager para crear, modificar y activar conexiones. No solo muestra los perfiles actuales, también puede importar configuraciones ya hechas. Por ejemplo, para OpenVPN existe un comando directo de importación: nmcli con import type openvpn file ~/Downloads/profile.ovpn. Para Linux esto es muy útil, porque un archivo preparado suele ser más sencillo y fiable que introducir parámetros manualmente de memoria. Quizá escriba sobre esto con más detalle.

Existe un tercer camino: nmtui. Es la interfaz textual de NetworkManager, útil cuando no hay entorno gráfico o no viene al caso. Para servidores, máquinas virtuales y sistemas minimalistas sin adornos es una opción totalmente válida. Red Hat describe por separado `nmtui` como una forma estándar de configurar conexiones de red en modo texto. Es decir, Linux ofrece no uno sino varios caminos, y eso suele ser una ventaja.

Dónde trabajas Qué es más cómodo para configurar la VPN Cuándo es la mejor opción
Escritorio habitual con GNOME Ajustes de red y sección VPN Cuando se necesita un método gráfico rápido sin usar la terminal
Portátil o PC donde conviene trabajar en terminal nmcli Cuando hay que importar un perfil, editar parámetros rápidamente o automatizar la configuración
Servidor, sistema mínimo o entorno TUI nmtui Cuando no hay entorno gráfico o simplemente no es necesario

Por qué en Linux es mejor no crear el perfil desde cero

En Linux la configuración manual por campos es posible, pero no siempre recomendable. Si ya dispones de un perfil OpenVPN, suele ser más sencillo importarlo en NetworkManager que transferir los parámetros a mano. Por eso el comando de importación en nmcli es más útil de lo que parece a primera vista. Ahorra tiempo y reduce la cantidad de errores mínimos que luego se transforman en un muy cansado «¿por qué no funciona?».

Si el perfil lo ha entregado la empresa o el administrador, la lógica es la misma que en las partes anteriores de la serie: mejor no adivinar. Linux tolera el trabajo manual, pero no le gustan las imprecisiones. Un parámetro incorrecto en el perfil, un certificado olvidado o un tipo de conexión equivocado y tendrás no un error claro, sino una configuración a medias que parece existir pero resulta poco útil.

  1. Comprueba si hay un perfil listo o un archivo .ovpn.
  2. Si lo hay, impórtalo mediante NetworkManager o nmcli.
  3. Si no existe perfil, primero aclara los parámetros exactos y luego crea la conexión manualmente.
  4. Tras crear el perfil, verifica no solo el hecho de la conexión, sino también DNS, rutas y el acceso a las direcciones internas necesarias.

Qué suele fallar en Linux después de conectar

Aquí empieza la parte más interesante. En Linux el problema con frecuencia no es que la VPN no se haya establecido. Más a menudo el túnel sí aparece, pero luego no funcionan las direcciones internas, los dominios se resuelven de forma extraña o cambia el comportamiento de toda la red. La causa suele estar en el DNS. NetworkManager gestiona el orden de los servidores DNS de distintas conexiones y tiene parámetros de prioridad específicos: ipv4.dns-priority y ipv6.dns-priority. Si la máquina tiene varias conexiones activas, eso determina qué servidores DNS resultan principales.

Esto no es una nimiedad para los que prestan atención. En la práctica, por culpa del DNS después de conectarse a la VPN puede abrirse Internet pero no la zona interna de la empresa. O al revés: los nombres internos se resuelven y la red externa se comporta de forma rara. En Windows en estos casos suelen mirar el proxy. En Linux hay que mirar con más frecuencia el DNS, el orden de rutas y cómo NetworkManager ha compuesto el panorama de red final.

El segundo problema típico es la ruta por defecto. La VPN puede levantarse solo para acceder a unas direcciones internas concretas, o puede llevarse todo el tráfico. Si las expectativas no coinciden con la configuración del perfil, el usuario se encuentra con la situación clásica: la conexión parece existir, pero Internet va más lento, parte de los sitios deja de abrirse o los recursos internos son accesibles solo hasta la primera reconexión. Linux es honesto pero estricto: lo que esté escrito en el perfil es lo que funcionará.

  • comprueba si se abren exactamente las direcciones internas necesarias, y no solo cualquier sitio;
  • verifica si cambió el orden de los DNS tras la conexión;
  • comprueba si todo el tráfico va por el túnel o solo las redes necesarias;
  • no consideres que el estado «conectado» demuestra por sí solo que todo está bien configurado.

Preguntas frecuentes

¿Se puede configurar la VPN en Linux sin terminal?

Sí, si el sistema tiene entorno gráfico y está instalado el módulo adecuado de NetworkManager. En un Linux de escritorio normal la conexión suele añadirse desde los ajustes de red y la sección VPN. Pero si falta el módulo necesario o es más cómodo importar el perfil desde un archivo, la terminal a menudo resulta más rápida y clara.

¿Qué es más cómodo en Linux: ajustes gráficos, nmcli o nmtui?

Depende de la máquina y de la tarea. En un portátil con GNOME es más sencillo empezar por los ajustes gráficos. Si hace falta importar un perfil, editar parámetros rápidamente o repetir la configuración en varias máquinas, resulta más cómodo nmcli. Para servidores, instalaciones mínimas y entornos de texto suele resolver nmtui.

¿Por qué la VPN en Linux se conecta pero las direcciones internas no se abren?

Con frecuencia el problema ya no está en el túnel en sí. Tras la conexión conviene revisar DNS, rutas y qué redes deben pasar por la VPN. En Linux en este punto es donde suele comenzar la confusión.

¿Es mejor introducir los parámetros manualmente o importar un perfil listo?

Si hay un perfil listo o un archivo .ovpn, suele ser más sensato importarlo. Hay menos posibilidades de equivocarse en detalles. La configuración manual es adecuada cuando no hay un perfil disponible, pero sí tienes parámetros precisos del administrador o de tu panel de control.

¿Por qué al conectarme a una VPN en Linux Internet empieza a comportarse de forma extraña?

Normalmente la causa es el DNS o las rutas. La VPN puede redirigir todo el tráfico o solo el acceso a redes internas. Si el perfil está configurado de otra manera a la que esperabas, algunos sitios pueden abrirse con lentitud y otros dejar de funcionar correctamente.

¿Qué hacer si en los ajustes de Linux no aparece el tipo de VPN necesario?

Lo más probable es que falte un módulo o complemento para NetworkManager. En ese caso habrá que instalar un paquete adicional o usar el cliente que recomiende el servicio o el administrador.

¿Tiene sentido comprobar solo el estado de conexión?

No. En Linux el estado «conectado» no garantiza nada por sí mismo. Es importante verificar que se abran las direcciones y servicios por los que configuraste la VPN.

¿Cuándo es mejor usar la terminal en Linux en lugar de la interfaz gráfica?

Cuando hay que importar un perfil, cambiar parámetros con rapidez, transferir la configuración entre máquinas o trabajar en un sistema sin entorno gráfico completo. En esos casos nmcli y nmtui suelen ser más cómodos que una ventana de ajustes.

Qué comprobar antes de configurar manualmente

Antes de crear un perfil a mano es mejor repasar una lista corta. En Linux esto es especialmente útil, porque es muy fácil perder tiempo no en la configuración en sí, sino en las consecuencias de un esquema de red mal planteado.

  • si está instalado el módulo de NetworkManager necesario para tu tipo de VPN;
  • si existe un perfil listo o un .ovpn que sea más sencillo de importar que introducir todo a mano;
  • si está claro si la VPN debe llevarse todo el tráfico o solo las redes internas;
  • si se sabe qué servidores DNS deben usarse tras la conexión;
  • si no es más cómodo trabajar directamente con nmcli o nmtui en lugar de la interfaz gráfica.

En resumen, Linux con VPN valora más la precisión que la experiencia. Rara vez hace falta algún truco secreto: suele bastar un perfil exacto, una importación correcta de la configuración y comprender cómo se comportarán el DNS y las rutas después de conectar.

Alt text