Cómo instalar OpenVPN en Ubuntu 20.04


OpenVPN es un programa popular, rápido y de código abierto para crear una VPN (Red Privada Virtual). Utiliza los protocolos de transmisión TCP y UDP, y los túneles VPN están protegidos con el protocolo OpenVPN con autenticación SSL/TLS, certificados, credenciales y, opcionalmente, bloqueo de dirección MAC, así como autenticación multifactor.

Se puede utilizar en una amplia variedad de dispositivos y sistemas. Como la mayoría de los protocolos VPN que existen, tiene una arquitectura cliente-servidor. El servidor de acceso OpenVPN se ejecuta en un sistema Linux y los clientes se pueden instalar en otros sistemas Linux, Windows, macOS, así como en sistemas operativos móviles como Android, Windows Mobile e iOS.

El servidor de acceso OpenVPN acepta conexiones VPN entrantes y los clientes OpenVPN Connect o cualquier cliente de código abierto compatible con OpenVPN pueden iniciar una conexión al servidor.

En este artículo, aprenderá cómo configurar un servidor de acceso OpenVPN en Ubuntu 20.04 y conectar clientes VPN desde otros sistemas Linux.

Paso 1: Configurar el servidor OpenVPN en Ubuntu

1. En mi experiencia, instalar y configurar un servidor OpenVPN manualmente no es una tarea sencilla. Esa es la razón, usaremos un script que le permitirá configurar su propio servidor OpenVPN seguro en cuestión de segundos.

Antes de descargar y ejecutar la secuencia de comandos, tenga en cuenta que la secuencia de comandos detectará automáticamente la dirección IP privada de su servidor. Pero debe tomar nota de la dirección IP pública de su servidor, especialmente si se ejecuta detrás de NAT.

Para averiguar la dirección IP pública de su servidor, ejecute el siguiente comando wget o dig.

$ wget -qO - icanhazip.com
OR
$ dig +short myip.opendns.com @resolver1.opendns.com

2. Ahora descargue el script del instalador usando la herramienta de línea de comandos curl, luego hágalo ejecutable usando el comando chmod de la siguiente manera.

$ curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh
$ chmod +x openvpn-install.sh

3. A continuación, ejecute el script de instalación ejecutable como se muestra.

$ sudo bash openvpn-install.sh

Cuando se ejecute por primera vez, el script le hará algunas preguntas, las leerá con atención y le proporcionará respuestas de acuerdo con sus preferencias para configurar su servidor OpenVPN.

4. Una vez que se complete el proceso de instalación de la VPN, se escribirá un archivo de configuración del cliente en el directorio de trabajo actual. Este es el archivo que usará para configurar su cliente OpenVPN como se describe en la siguiente sección.

5. A continuación, confirme que el servicio OpenVPN esté en funcionamiento comprobando su estado con el siguiente comando systemctl.

$ sudo systemctl status openvpn

6. Además, confirme que el demonio OpenVPN está escuchando en el puerto que le indicó al script que use, usando el comando ss como se muestra.

$ sudo ss -tupln | grep openvpn

7. Si comprueba sus interfaces de red, se ha creado una nueva interfaz para un túnel VPN, puede confirmar esto mediante el comando IP.

$ ip add

Paso 2: configurar clientes OpenVPN en Ubuntu

8. Ahora es el momento de configurar su cliente OpenVPN y conectarlo al servidor VPN. Primero, instale el paquete OpenVPN en la máquina cliente de la siguiente manera.

$ sudo yum install openvpn	#CentOS 8/7/6
$ sudo apt install openvpn	#Ubuntu/Debian
$ sudo dnf install openvpn	#Fedora 22+/CentOS 8

9. En un sistema de escritorio, también debe instalar el paquete network-manager-openvpn para realizar la configuración de VPN desde la interfaz gráfica.

$ sudo yum install network-manager-openvpn	#CentOS 8/7/6
$ sudo apt install network-manager-openvpn	#Ubuntu/Debian
$ sudo dnf install network-manager-openvpn	#Fedora 22+/CentOS 8

10. Después de instalar los paquetes anteriores, inicie el servicio OpenVPN, por ahora, habilítelo para que se inicie automáticamente al arrancar el sistema y verifique su estado para confirmar que está en funcionamiento.

$ sudo systemctl start openvpn 
$ sudo systemctl enable openvpn 
$ sudo systemctl status openvpn 

11. Ahora necesita importar la configuración del cliente OpenVPN desde el servidor OpenVPN. Abra una ventana de terminal y use el comando SCP para tomar el archivo como se muestra.

$ cd ~
$ scp [email protected]:/home/tecmint/tecmint.ovpn .

12. Abra la Configuración del sistema, luego vaya a Redes. En VPN, haga clic en el botón Agregar para obtener las opciones necesarias.

13. En la ventana emergente, elija "Importar desde archivo" como se resalta en la siguiente captura de pantalla. Luego, busque en su administrador de archivos y seleccione el archivo de configuración del cliente .ovpn que descargó del servidor.

14. En otros sistemas de escritorio Linux, haga clic en el icono de red en el panel del sistema, vaya a Conexiones de red. Luego haga clic en el botón más para agregar una nueva conexión. En la lista desplegable, seleccione "Importar una configuración de VPN guardada ..." como se resalta en la siguiente captura de pantalla.

Cree la conexión e importe el archivo.

15. Después de importar el archivo, la configuración de VPN debe agregarse como se muestra en la siguiente captura de pantalla. Luego haga clic en Agregar.

16. La configuración de su cliente VPN debe agregarse correctamente. Puede conectarse al servidor OpenVPN activando la VPN como se resalta en la siguiente captura de pantalla.

17. Ahora la conexión VPN debería establecerse correctamente como se muestra en la siguiente captura de pantalla.

18. Si verifica las conexiones de la interfaz de red con el comando IP add, ahora debería existir una interfaz de túnel VPN como se resalta en la siguiente captura de pantalla.

$ ip add

19. Para conectar otro servidor Linux como cliente VPN, asegúrese de haber instalado el paquete OpenVPN, iniciado y habilitado el servicio OpenVPN como se describe arriba.

Luego descargue el archivo de cliente .ovpn , cópielo en el directorio/etc/openvpn/como se muestra.

$ scp [email protected]:/home/tecmint/tecmint.ovpn .
$ ls
$ sudo cp tecmint.ovpn /etc/openvpn/client.conf

20. A continuación, inicie el servicio de cliente VPN, habilítelo y verifique su estado con los siguientes comandos.

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

21. Luego, confirme que se ha creado una interfaz de túnel VPN usando el comando IP add como se muestra.

$ ip add

22. Para configurar otros clientes OpenVPN en sistemas operativos, utilice los siguientes clientes:

  • Windows: The official OpenVPN community client for windows.
  • Android: The OpenVPN client for Android.
  • iOS: The official OpenVPN Connect client for iOS.

23. Si desea agregar un nuevo usuario de VN o revocar un usuario existente o eliminar el servidor OpenVPN de su sistema, simplemente ejecute el script de instalación nuevamente. Luego, seleccione lo que desea hacer de la lista de opciones y siga las indicaciones.

$ sudo bash openvpn-install.sh

Eso nos lleva al final de esta guía. Para compartir cualquier opinión con nosotros o hacer preguntas, utilice el formulario de comentarios a continuación. Para obtener más información, vaya al repositorio de Github del script openvpn-install.