Una de las cosas que un administrador de sistemas Linux debe saber es, sin duda, la instalación del servidor OpenVPN. Creo que este artículo servirá como guía para aquellos que quieran configurar su propio servidor VPN en las condiciones actuales, donde la privacidad y la seguridad de los datos son cada vez más importantes.

En este artículo todos OpenVPN lo que nos ahorra tener que hacer los ajustes manualmente uno a uno, GitHub'Taki Angristan escrito por instalación de openvpn Se hará una explicación usando el script nombrado. 

Lo primero que debe hacer es, por supuesto, actualizar los repositorios y realizar las actualizaciones, si corresponde. 

sudo apt update && sudo apt upgrade -yq   

Ahora escriba el siguiente comando para averiguar la dirección IP del servidor y anótelo por si acaso.

ip a ip a show eth0 #Muestra solo las direcciones asignadas al puerto ethernet.

La salida de muestra debe ser la siguiente. Porque estoy ejecutando mi servidor en una máquina virtual eth0 en vez enp0s3 parece.

prdsmehmetstc@pardus21server:~$ ip a 1: lo: mtu 65536 qdisc noqueue state DESCONOCIDO grupo predeterminado qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft foreverferred_lft forever 2 :enp0s3: mtu 1500 qdisc pfifo_fast state UP grupo predeterminado qlen 1000 link/ether 08:00:27:d9:43:f7 brd ff:ff:ff:ff:ff:ff inet 192.168.1.12/24 brd 192.168.1.255 ámbito global dinámico enp0s3 válido_lft 86301seg preferido_lft 86301seg

La dirección IP del servidor es la marcada en negrita arriba. La dirección IP de su servidor puede ser diferente, pero la ubicación debe ser aproximadamente la misma.

La IP privada y la IP pública de su servidor pueden ser diferentes. Puede ingresar el siguiente comando para averiguar la dirección IP pública del servidor:

dig +short myip.opendns.com @resolver1.opendns.com

Ahora podemos descargar el script y pasar a la fase de instalación del servidor OpenVPN. Escriba el siguiente comando para descargar el script.

wget https://raw.githubusercontent.com/Angristan/openvpn-install/master/openvpn-install.sh

Luego ingrese el siguiente comando para que el script descargado funcione:

chmod +x openvpn-install.sh

Para ejecutar el script, simplemente ingrese el comando a continuación.

sudo ./openvpn-install.sh 

Cuando ejecute el script, le pedirá que ingrese algunos parámetros. Puedes ver los valores que apliqué como ejemplo a continuación:

prdsmehmetstc@pardus21server:~$ sudo ./openvpn-install.sh ¡Bienvenido al instalador de OpenVPN! El repositorio de git está disponible en: https://github.com/angristan/openvpn-install Necesito hacerle algunas preguntas antes de comenzar la instalación. Puede dejar las opciones predeterminadas y simplemente presionar enter si está de acuerdo con ellas. Necesito saber la dirección IPv4 de la interfaz de red que desea que escuche OpenVPN. A menos que su servidor esté detrás de NAT, debería ser su dirección IPv4 pública. Dirección IP: 192.168.1.12

Si su servidor no tiene una IP fija asignada directamente y se conecta a Internet a través de un intermediario como en este ejemplo, nuestro script lo detecta, encuentra las direcciones IP y automáticamente llena los espacios en blanco. Todo lo que tienes que hacer es presionar enter.

Parece que este servidor está detrás de NAT. ¿Cuál es su dirección IPv4 pública o nombre de host? Lo necesitamos para que los clientes se conecten al servidor. Dirección IPv4 pública o nombre de host: 85.99.177.72 Comprobando la conectividad IPv6... Su host no parece tener conectividad IPv6. ¿Desea habilitar la compatibilidad con IPv6 (NAT)? [t/n]: no

Si su servidor y su red no son compatibles con IPv6, debe ingresar el parámetro "n".

¿Qué puerto quieres que escuche OpenVPN? 1) Predeterminado: 1194 2) Personalizado 3) Aleatorio [49152-65535] Elección de puerto [1-3]: 1

Aquí puede seleccionar el puerto en el que se ejecutará OpenVPN. Puede usar el puerto 1, que es el predeterminado en la opción 1194. Si no se puede acceder al puerto 1194 en el lado del cliente y no está ejecutando un servidor web, puede elegir la opción 2 y hacer que funcione desde el puerto 443.  

¿Qué protocolo quieres que use OpenVPN? UDP es más rápido. A menos que no esté disponible, no debe usar TCP. 1) UDP 2) Protocolo TCP [1-2]: 1

De forma predeterminada, se recomienda usar el protocolo UDP, pero si UDP no funciona de alguna manera, puede elegir TCP desde aquí.

¿Qué resolutores de DNS quieres usar con la VPN? 1) Resolutores del sistema actual (de /etc/resolv.conf) 2) Solucionador de DNS autohospedado (sin vincular) 3) Cloudflare (Anycast: en todo el mundo) 4) Quad9 (Anycast: en todo el mundo) 5) Quad9 sin censura (Anycast: en todo el mundo) 6 ) FDN (Francia) 7) DNS.WATCH (Alemania) 8) OpenDNS (Anycast: en todo el mundo) 9) Google (Anycast: en todo el mundo) 10) Yandex Basic (Rusia) 11) AdGuard DNS (Anycast: en todo el mundo) 12) NextDNS (Anycast : en todo el mundo) 13) DNS personalizado [1-12]: 9

El script tiene como valor predeterminado 11, AdGuard DNS. Los DNS de Google (9) y CloudFlare (3) son más rápidos que otros, te recomiendo que los prefieras. Si tiene una preferencia de DNS personalizada, puede ingresarla seleccionando la opción 13.

¿Quieres usar compresión? No es recomendable ya que el ataque VORACLE hace uso de ella. ¿Habilitar la compresión? [t/n]: no

Se recomienda no descomprimirlo. Porque el ataque VORACLE, que es una vulnerabilidad de seguridad, usa compresión. 

¿Desea personalizar la configuración de cifrado? A menos que sepa lo que está haciendo, debe ceñirse a los parámetros predeterminados proporcionados por el script. Tenga en cuenta que independientemente de lo que elija, todas las opciones presentadas en el script son seguras. (A diferencia de los valores predeterminados de OpenVPN) Consulte https://github.com/angristan/openvpn-install#security-and-encryption para obtener más información. ¿Personalizar la configuración de cifrado? [t/n]: no

Si desea cambiar la configuración de cifrado, debe decir "y" en esta etapa. Generalmente, los valores predeterminados son suficientes para garantizar su seguridad, pero si sabe lo que está haciendo, está bien cambiarlos. 

Está bien, eso era todo lo que necesitaba. Estamos listos para configurar su servidor OpenVPN ahora. Podrá generar un cliente al final de la instalación. Pulse cualquier tecla para continuar...

La instalación del servidor OpenVPN finalizó, ahora nuestro script creará archivos para que pueda conectarse desde el lado del cliente. 

Dime un nombre para el cliente. El nombre debe constar de carácter alfanumérico. También puede incluir un guión bajo o un guión. Nombre del cliente: Pardus21OpenVPNServerDeme

Introduzca el nombre del cliente. El nombre debe ser "alfanumérico", es decir, formado por letras y números. También puede contener guiones bajos y guiones. El texto en negrita es el nombre que le di a mi cliente.

¿Quiere proteger el archivo de configuración con una contraseña? (por ejemplo, encriptar la clave privada con una contraseña) 1) Agregar un cliente sin contraseña 2) Usar una contraseña para el cliente Seleccione una opción [1-2]: 1

Si desea definir una contraseña para el cliente, debe seleccionar la opción “2”. 

Nota: usando la configuración de Easy-RSA desde: /etc/openvpn/easy-rsa/vars Usando SSL: openssl OpenSSL 1.1.1k 25 de marzo de 2021 Generando una clave privada EC escribiendo una nueva clave privada en '/etc/openvpn/easy-rsa/ pki/easy-rsa-2034.XkDzhL/tmp.pOGFHy' ----- Usando la configuración de /etc/openvpn/easy-rsa/pki/easy-rsa-2034.XkDzhL/tmp.mUo4M7 Verifique que la solicitud coincida con la firma Firma ok El nombre distinguido del sujeto es el siguiente commonName: ASN.1 12: 'Pardus21OpenVPNServerDeneme' El certificado debe certificarse hasta el 15 de enero 08:49:38 2024 GMT (825 días) Escribir la base de datos con 1 nuevas entradas Base de datos Cliente actualizado Se agregó Pardus21OpenVPNServerTrial. El archivo de configuración se ha escrito en /home/prdsmehmetstc/Pardus21OpenVPNServerDeneme.ovpn. Descarga el archivo .ovpn e impórtalo en tu cliente OpenVPN.

La instalación del servidor OpenVPN y la importación del archivo de configuración del cliente están completas, ahora puede navegar por Internet de forma segura. Si desea agregar más de un cliente, simplemente ejecute el script nuevamente. 

prdsmehmetstc@pardus21server:~$ sudo ./openvpn-install.sh [sudo] contraseña para prdsmehmetstc: ¡Bienvenido a OpenVPN-install! El repositorio de git está disponible en: https://github.com/angristan/openvpn-install Parece que OpenVPN ya está instalado. ¿Qué es lo que quieres hacer? 1) Agregar un nuevo usuario 2) Revocar el usuario existente 3) Eliminar OpenVPN 4) Salir Seleccione una opción [1-4]:

Seleccionando 1 para crear un nuevo archivo de configuración del cliente, seleccionando 2 para eliminar el cliente creado anteriormente, seleccionando 3 para desinstalar el servidor OpenVPN y seleccionando 4 para salir del script. 

Si está utilizando un firewall como UFW o IPTABLES, primero debe permitir el puerto OpenVPN que especificó. Los ejemplos que se dan a continuación son para el puerto predeterminado 1194.

UFW para

sudo ufw allow 1194

Para IPTABLES (usando el protocolo TCP)

sudo iptables -I INPUT -p tcp -m tcp --dport 1194 -j ACCEPT

Veya

sudo iptables -A INPUT -p tcp -m tcp --dport 1194 -j ACCEPT

Para IPTABLES (utilizando el protocolo UDP)

sudo iptables -I INPUT -p udp -m udp --dport 1194 -j ACCEPT

Veya

sudo iptables -A INPUT -p udp -m udp --dport 1194 -j ACCEPT

Estos son los comandos necesarios para detener/iniciar/reiniciar/comprobar el estado del servidor OpenVPN:

sudo systemctl stop openvpn@server sudo systemctl start openvpn@server sudo systemctl restart openvpn@server sudo systemctl status openvpn@server

Si quieres saber cómo hacer conexión de cliente Este artículo Usted puede leer.