Con la pandemia preparé mi servidor pfSense para aceptar conexiones OpenVPN mediante conexiones Roadwarrior para trabajo en casa.
Afortunadamente no se ofreció tanto, pero más vale estar preparado.
Ahora en este artículo no vas a encontrar las instrucciones para la configuración de OpenVPN, mi lector dirá – ¿O sea como? , si me explico.
En su lugar les voy a mostrar este video del maestro Pedro Moreno que explica a detalle y paso a paso la configuración de OpenVPN.
Ese fue el tutorial que yo seguí para la configuración. Y funcionó perfectamente durante mucho tiempo … hasta que dejó de hacerlo 🙁
OpenVPN dejó de funcionar
Creo que fue a partir de la actualización de pfSense a la versión 2.5 en la que la VPN dejó de funcionar.
Simplemente el servidor rechazaba las conexiones, no había manera de lograr una conexión con una configuración que sin moverle funcionó perfectamente por más de un año.
Investigué en algunos foros sin mucho resultado. Intenté validar algunas hipótesis sin mucho éxito.
Me estaba quedando sin ideas, así que decidí probar algo un poco arriesgado.
Control Z
Deshacer el tutorial, para volverlo a hacer paso a paso.
Primero y antes que nada hay que hacer un respaldo de la configuración Diagnostics – Backup & Restore (Yo lo tengo en inglés porque la traducción en español para mí es algo confusa).
Entonces con mucho cuidado, hay que empezar a eliminar las Reglas del firewall , los alias, el redireccionamiento de puertos (los pasos del 5 al 10 del video).
La creación de usuarios y los certificados no fue necesario rehacerlo (pasos 3 y 4) los dejé tal y como estaban.
Cuanto logres este punto, te recomiendo que hagas otro respaldo, una especie de checkpoint por si necesitas regresar a este punto.
Ahora si, a repetir los pasos a partir del Wizard poniendo atención a todos los detalles.
Supongo que si usted sigue este tutorial por primera vez funcionará bien, pero tenga en consideración lo que sigue.
Cambiar la aplicación de Android
Bueno, ahora todo debería de funciona ¿cierto? después de todo para eso se deshizo y rehízo el tutorial ¡PUEEES NO ES CIERTO! ahhhhhhh
Por alguna razón la aplicación para android recomendada en el tutorial tampoco funcionó y no lograba conectarse.
Un detalle por demás interesante ya que se trata de aplicación OpenVPN “oficial” y que antes de la actualización que mencioné en un principio funcionaba perfectamente.
En la misma página de OpenVPN de pfSense, en la opción Client Export hacen la recomendación de una aplicación diferente para Android que se llama OpenVPN for Android de Arne Schwabe con una interfaz de usuario más espartana, con una multitud de opciones de configuración pero que funciona muy bien.
Conectarse a OpenVPN desde Linux
Es curioso, el tutorial en video muestra como conectarse desde Android, Windows pero no desde Linux.
Al principio intenté con el Network Manager (networkmanager-openvpn) que viene integrado en mi instalación de Manjaro ¿pero que creen? no funciona. Probé ajustando un montón de parámetros pero no … no se conecta ¿Qué raro no?
Al final lo más simple es lo mejor. Instalé el paquete openvpn disponible en mi instalación de Manjaro.
Descargué la configuración en Client Export que dice Bundled Configuration Archive.
Descomprimí los archivos en una carpeta local. Son 3 archivos, uno con extensión .ovpn, otro con .key y el último .p12.
Abrí una terminal en esa carpeta y teclee lo siguiente:
sudo openvpn --config archivo.ovpn
Me pregunta por mi nombre de usuario en la VPN y su contraseña y si todo sale bien, estaré conectado a mi servidor y tendré acceso a los recursos de esa red como si estuviera localmente.
Sólo tengo que minimizar la terminal, Si quiero termina la conexión con presionar Ctrl + C se cierra.
Si es un asunto frecuente, puedo hacer un alias para simplificar las cosas.
Options error: Unrecognized option or missing or extra parameter(s) ncp-disable
Esta es una actualización a este artículo (agosto 2021) porque nuevamente tuve problemas para establecer una conexión al servidor OpenVPN.
Intenté conectarme con mi teléfono celular al servidor OpenVPN pero me arrojó un mensaje de error. La parte interesante es esta:
Options error: Unrecognized option or missing or extra parameter(s) in /data/user/0/de.blinkt.openvpn/cache/android.conf:142: ncp-disable (2.5_master) Use --help for more information. Process exited with exit value 1
Afortunadamente este error es mucho más sencillo de solucionar. El mismo mensaje de error da la pista sobre la opción ncp-disable que fue eliminada en las versiones más recientes de OpenVPN.
Descargué la configuración en Client Export el archivo Inline Configurations – Android.
Lo abrí con un editor de textos y ahí estaba la opción problemática.
La solución es muy simple. Eliminé esa línea, guardé el archivo y lo envíe a mi celular para dar de alta el nuevo perfil en la aplicación.
Hecho esto pude conectarme sin problemas al servidor OpenVPN.
¿Qué les pareció este artículo? ¿Usan una VPN frecuentemente?
Cuidense mucho, que el COVID esta juerte oiga.
Interesante este artículo con video tutorial y todo. He pensado mucho si usar vpn o no. Es conveniente en muchas maneras..pero si tas fuera y necesitas la vpn y justo se le «ocurrió» dejar de funcionar, me da mas confianza a la antigüita, con nubecitas que guardan tus archivos mientras que leen lo que subes.
Hola Rosa,
Lo bueno es que ya estamos saliendo de la pandemia y poco a poco todo esta volviendo a la «normalidad».
Aunque parece que el mundo no para, fiuuu pandemia … 3 doritos después ¡Guerra en Ucrania!
Ya parenle por favoooor !!!
Hola, buen artículo.
Finalmente, cuál era el problema?
En el log nada permite saber porqué ya no funcionaba?
Saludos
Hola Robert,
La verdad no tengo idea. Recuerdo que la información de los registros no me llevó a ningún lado.
Supongo que fue un detalle en la actualización de pfSense la que provocó el problema.
Pero justo hoy voy a modificar este artículo por un nuevo problema.
Saludooooos 🙂