GNU/Linux >> Tutoriales Linux >  >> Rocky Linux

Cómo configurar el servidor Pritunl VPN en Rocky Linux 8

Pritunl es un servidor VPN e IPsec de código abierto con administración de usuarios y escalado horizontal para organizaciones pequeñas y grandes. Le da al usuario la opción de usar los protocolos OpenVPN y Wireguard. Viene con una interfaz GUI fácil de usar y admite clientes en la mayoría de los dispositivos y plataformas. Todo el tráfico entre los clientes y el servidor está encriptado. Pritunl se basa en MongoDB, una base de datos confiable y escalable que se puede implementar rápidamente y con soporte integrado para la replicación, lo que facilita la implementación del clúster de Pritunl.

Este tutorial le enseñará cómo instalar el servidor Pritunl VPN en Rocky Linux 8. También exploraremos cómo conectarse a la VPN usando un cliente Linux.

Requisitos

  1. Un sistema que ejecuta Rocky Linux 8 para alojar el servidor Pritunl.

  2. Un usuario no root con privilegios sudo.

  3. Un nombre de dominio apuntado al servidor.

  4. Un sistema que ejecuta Rocky Linux 8 como cliente.

  5. Asegúrate de que todo esté actualizado.

    $ sudo dnf update
    
  6. Instale los requisitos previos.

    $ sudo dnf install nano
    

Paso 1:configurar el cortafuegos

Rocky Linux usa Firewalld Firewall. Compruebe el estado del cortafuegos.

$ sudo firewall-cmd --state
running

Esto indica que está funcionando correctamente.

El cortafuegos funciona con diferentes zonas y la zona pública es la predeterminada, que usaremos. Enumere todos los servicios y puertos activos en el firewall.

$ sudo firewall-cmd --permanent --list-services

Debería mostrar el siguiente resultado.

dhcpv6-client mdns ssh

Permitir puertos HTTP y HTTPS.

$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https

Vuelva a comprobar el estado del cortafuegos.

$ sudo firewall-cmd --permanent --list-all

Debería ver un resultado similar.

public
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: cockpit dhcpv6-client http https ssh
  ports: 
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

Vuelva a cargar el cortafuegos para habilitar los cambios.

$ sudo firewall-cmd --reload

Paso 2:instalar MongoDB

Pritunl se basa en la base de datos MongoDB, por lo que primero debemos instalarlo. Rocky Linux no incluye MongoDB, por lo que debemos usar el repositorio oficial de MongoDB.

Nota: MongoDB 5.0 solo funciona en los procesadores más nuevos. Si su servidor se ejecuta en hardware antiguo, debe optar por una versión anterior de MongoDB o cambiar a un servidor más nuevo.

Cree y abra el archivo /etc/yum.repos.d/mongodb-org-5.0.repo para editar.

$ sudo nano /etc/yum.repos.d/mongodb-org-5.0.repo

Pegue el siguiente código en él.

[mongodb-org-5.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/5.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc

Guarde el archivo presionando Ctrl + X e ingresando Y cuando se le solicite una vez terminado.

Instale MongoDB.

$ sudo dnf install mongodb-org

Habilite e inicie el servicio MongoDB.

$ sudo systemctl enable mongod --now

Paso 3:instalar el servidor Pritunl

El primer paso es crear el repositorio oficial de Pritunl. Cree y abra el archivo /etc/yum.repos.d/pritunl.repo para editar.

$ sudo nano /etc/yum.repos.d/pritunl.repo

Pegue el siguiente código en él.

[pritunl]
name=Pritunl Repository
baseurl=https://repo.pritunl.com/stable/yum/centos/8/
gpgcheck=1
enabled=1

Guarde el archivo presionando Ctrl + X e ingresando Y cuando se le solicite una vez terminado.

Instale primero el repositorio de Epel, que es requerido por Pritunl.

$ sudo dnf install epel-release

Agregue e importe las claves GPG necesarias para Pritunl.

$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 7568D9BB55FF9E5287D586017AE645C0CF8E292A
$ gpg --armor --export 7568D9BB55FF9E5287D586017AE645C0CF8E292A > key.tmp; sudo rpm --import key.tmp; rm -f key.tmp

Instalar Pritunl.

$ sudo dnf install pritunl

Verifique la versión de Pritunl.

$ pritunl version
pritunl v1.30.2960.4

Habilite e inicie el servicio Pritunl.

$ sudo systemctl enable pritunl --now

Aumentar el límite de archivos abiertos

Ejecute los siguientes comandos para aumentar el límite de archivos abiertos en el servidor. Esto evitará cualquier problema de conexión en caso de alta carga. Si ha instalado MongoDB en un servidor separado, debe ejecutar estos comandos en ese servidor.

$ sudo sh -c 'echo "* hard nofile 64000" >> /etc/security/limits.conf'
$ sudo sh -c 'echo "* soft nofile 64000" >> /etc/security/limits.conf'
$ sudo sh -c 'echo "root hard nofile 64000" >> /etc/security/limits.conf'
$ sudo sh -c 'echo "root soft nofile 64000" >> /etc/security/limits.conf'

Paso 4:acceder y configurar Pritunl

Puede iniciar Pritunl ingresando http://<serverIP>/ en tu navegador. Los navegadores modernos intentan acceder a la versión HTTPS de cada sitio, por lo que deberá omitir el error de privacidad que genera el navegador.

Obtendrá la siguiente pantalla cuando inicie la URL por primera vez.

Toma el URI de MongoDB automáticamente. Para la clave de configuración, ejecute el siguiente comando.

$ sudo pritunl setup-key
eacbd641982048fd9a60cdf09f7ebaa3

Introduzca la clave generada en el sitio web y haga clic en Guardar botón. Actualizará la base de datos y abrirá la pantalla de inicio de sesión.

Ejecute el siguiente comando para generar información de inicio de sesión predeterminada.

$ sudo pritunl default-password
[undefined][2021-11-08 22:34:55,255][INFO] Getting default administrator password
Administrator default password:
  username: "pritunl"
  password: "krZQLlH9U7P1"

Ingrese la información de inicio de sesión e inicie sesión. Aparecerá la siguiente pantalla de configuración.

Ingrese una contraseña segura para reemplazar la predeterminada. Introduce un dominio en Dominio de Lets Encrypt. campo. Pritunl generará y configurará un certificado SSL automáticamente para el dominio.

Ahora puede iniciar el servidor utilizando el nombre de dominio escribiendo https://pritunl.example.com en su navegador.

Paso 5:agregue una organización, un servidor y usuarios

El siguiente paso es agregar una Organización para su VPN. Haga clic en Usuarios y haga clic en Agregar organización botón.

Haz clic en Agregar botón para continuar.

El siguiente paso es agregar un usuario. Hay dos opciones. Puede agregar usuarios uno por uno o agregarlos de forma masiva. Vamos a agregar un solo usuario por ahora. Haga clic en Agregar usuario botón.

El campo PIN es opcional y se utiliza si va a utilizar la autenticación de dos factores. El PIN se compone únicamente de números.

Una vez configurada la organización y los usuarios, vaya a Servidores y haga clic en Agregar servidor botón.

Puerto :Puede agregar cualquier puerto que usará el servidor. Asegúrese de que el puerto que especificó esté abierto a todo el tráfico entrante en el grupo de seguridad.

DNS: Puede agregar Google DNS u OpenDNS.

Red Virtual: Puede agregar una IP privada en este campo, pero asegúrese de que ningún otro recurso la use. A los clientes se les asignarán direcciones IP de este rango.

Red de grupos de trabajo virtuales: WireGuard Network Direcciones para la red privada que se asignará a los clientes de WireGuard. Debe tener el mismo bloque CIDR que la red virtual.

Habilitar WireGuard: Si está marcado, utilizará WireGuard en lugar de OpenVPN. Sin embargo, usaremos OpenVPN para nuestro tutorial, así que déjelo sin marcar.

Puerto WG: Este puerto se utilizará para las conexiones WireGuard. Es de uso exclusivo cuando hemos habilitado la opción WireGuard.

Habilitar el Autenticador de Google: Para usar la verificación en dos pasos, habilite esta opción. Si esta opción está habilitada en el servidor, todos los clientes de ese servidor deben verificar la OTP antes de conectarse a la VPN cada vez.

Habilitar IPv6 :Habilita servidores DNS IPv6. Los clientes reciben direcciones IPv6 privadas.

Haz clic en Agregar botón para terminar.

Haga clic en Agregar organización botón para vincular la organización con el servidor recién creado.

Haga clic en Iniciar servidor botón para iniciar la VPN.

Habilitar puerto en firewall

Para aceptar las conexiones del cliente a través del puerto VPN, debemos habilitarlo a través de nuestro firewall.

$ sudo firewall-cmd --permanent --add-port=18412/udp
$ sudo firewall-cmd --reload

Paso 6:instalar el cliente Pritunl

Ahora que nuestro servidor está funcionando, es hora de instalar un cliente y conectarse a la VPN. Pritunl ofrece dos tipos de clientes:una línea de comandos y un cliente GUI.

Para nuestro tutorial, usaremos el cliente de línea de comandos. Solo puede instalar un tipo de cliente en un sistema.

Instale el repositorio EPEL que necesita el cliente Pritunl.

$ sudo dnf install epel-release

Agregue el repositorio oficial de Pritunl a su sistema Rocky Linux.

$ sudo tee -a /etc/yum.repos.d/pritunl.repo << EOF
[pritunl]
name=Pritunl Stable Repository
baseurl=https://repo.pritunl.com/stable/yum/centos/8/
gpgcheck=1
enabled=1
EOF

Agregue e importe las claves GPG.

$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 7568D9BB55FF9E5287D586017AE645C0CF8E292A
$ gpg --armor --export 7568D9BB55FF9E5287D586017AE645C0CF8E292A > key.tmp; sudo rpm --import key.tmp; rm -f key.tmp

Instale el cliente de línea de comandos.

$ sudo dnf install pritunl-client

Paso 7:Conectar del cliente al servidor

Desde la pestaña de usuarios del sitio del servidor Pritunl, obtenga el enlace de perfil temporal para conectarse al cliente.

Copie el enlace URI temporal de la última entrada.

Ingrese el siguiente comando en la terminal del cliente para agregar el perfil.

$ pritunl-client add pritunl://example.com/ku/2hd6S6Ug

Asegúrate de agregar el enlace del perfil copiado antes después de add en el comando.

Consulta la lista de los perfiles añadidos.

$ pritunl-client list
+----------------------------------+-------------------------+--------------+----------------+----------------+
|                ID                |          NAME           |  ONLINE FOR  | SERVER ADDRESS | CLIENT ADDRESS |
+----------------------------------+-------------------------+--------------+----------------+----------------+
| wkinhnnjyz3ybektjbavy8qpecafqp1e | hforgeuser (howtoforge) | Disconnected | -              | -              |
+----------------------------------+-------------------------+--------------+----------------+----------------+

Ejecute el siguiente comando para conectarse al perfil. No es necesario utilizar el ID de perfil completo en el comando. Solo use las primeras 3 letras del ID del perfil para referirse a él.

$ pritunl-client start wki --mode=ovpn --password=PINOTP
  • Para especificar el modo OPVN, agregue la marca --mode=ovpn en el comando.
  • Si ha habilitado la opción Google Authenticator, debe configurarla mediante un cliente Google Authenticator o Authy.
  • Para especificar el PIN y el código de autenticación de dos factores, use la marca --password=PINOTP en el comando Por ejemplo, si el PIN es 54321 y el código OTP es 456789, utilice la bandera --password=54321456789 en el comando de arriba. Si solo usa PIN, use la marca --password=PIN .

Ejecute la list comando de nuevo para comprobar si la conexión está funcionando.

$ pritunl-client list
+----------------------------------+-------------------------+------------+----------------+----------------+
|                ID                |          NAME           | ONLINE FOR | SERVER ADDRESS | CLIENT ADDRESS |
+----------------------------------+-------------------------+------------+----------------+----------------+
| wkinhnnjyz3ybektjbavy8qpecafqp1e | hforgeuser (howtoforge) | 6 secs     | 178.62.233.196 | 192.168.238.2  |
+----------------------------------+-------------------------+------------+----------------+----------------+

Ha realizado una conexión exitosa a Pritunl VPN.

Línea de comandos de Pritunl

El servidor Pritunl viene con una herramienta de línea de comandos que puede usar para realizar algunas operaciones básicas.

Reparar base de datos

Puede usar Pritunl para reparar la base de datos y permitir la recuperación de una base de datos corrupta o inconsistente.

Primero, detenga el servidor Pritunl.

$ sudo systemctl stop pritunl

Reparar la base de datos.

$ sudo pritunl repair-database

Reinicie el servicio Pritunl.

$ sudo systemctl start pritunl

La repair-database El comando borrará todos los registros, restablecerá todas las direcciones IP virtuales estáticas de los usuarios y pondrá todos los servidores en estado detenido.

Restablecer credenciales

El siguiente comando restablecerá el nombre de usuario y la contraseña del administrador a pritunl . También eliminará cualquier configuración de inicio de sesión único y autenticación de dos pasos para el usuario administrador si está habilitada.

$ sudo pritunl reset-password

Cambiar el puerto de la consola web

De forma predeterminada, Pritunl se ejecuta en el puerto 443. Si desea cambiarlo, use el siguiente comando.

$ sudo pritunl set app.server_port 8443

Pritunl ejecuta un servidor web en el puerto 80 para la verificación de Let's Encrypt y redirige las solicitudes HTTP a HTTPS. Puede desactivar la redirección con el siguiente comando. Esto también evitará el uso de certificados Let's Encrypt.

$ sudo pritunl set app.redirect_server false

Conclusión

Esto concluye nuestro tutorial sobre cómo configurar y usar el servidor Pritunl VPN en un servidor Rocky Linux 8. Si desea obtener más información sobre Pritunl, puede seguir su documentación oficial. Si tiene alguna pregunta, publíquela en los comentarios a continuación.


Rocky Linux
  1. Configure un servidor VPN en su PC con Linux

  2. Cómo configurar un montaje NFS en Rocky Linux 8

  3. Cómo configurar un servidor SFTP en Rocky Linux/CentOS 8 Server

  4. Cómo configurar un servidor SFTP en Arch Linux

  5. Cómo configurar el servidor y el cliente NFS en Rocky/Alma Linux 8

Cómo instalar LAMP en el servidor Rocky Linux 8

Cómo configurar la fecha y la hora en el escritorio y el servidor Rocky Linux 8

Cómo instalar el servidor MariaDB en Rocky Linux 8

Cómo configurar WireGuard VPN en Linux

Cómo instalar Pritunl VPN en Rocky Linux 8

Cómo instalar Nginx en Rocky Linux 9