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:

Diagrama de red OpenVPNDiagrama de red OpenVPN

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.

Lectura relacionada : 13 mejores servicios VPN con suscripción de por vida

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

  • Instalación del servidor OpenVPN en CentOS 8
  • Configurar el cliente OpenVPN en Linux
  • Configurar el cliente OpenVPN en Windows

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

Instalación del servidor OpenVPN en CentOS 8

1. Para instalar OpenVPN en un servidor RHEL / CentOS 8/7 , primero deberá 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 &ltstrong&gtde OpenVPN&lt/strong&gt 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 será útil al configurar el servidor OpenVPN.

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

$ curl ifconfig.me

Verifique la dirección IP del servidor CentOSVerifique la dirección IP del servidor CentOS

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

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

Encuentre la dirección IP del servidor CentOSEncuentre la dirección IP del servidor CentOS

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.

Una nota sobre las direcciones IP públicas

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

  • Una única dirección IP pública : si tiene un VPS en plataformas en la nube como Linode , Cloudcone o Digital Ocean , normalmente encontrará una única dirección IP pública adjunta.
  • Una dirección IP privada detrás de NAT con una IP pública : este es el caso de una instancia EC2 en AWS o una instancia informática en Google Cloud .

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

Descarga OpenVPN ScriptDescarga OpenVPN Script

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 ).

Instalar OpenVPN en CentOS 8Instalar OpenVPN en CentOS 8

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

Configurar DNS para OpenVPNConfigurar DNS para OpenVPN

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.

Instalación de OpenVPN en CentOS 8Instalación de OpenVPN en CentOS 8

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 que se utiliza 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 de inicio con una extensión de archivo .ovpn.

Configuración del cliente OpenVPN con Easy-RSAConfiguración del cliente OpenVPN con Easy-RSA

9. Una vez que el script termine de configurar el servidor OpenVPN y crear el archivo de configuración del cliente, se tun0generará una interfaz de túnel . Esta es una interfaz virtual donde todo el tráfico de la PC del cliente se canalizará al servidor.

Interfaz de túnel OpenVPNInterfaz de túnel OpenVPN

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

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

Verifique el estado del servidor OpenVPNVerifique el estado del servidor OpenVPN

Cómo configurar el cliente OpenVPN en Linux

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 .

Copiar la configuración del cliente OpenVPNCopiar la configuración del cliente OpenVPN

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.

Conéctese a OpenVPNConéctese a OpenVPN

14. Se crea una nueva tabla de enrutamiento y se establece una conexión con el servidor VPN . Nuevamente, tun0se crea una interfaz de túnel de interfaz virtual 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 dinámicamente una dirección IP a la interfaz. Como puede ver, a nuestro sistema cliente Linux se le ha asignado una dirección IP de 10.8.0.2 por parte del servidor OpenVPN.

$ ifconfig

Confirme la conexión de red OpenVPNConfirme la conexión de red OpenVPN

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

$ curl ifconfig.me

Verificar la IP del cliente OpenVPNVerificar la IP del cliente OpenVPN

¡Y voilá! nuestro sistema cliente ha elegido la IP pública de la VPN confirmando que efectivamente estamos conectados al servidor OpenVPN . Alternativamente, puede iniciar 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.

Verifique su dirección IPVerifique su dirección IP

Cómo configurar el cliente OpenVPN en Windows

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

17. A continuación, descargue su .ovpnarchivo de configuración en el C:Program FilesOpenVPNconfigdirectorio y, como administrador, inicie la GUI de OpenVPN desde Inicio -&ampgt Todos los programas -&ampgt 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.

CentOS , RedHat , VPN

Leave a Comment

Your email address will not be published. Required fields are marked *

Hazlo Linux