Configurar una VPN es una excelente manera para que un servidor comparta recursos de red con un cliente. Sin embargo, configurar uno puede parecer un poco intimidante para algunos usuarios. En esta guía, le mostraremos cómo configurar una VPN usando OpenVPN en Ubuntu 20.04 Focal Fossa, mientras logra evitar la configuración avanzada y la jerga técnica en el camino.
En este tutorial aprenderás:
- Cómo instalar OpenVPN
- Cómo configurar un servidor OpenVPN
- Cómo conectarse a un servidor VPN desde la máquina del cliente
- Cómo verificar una conexión VPN exitosa
Inicio del servidor OpenVPN en Ubuntu 20.04
Requisitos de software y convenciones de la línea de comandos de Linux Categoría | Requisitos, convenciones o versión de software utilizada |
Sistema | Ubuntu 20.04 instalado o Ubuntu 20.04 Focal Fossa actualizado |
Software | OpenVPN |
Otro | Acceso privilegiado a su sistema Linux como root o a través de sudo comando.
Es posible que también deba configurar el reenvío de puertos en UDP 1194 en su enrutador al host que se ejecutará como servidor OpenVPN. |
Convenciones | # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios |
Configuración del servidor OpenVPN
En esta sección, cubriremos los pasos para configurar OpenVPN Servidor . Un servidor escucha las conexiones entrantes de los clientes y les otorga acceso a la red luego de una autenticación exitosa. Si solo necesita configurar OpenVPN Cliente , que le brinda la posibilidad de conectarse a servidores remotos, luego pase a la siguiente sección.
- Comience abriendo una terminal y escribiendo el siguiente comando para instalar OpenVPN Server:
$ sudo apt install openvpn
- Una vez que se instala OpenVPN, debemos generar una clave estática que se utilizará para el cifrado del túnel VPN:
$ openvpn --genkey --secret static-OpenVPN.key
- A continuación, debemos iniciar el servidor OpenVPN para aceptar las solicitudes de conexión entrantes:
$ sudo openvpn --dev tun --ifconfig 172.16.0.1 172.16.0.2 --cipher AES-256-CBC --secret static-OpenVPN.key &
Tenga en cuenta que &
ampersand en el comando anterior pondrá en segundo plano el proceso de OpenVPN, por lo que no será necesario mantener una terminal abierta para que el servicio continúe ejecutándose.
Iniciando proceso OpenVPN para recibir conexiones
- Si ha seguido correctamente, su sistema ahora debería tener una nueva interfaz de red llamada
tun0
con una dirección IP de 172.16.0.1
. Escriba este comando para verificar:
$ ip a show tun0
Interfaz de túnel creada en el servidor OpenVPN
- Para una verificación adicional de que el servidor VPN está funcionando correctamente, verifique que el puerto UDP 1194 esté abierto en su sistema:
$ netstat -anu | grep 1194
El puerto UDP 1194 está abierto para conexiones NOTA
Es posible que deba instalar herramientas de red para netstat
mando a trabajar. Use este comando:sudo apt install net-tools
- Por último, ingrese este comando para configurar el firewall UFW de Ubuntu para permitir conexiones entrantes en el puerto UDP 1194:
$ sudo ufw allow from any to any port 1194 proto udp
Permitir el puerto UDP 1194 a través de UFW
Esa es toda la configuración que necesitará hacer para el servidor OpenVPN. Ahora debería ser capaz de recibir conexiones entrantes.
Configuración del cliente OpenVPN
Ahora cubriremos cómo usar OpenVPN Client para conectarse a un servidor OpenVPN. Siga los pasos de esta sección si desea conectarse a su servidor desde un cliente remoto.
- Comience abriendo una terminal y escribiendo el siguiente comando para instalar OpenVPN Server:
$ sudo apt install openvpn
- Su máquina cliente necesitará la
static-OpenVPN.key
archivo de clave de cifrado del servidor OpenVPN para conectarse. Transferir el archivo del servidor al cliente de forma segura, con scp
(copia segura) por ejemplo.
Este es el comando que emitiríamos desde nuestra máquina cliente. Usa tu propio scp
comando u otro método seguro para transferir el archivo:
$ scp user1@linuxconfig:/home/user1/static-OpenVPN.key .
- Ahora, estamos listos para establecer un túnel VPN al servidor. Use este comando pero reemplace el
YOUR-OPENVPN-SERVER-IP-OR-HOST
cadena con la dirección IP o el nombre de host del servidor VPN al que se está conectando:
$ sudo openvpn --remote YOUR-OPENVPN-SERVER-IP-OR-HOST --dev tun --ifconfig 172.16.0.1 172.16.0.2 --cipher AES-256-CBC --secret static-OpenVPN.key &
- La creación del túnel VPN puede tardar unos segundos. Si tiene éxito, debería ver el siguiente mensaje:
Initialization Sequence Completed
- Para confirmar una conexión exitosa con el servidor VPN, intente hacer ping en un host en la red remota:
$ ping -c 1 172.16.0.1
PING 172.16.0.1 (172.16.0.1) 56(84) bytes of data.
64 bytes from 172.16.0.1: icmp_seq=1 ttl=64 time=0.061 ms
--- 172.16.0.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.061/0.061/0.061/0.000 ms
Su conexión VPN ya está establecida.
Conclusión
En esta guía, aprendimos cómo configurar un servidor VPN para recibir conexiones entrantes con OpenVPN. También vimos cómo conectarse a un servidor VPN desde una máquina cliente.
El uso de los métodos ilustrados en esta guía debería permitirle establecer una conexión VPN segura entre un servidor y una máquina cliente.