Pritunl es un servidor VPN de código abierto con un panel web de administración. Ofrece la posibilidad de configurar los protocolos OpenVPN y WireGuard para la creación del túnel mientras usa una interfaz web bastante intuitiva que utiliza MongoDB. También es posible configurar Google Authenticator para las conexiones VPN con los clientes. En este artículo mostraremos cómo instalar, configurar y conectarse a Pritunl VPN para crear una conexión VPN de ambos protocolos disponibles.
Enlaces
- Repositorio Pritunl en GitHub
- Página oficial de cliente OpenVPN Pritunl
- Documentación Pritunl oficial
Instalación de Pritunl
Primero, para instalarlo crea la lista para añadir el repositorio de Printunl:
# tee /etc/apt/sources.list.d/pritunl.list << EOF
deb http://repo.pritunl.com/stable/apt focal main
EOF
Luego añade la llave para el repositorio:
# apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv 7568D9BB55FF9E5287D586017AE645C0CF8E292A
Posteriormente, actualiza los repositorios y paquetes:
# apt update && apt upgrade
Después instala un requerimiento y añade el repositorio de MongoDB:
# apt install gnupg -y && wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | apt-key add -
Actualiza los repositorios de nuevo e instala MongoDB y Pritunl:
# apt update && apt install mongodb pritunl
Inícialos y actívalos una vez finalizada la instalación:
# systemctl start mongodb pritunl && systemctl enable mongodb pritunl
Comprueba el estado de ambos:
# systemctl status pritunl.service pritunl.service
Ahora deberías tener acceso al panel Web administrativo de Pritunl (https://dirección_pública_ejemplo/setup) desde un navegador utilizando la dirección IP del servidor, pero solicitará una llave.
Para obtenerla ejecuta lo siguiente:
# pritunl setup-key
Una vez introducida, redigirá a la página de login y para obtener las credenciales por defecto ejecuta:
# pritunl default-password
Primero, para instalarlo crea la lista para añadir el repositorio de Printunl:
# tee /etc/apt/sources.list.d/pritunl.list << EOF
deb http://repo.pritunl.com/stable/apt buster main
EOF
Luego añade la llave para el repositorio:
# apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv 7568D9BB55FF9E5287D586017AE645C0CF8E292A
Posteriormente, actualiza los repositorios y paquetes:
# apt update && apt upgrade
Después instala un requerimiento y añade el repositorio de MongoDB:
# apt install gnupg -y && wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | apt-key add -
Actualiza los repositorios de nuevo e instala MongoDB y Pritunl:
# apt update && apt install mongodb pritunl
Inícialos y actívalos una vez finalizada la instalación:
# systemctl start mongodb pritunl && systemctl enable mongodb pritunl
Comprueba el estado de ambos:
# systemctl status pritunl.service pritunl.service
Ahora deberías tener acceso al panel Web administrativo de Pritunl (https://dirección_pública_ejemplo/setup) desde un navegador utilizando la dirección IP del servidor, pero solicitará una llave.
Para obtenerla ejecuta lo siguiente:
# pritunl setup-key
Una vez introducida, redigirá a la página de login y para obtener las credenciales por defecto ejecuta:
# pritunl default-password
Primero, para instalarlo crea la lista para añadir el repositorio de Printunl:
# tee /etc/yum.repos.d/pritunl.repo << EOF
[pritunl]
name=Pritunl
Repository
baseurl=https://repo.pritunl.com/stable/yum/centos/8/ gpgcheck=1 enabled=1
EOF
Luego añade la llave para el repositorio:
# yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 7568D9BB55FF9E5287D586017AE645C0CF8E292A
gpg --armor --export 7568D9BB55FF9E5287D586017AE645C0CF8E292A > key.tmp; rpm --import key.tmp; rm -f key.tmp
Posteriormente, actualiza los repositorios y paquetes:
# yum update && yum upgrade
Después instala un requerimiento y añade el repositorio de MongoDB:
# tee /etc/yum.repos.d/mongodb-org-5.0.repo << EOF
[mongodb-org-5.0]
name=MongoDB
Repository
baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/5.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc
EOF
Actualiza los repositorios de nuevo e instala MongoDB y Pritunl:
# yum update && yum install mongodb pritunl
Inícialos y actívalos una vez finalizada la instalación:
# systemctl start mongodb pritunl && systemctl enable mongodb pritunl
Comprueba el estado de ambos:
# systemctl status pritunl.service pritunl.service
Ahora deberías tener acceso al panel Web administrativo de Pritunl (https://dirección_pública_ejemplo/setup) desde un navegador utilizando la dirección IP del servidor, pero solicitará una llave.
Para obtenerla ejecuta lo siguiente:
# pritunl setup-key
Una vez introducida, redigirá a la página de login y para obtener las credenciales por defecto ejecuta:
# pritunl default-password
Configuración de OpenVPN y Wireguard
Una vez instalado y con acceso al panel de administración haz clic en la pestaña "Users", en ella tendrás la opción de crear tu primera organización haciendo clic en "Add Organization" (puedes añadir más para separar usuarios entre conexiones VPN mediante estas organizaciones) y abrirá la siguiente ventana donde deberás indicar un nombre:
Luego añade los usuarios en la organización en la misma pestaña "Users" haciendo clic en "Add user". Aparecerá la siguiente ventana donde deberás indicar el nombre del usuario, seleccionar la organización desde el despegable y un PIN que deberá indicar para conectarse a la conexión VPN:
Lo siguiente será configurar una conexión VPN, para ello haz clic en la pestaña "Servers" y posteriormente en botón "Add server" para que aparezca la siguiente ventana:
En ella deberás indicar el nombre de la conexión, el puerto para el OpenVPN y la red virtual de la conexión. Adicionalmente, si quieres crear una conexión VPN con Wireguard haz clic en "Enable WireGuard" para poder indicar otro puerto para él y su red virtual (deben ser diferentes al OpenVPN).
Recordatorio
No te olvides de abrir los puertos configurados para las conexiones VPN en perfil de Firewall de Clouding vinculado en dicho servidor para permitir el acceso a él (Cómo crear una regla de firewall).
Una vez terminada, deberás vincular la conexión VPN con la organización para asignar los usuarios, por lo tanto, haz clic en "Attach Organization" desde la misma pestaña de "Servers" para seleccionar la conexión y organización en la ventana que aparecerá:
Por último, antes de encender el servidor VPN añade la ruta de la red interna de tus servidores en "Add route" para que se le añada la ruta en la configuración del usuario por defecto:
Adicionalmente, recuerda eliminar la siguiente ruta si no deseas redirigir todo el tráfico del cliente:
Una vez hayas terminado con las rutas, haz clic en "Start Server" para levantar la conexión.
Configuración cliente VPN
Para configurar el cliente, en el mismo panel administrativo de Pritunl podrás descargar la configuración de cada usuario en la pestaña "Users", haciendo clic en el icono de descarga o en obtener enlace temporal para la conexión como a continuación:
Después en el equipo del usuario deberá de descargar el cliente correspondiente a su sistema operativo, puedes hacer clic aquí para ir al página oficial de descarga. Una vez instalado, importa el fichero de configuración o la URL del enlace temporal y haz clic en "Connect" una vez importada para terminar indicando el PIN configurado para dicho usuario:
Esperamos haberte ayudado con este tutorial 🙂. Recuerda, si tienes consultas sobre esta u otra cuestión relacionada con tus servidores en Clouding, no dudes en escribir a soporte@clouding.io ¡Estamos a tu lado para lo que necesites!