Cómo instalar y configurar el servidor OpenVPN en CentOS 8/7


Una red privada virtual es una solución tecnológica que se utiliza para brindar privacidad y seguridad a las conexiones entre redes. El caso más conocido consiste en personas que se conectan a un servidor remoto con tráfico que pasa por una red pública o insegura (como Internet).

Imagine los siguientes escenarios:

En este artículo, explicaremos cómo configurar un servidor VPN en una caja RHEL/CentOS 8/7 usando OpenVPN, una aplicación de tunelización robusta y altamente flexible que usa funciones de encriptación, autenticación y certificación de la biblioteca OpenSSL. Para simplificar, solo consideraremos un caso en el que el servidor OpenVPN actúa como una puerta de enlace segura a Internet para un cliente.

Para esta configuración, hemos utilizado tres máquinas, la primera actúa como un servidor OpenVPN y las otras dos (Linux y Windows) actúan como un cliente para conectarse al servidor OpenVPN remoto.

En esta página

  • Installing OpenVPN Server in CentOS 8
  • Configure OpenVPN Client in Linux
  • Configure OpenVPN Client in Windows

Nota: Las mismas instrucciones también funcionan en los sistemas RHEL 8/7 y Fedora.

1. Para instalar OpenVPN en un servidor RHEL/CentOS 8/7, primero tendrá que habilitar el repositorio EPEL y luego instalar el paquete. Esto viene con todas las dependencias necesarias para instalar el paquete OpenVPN.

# yum update
# yum install epel-release

2. A continuación, descargaremos el script de instalación de OpenVPN y configuraremos la VPN. Antes de descargar y ejecutar el script, es importante que encuentre la dirección IP pública de su servidor, ya que le resultará útil al configurar el servidor OpenVPN.

Una forma fácil de hacerlo es usar el comando curl como se muestra:

$ curl ifconfig.me

Alternativamente, puede invocar el comando dig de la siguiente manera:

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

Si aparece un error "dig: comando no encontrado", instale la utilidad de excavación ejecutando el comando:

$ sudo yum install bind-utils

Esto deberia resolver el problema.

Los servidores en la nube suelen tener 2 tipos de direcciones IP:

Cualquiera que sea el esquema de direccionamiento IP, el script OpenVPN detectará automáticamente la configuración de su red VPS y todo lo que tiene que hacer es proporcionar la dirección IP pública o privada asociada.

3. Ahora procedamos y descarguemos el script de instalación de OpenVPN, ejecute el comando que se muestra.

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

4. Cuando se complete la descarga, asigne permisos de ejecución y ejecute el script de shell como se muestra.

$ sudo chmod +x openvpn-install.sh
$ sudo ./openvpn-install.sh

El instalador lo lleva a través de una serie de indicaciones:

5. Primero, se le pedirá que proporcione la dirección IP pública de su servidor. A partir de entonces, se recomienda optar por las opciones predeterminadas, como el número de puerto predeterminado (1194) y el protocolo a usar (UDP).

6. A continuación, seleccione los solucionadores de DNS predeterminados y seleccione la opción No (n) para la configuración de compresión y cifrado.

7. Una vez hecho esto, el script inicializará la configuración del servidor OpenVPN junto con la instalación de los otros paquetes de software y dependencias.

8. Por último, se generará un archivo de configuración del cliente utilizando el paquete easy-RSA, que es una herramienta de línea de comandos utilizada para administrar certificados de seguridad.

Simplemente proporcione el nombre del cliente y siga las selecciones predeterminadas. El archivo del cliente se almacenará en su directorio personal con una extensión de archivo .ovpn.

9. Una vez que el script haya terminado de configurar el servidor OpenVPN y crear el archivo de configuración del cliente, se generará una interfaz de túnel tun0 . Se trata de una interfaz virtual donde todo el tráfico de la PC cliente se canalizará al servidor.

10. Ahora, puede iniciar y verificar el estado del servidor OpenVPN como se muestra.

$ sudo systemctl start [email protected]
$ sudo systemctl status [email protected]

11. Ahora diríjase al sistema cliente e instale el repositorio EPEL y los paquetes de software OpenVPN.

$ sudo dnf install epel-release -y
$ sudo dnf install openvpn -y

12. Una vez instalado, debe copiar el archivo de configuración del cliente desde el servidor OpenVPN a su sistema cliente. Puede hacer esto usando el comando scp como se muestra

$ sudo scp -r [email protected]:/home/tecmint/tecmint01.ovpn .

13. Una vez que el archivo del cliente se descarga a su sistema Linux, ahora puede inicializar una conexión al servidor VPN, usando el comando:

$ sudo openvpn --config tecmint01.ovpn

Obtendrá un resultado similar al que tenemos a continuación.

14. Se crea una nueva tabla de enrutamiento y se establece una conexión con el servidor VPN. Nuevamente, se crea una interfaz de túnel de interfaz virtual tun0 en el sistema cliente.

Como se mencionó anteriormente, esta es la interfaz que canalizará todo el tráfico de forma segura al servidor OpenVPN a través de un túnel SSL. El servidor VPN asigna una dirección IP a la interfaz de forma dinámica. Como puede ver, a nuestro sistema cliente Linux se le ha asignado una dirección IP de 10.8.0.2 por el servidor OpenVPN.

$ ifconfig

15. Solo para estar seguros de que estamos conectados al servidor OpenVPN, vamos a verificar la IP pública.

$ curl ifconfig.me

¡Y voilá! nuestro sistema cliente ha elegido la IP pública de la VPN confirmando que efectivamente estamos conectados al servidor OpenVPN. Alternativamente, puede encender su navegador y buscar en Google “¿Cuál es mi dirección IP?” Para confirmar que su IP pública ha cambiado a la del servidor OpenVPN.

16. En Windows, deberá descargar los binarios oficiales de OpenVPN Community Edition que vienen con una GUI.

17. A continuación, descargue su archivo de configuración .ovpn en el directorio C: \ Program Files \ OpenVPN \ config y, como administrador, inicie la GUI de OpenVPN desde Inicio -> Todos los programas -> OpenVPN, y se ejecutará en segundo plano.

18. Ahora encienda un navegador y abra http://whatismyip.org/ y debería ver la IP de su servidor OpenVPN en lugar de la IP pública proporcionada por su ISP:

Resumen

En este artículo, hemos explicado cómo instalar y configurar un servidor VPN usando OpenVPN, y cómo configurar dos clientes remotos (una caja Linux y una máquina Windows). Ahora puede utilizar este servidor como puerta de enlace VPN para proteger sus actividades de navegación web. Con un poco de esfuerzo adicional (y otro servidor remoto disponible) también puede configurar un servidor seguro de archivos/bases de datos, por nombrar algunos ejemplos.

Esperamos tener noticias tuyas, así que no dudes en enviarnos una nota mediante el formulario a continuación. Los comentarios, sugerencias y preguntas sobre este artículo son bienvenidos.