GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Configuración básica de conexión cliente/servidor Ubuntu 20.04 OpenVPN

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

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.

  1. Comience abriendo una terminal y escribiendo el siguiente comando para instalar OpenVPN Server:
    $ sudo apt install openvpn
    
  2. 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
    
  3. 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

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

  5. 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
    
  6. 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
  7. 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.

  1. Comience abriendo una terminal y escribiendo el siguiente comando para instalar OpenVPN Server:
    $ sudo apt install openvpn
    
  2. 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 .
    
  3. 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 &
    
  4. La creación del túnel VPN puede tardar unos segundos. Si tiene éxito, debería ver el siguiente mensaje:
    Initialization Sequence Completed
    
  5. 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.


Ubuntu
  1. Configuración del servidor WebDAV en Ubuntu Linux

  2. Configuración inicial del servidor con Ubuntu 14.04

  3. Configurar el servidor Urbackup en Ubuntu 20.04

  4. ¿Servidor FTP básico de Ubuntu?

  5. Instale y configure el servidor OpenVPN en Ubuntu 20.04

Cómo configurar OpenVPN en Ubuntu 16.04

Cómo configurar OpenVPN en Ubuntu Server

Cómo configurar el servidor Git en Ubuntu 20.04

Cómo configurar el servidor Rsyslog en Ubuntu

Cómo configurar el servidor DHCP en Ubuntu

Cómo configurar el servidor y el cliente NTP en Ubuntu 20.04 LTS

    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