Cómo instalar y configurar un servidor OpenVPN en Ubuntu 20.04

Introducción

Índice
  1. Introducción
  • Prerrequisitos
  • Paso 1: Instalación de OpenVPN y Easy-RSA
  • Paso 2: Creación de una PKI para OpenVPN
  • Paso 3: Creación de una solicitud de certificado de servidor OpenVPN y una clave privada
  • Paso 4: Firma de la solicitud de certificado del servidor OpenVPN
  • Paso 5: Configuración del material criptográfico de OpenVPN
  • Paso 6: Generar un certificado de cliente y un par de claves
  • Paso 7: Configuración de OpenVPN
    1. (Opcional) Enviar cambios de DNS para redirigir todo el tráfico a través de la VPN
    2. (Opcional) Ajuste el puerto y el protocolo
    3. (Opcional) Señale credenciales no predeterminadas
  • Paso 8: Ajuste de la configuración de red del servidor OpenVPN
  • Paso 9: Configuración del firewall
  • Una red privada virtual (VPN) le permite navegar por redes que no son de confianza como si estuviera en una red privada. Le brinda la libertad de acceder a Internet de manera segura desde su teléfono inteligente o computadora portátil cuando está conectado a una red que no es de confianza, como el wifi de un hotel o una cafetería.

    Cuando se combina con conexiones HTTPS, esta configuración le permite proteger sus inicios de sesión y transacciones inalámbricas. Puede eludir las restricciones geográficas y la censura, y proteger su ubicación y cualquier tráfico HTTP no cifrado de redes no confiables.

    OpenVPN es una solución VPN de seguridad de la capa de transporte (TLS) de código abierto y con todas las funciones que admite una amplia variedad de configuraciones. En este tutorial, configurará OpenVPN en un servidor Ubuntu 20.04 y luego lo configurará para que sea accesible desde una máquina cliente.

    Nota: Si planea configurar un servidor OpenVPN en un Droplet de DigitalOcean, tenga en cuenta que nosotros, al igual que muchos proveedores de alojamiento, cobramos por el exceso de ancho de banda. Por este motivo, tenga en cuenta la cantidad de tráfico que maneja su servidor.

    Consulte esta página para obtener más información.

    DigitalOcean tiene aplicaciones VPN de un solo clic que puedes implementar desde nuestro DigitalOcean Marketplace.

    Prerrequisitos

    Para seguir este tutorial, necesitarás:

    • Un servidor Ubuntu 20.04 con un usuario sudo que no sea root y un firewall habilitado. Para configurarlo, puede seguir nuestro tutorial Configuración inicial del servidor con Ubuntu 20.04. Nos referiremos a esto como el servidor OpenVPN en esta guía.
    • Un servidor Ubuntu 20.04 independiente configurado como una autoridad de certificación (CA) privada, a la que nos referiremos como el servidor CA en esta guía. Después de ejecutar los pasos de la Guía de configuración inicial del servidor en este servidor, puede seguir los pasos 1 a 3 de nuestra guía sobre Cómo configurar una autoridad de certificación (CA) en Ubuntu 20.04 para lograrlo.

    Nota: Si bien es técnicamente posible usar su servidor OpenVPN o su máquina local como CA, esto no se recomienda ya que expone su VPN a algunas vulnerabilidades de seguridad. Según la documentación oficial de OpenVPN, debe colocar su CA en una máquina independiente que se dedique a importar y firmar solicitudes de certificados. Por este motivo, esta guía supone que su CA está en un servidor Ubuntu 20.04 independiente que también tiene un usuario no root con privilegios sudo y un firewall básico habilitado.

    Además de eso, necesitarás una máquina cliente que usarás para conectarte a tu servidor OpenVPN. En esta guía, lo llamaremos Cliente OpenVPN . Para los fines de este tutorial, se recomienda que uses tu máquina local como cliente OpenVPN.

    Con estos requisitos previos establecidos, está listo para comenzar a configurar un servidor OpenVPN en Ubuntu 20.04.

    Nota: Tenga en cuenta que si desactiva la autenticación con contraseña al configurar estos servidores, puede tener dificultades al transferir archivos entre ellos más adelante en esta guía. Para resolver este problema, puede volver a habilitar la autenticación con contraseña en cada servidor. Alternativamente, puede generar un par de claves SSH para cada servidor y luego agregar la clave SSH pública del servidor OpenVPN al authorized_keysarchivo de la máquina CA y viceversa. Consulte Cómo configurar claves SSH en Ubuntu 20.04 para obtener instrucciones sobre cómo realizar cualquiera de estas soluciones.

    Paso 1: Instalación de OpenVPN y Easy-RSA

    El primer paso de este tutorial es instalar OpenVPN y Easy-RSA. Easy-RSA es una herramienta de gestión de infraestructura de clave pública (PKI) que utilizará en el servidor OpenVPN para generar una solicitud de certificado que luego verificará y firmará en el servidor de CA.

    Para comenzar, actualice el índice de paquetes de su servidor OpenVPN e instale OpenVPN y Easy-RSA. Ambos paquetes están disponibles en los repositorios predeterminados de Ubuntu, por lo que puede utilizar aptpara la instalación:

    1. sudo apt update
    2. sudo apt install openvpn easy-rsa

    A continuación, deberá crear un nuevo directorio en el servidor OpenVPN como su usuario no root llamado ~/easy-rsa:

    1. mkdir ~/easy-rsa

    Ahora necesitarás crear un enlace simbólico desde el easyrsascript que instaló el paquete en el ~/easy-rsadirectorio que acabas de crear:

    1. ln -s /usr/share/easy-rsa/* ~/easy-rsa/

    Nota: Si bien otras guías pueden indicarle que copie los easy-rsaarchivos del paquete en su directorio PKI, este tutorial adopta un enfoque de enlace simbólico. Como resultado, cualquier actualización del easy-rsapaquete se reflejará automáticamente en los scripts de su PKI.

    Por último, asegúrese de que el propietario del directorio sea su usuario sudo no root y restrinja el acceso a ese usuario mediante chmod:

    1. sudo chown sammy ~/easy-rsa
    2. chmod 700 ~/easy-rsa

    Una vez que estos programas estén instalados y se hayan movido a las ubicaciones correctas en su sistema, el siguiente paso es crear una Infraestructura de Clave Pública (PKI) en el servidor OpenVPN para que pueda solicitar y administrar certificados TLS para clientes y otros servidores que se conectarán a su VPN.

    Paso 2: Creación de una PKI para OpenVPN

    Antes de poder crear la clave privada y el certificado de su servidor OpenVPN, debe crear un directorio de infraestructura de clave pública local en su servidor OpenVPN. Utilizará este directorio para administrar las solicitudes de certificado del servidor y de los clientes en lugar de realizarlas directamente en su servidor de CA.

    Para crear un directorio PKI en su servidor OpenVPN, deberá completar un archivo llamado varscon algunos valores predeterminados. Primero , cdingrese al easy-rsadirectorio y luego cree y edite el varsarchivo con nano o su editor de texto preferido.

    1. cd ~/easy-rsa
    2. nano vars

    Una vez abierto el archivo, pegue las siguientes dos líneas:

    ~/easy-rsa/vars

    set_var EASYRSA_ALGO "ec"set_var EASYRSA_DIGEST "sha512"

    Estas son las únicas dos líneas que necesita en este varsarchivo en su servidor OpenVPN, ya que no se utilizará como autoridad de certificación. Garantizarán que sus claves privadas y solicitudes de certificado estén configuradas para utilizar la criptografía de curva elíptica (ECC) moderna para generar claves y firmas seguras para sus clientes y el servidor OpenVPN.

    Configurar los servidores CA de OpenVPN para que utilicen ECC significa que, cuando un cliente y un servidor intentan establecer una clave simétrica compartida, pueden utilizar algoritmos de curva elíptica para realizar el intercambio. El uso de ECC para un intercambio de claves es significativamente más rápido que el uso de Diffie-Hellman simple con el algoritmo RSA clásico, ya que los números son mucho más pequeños y los cálculos son más rápidos.

    Antecedentes: cuando los clientes se conectan a OpenVPN, utilizan un cifrado asimétrico (también conocido como clave pública/privada) para realizar un protocolo de enlace TLS. Sin embargo, cuando transmiten tráfico VPN cifrado, el servidor y los clientes utilizan un cifrado simétrico, también conocido como cifrado de clave compartida.

    El cifrado simétrico implica mucho menos trabajo computacional que el asimétrico: los números que se utilizan son mucho menores y las CPU modernas integran instrucciones para realizar operaciones de cifrado simétrico optimizadas. Para realizar el cambio del cifrado asimétrico al simétrico, el servidor y el cliente OpenVPN utilizarán el algoritmo Elliptic Curve Diffie-Hellman (ECDH) para acordar una clave secreta compartida lo más rápido posible.

    Una vez que haya completado el varsarchivo, puede continuar con la creación del directorio PKI. Para ello, ejecute el easyrsascript con la init-pkiopción . Aunque ya haya ejecutado este comando en el servidor CA como parte de los requisitos previos, es necesario ejecutarlo aquí porque su servidor OpenVPN y el servidor CA tienen directorios PKI separados:

    1. ./easyrsa init-pki

    Tenga en cuenta que en su servidor OpenVPN no es necesario crear una autoridad de certificación. Su servidor CA es el único responsable de validar y firmar certificados. La PKI en su servidor VPN solo se utiliza como un lugar conveniente y centralizado para almacenar solicitudes de certificados y certificados públicos.

    Una vez que haya inicializado su PKI en el servidor OpenVPN, estará listo para pasar al siguiente paso, que es crear una solicitud de certificado de servidor OpenVPN y una clave privada.

    Paso 3: Creación de una solicitud de certificado de servidor OpenVPN y una clave privada

    Ahora que su servidor OpenVPN tiene todos los requisitos previos instalados, el siguiente paso es generar una clave privada y una solicitud de firma de certificado (CSR) en su servidor OpenVPN. Después de eso, transferirá la solicitud a su CA para que la firme, creando así el certificado requerido. Una vez que tenga un certificado firmado, lo transferirá nuevamente al servidor OpenVPN y lo instalará para que el servidor lo use.

    Para comenzar, navegue al ~/easy-rsadirectorio en su servidor OpenVPN como su usuario no root:

    1. cd ~/easy-rsa

    Ahora, llamará al easyrsacon la gen-reqopción seguida de un nombre común (CN) para la máquina. El CN puede ser cualquier cosa que desee, pero puede ser útil que sea algo descriptivo. A lo largo de este tutorial, el CN ​​del servidor OpenVPN será server. Asegúrese de incluir nopasstambién la opción. Si no lo hace, el archivo de solicitud se protegerá con contraseña, lo que podría generar problemas de permisos más adelante.

    Nota: Si elige un nombre distinto a servereste, deberá ajustar algunas de las instrucciones que aparecen a continuación. Por ejemplo, al copiar los archivos generados al /etc/openvpndirectorio, deberá sustituirlos por los nombres correctos. También deberá modificar el archivo más adelante para que apunte a los archivos y /etc/openvpn/server.confcorrectos ..crt.key

    1. ./easyrsa gen-req server nopass
    OutputCommon Name (eg: your user, host, or server name) [server]: Keypair and certificate request completed. Your files are:req: /home/sammy/easy-rsa/pki/reqs/server.reqkey: /home/sammy/easy-rsa/pki/private/server.key

    Esto creará una clave privada para el servidor y un archivo de solicitud de certificado llamado server.req. Copie la clave del servidor en el /etc/openvpn/serverdirectorio:

    1. sudo cp /home/sammy/easy-rsa/pki/private/server.key /etc/openvpn/server/

    Después de completar estos pasos, habrá creado con éxito una clave privada para su servidor OpenVPN. También habrá generado una solicitud de firma de certificado para el servidor OpenVPN. La solicitud de firma de certificado ya está lista para que la CA la firme. En la siguiente sección de este tutorial, aprenderá a firmar una solicitud de firma de certificado con la clave privada de su servidor de CA.

    Paso 4: Firma de la solicitud de certificado del servidor OpenVPN

    En el paso anterior, creó una solicitud de firma de certificado (CSR) y una clave privada para el servidor OpenVPN. Ahora, el servidor de CA debe conocer el servercertificado y validarlo. Una vez que la CA valida y retransmite el certificado al servidor OpenVPN, los clientes que confían en su CA también podrán confiar en el servidor OpenVPN.

    En el servidor OpenVPN, como usuario no root, use SCP u otro método de transferencia para copiar la server.reqsolicitud de certificado al servidor CA para firmar:

    1. scp /home/sammy/easy-rsa/pki/reqs/server.req sammy@your_ca_server_ip:/tmp

    Si siguió el tutorial de requisitos previos Cómo instalar y configurar una autoridad de certificación (CA) en Ubuntu 20.04, el siguiente paso es iniciar sesión en el servidor de CA como el usuario no raíz que creó para administrar su CA. Accederá cdal ~/easy-rsadirectorio donde creó su PK y luego importará la solicitud de certificado mediante el easyrsascript:

    1. cd ~/easy-rsa
    2. ./easyrsa import-req /tmp/server.req server
    Output. . .The request has been successfully imported with a short name of: serverYou may now use this name to perform signing operations on this request.

    A continuación, firme la solicitud ejecutando el easyrsascript con la sign-reqopción, seguida del tipo de solicitud y el nombre común. El tipo de solicitud puede ser cliento server. Dado que estamos trabajando con la solicitud de certificado del servidor OpenVPN, asegúrese de utilizar el servertipo de solicitud:

    1. ./easyrsa sign-req server server

    En el resultado, se le solicitará que verifique que la solicitud proviene de una fuente confiable. Escriba yesy presione ENTERpara confirmar:

    OutputYou are about to sign the following certificate.Please check over the details shown below for accuracy. Note that this requesthas not been cryptographically verified. Please be sure it came from a trustedsource or that you have verified the request checksum with the sender. Request subject, to be signed as a server certificate for 3650 days: subject=commonName = server  Type the word 'yes' to continue, or any other input to abort.Confirm request details: yes. . .Certificate created at: /home/sammy/easy-rsa/pki/issued/server.crt

    Tenga en cuenta que si cifró su clave privada de CA, se le solicitará su contraseña en este punto.

    Una vez completados estos pasos, habrá firmado la solicitud de certificado del servidor OpenVPN con la clave privada del servidor CA. El server.crtarchivo resultante contiene la clave de cifrado pública del servidor OpenVPN, así como una firma del servidor CA. El objetivo de la firma es indicar a cualquier persona que confíe en el servidor CA que también puede confiar en el servidor OpenVPN cuando se conecta a él.

    Para terminar de configurar los certificados, copie los archivos server.crty ca.crtdel servidor CA al servidor OpenVPN:

    1. scp pki/issued/server.crt sammy@your_vpn_server_ip:/tmp
    2. scp pki/ca.crt sammy@your_vpn_server_ip:/tmp

    Ahora, de vuelta en su servidor OpenVPN, copie los archivos desde /tmpa /etc/openvpn/server:

    1. sudo cp /tmp/{server.crt,ca.crt} /etc/openvpn/server

    Ahora, su servidor OpenVPN está casi listo para aceptar conexiones. En el siguiente paso, realizará algunos pasos adicionales para aumentar la seguridad del servidor.

    Paso 5: Configuración del material criptográfico de OpenVPN

    Para una capa adicional de seguridad, agregaremos una clave secreta compartida adicional que el servidor y todos los clientes usarán con tls-cryptla directiva de OpenVPN. Esta opción se usa para ofuscar el certificado TLS que se usa cuando un servidor y un cliente se conectan entre sí inicialmente. El servidor OpenVPN también la usa para realizar verificaciones rápidas de los paquetes entrantes: si un paquete está firmado con la clave precompartida, el servidor lo procesa; si no está firmado, el servidor sabe que proviene de una fuente no confiable y puede descartarlo sin tener que realizar un trabajo de descifrado adicional.

    Esta opción ayudará a garantizar que su servidor OpenVPN pueda hacer frente al tráfico no autenticado, los escaneos de puertos y los ataques de denegación de servicio, que pueden ocupar los recursos del servidor. También dificulta la identificación del tráfico de red OpenVPN.

    Para generar la tls-cryptclave precompartida, ejecute lo siguiente en el servidor OpenVPN en el ~/easy-rsadirectorio:

    1. cd ~/easy-rsa
    2. openvpn --genkey --secret ta.key

    El resultado será un archivo llamado ta.key. Cópielo en el /etc/openvpn/server/directorio:

    1. sudo cp ta.key /etc/openvpn/server

    Con estos archivos en el servidor OpenVPN, está listo para crear certificados de cliente y archivos de clave para sus usuarios, que usará para conectarse a la VPN.

    Paso 6: Generar un certificado de cliente y un par de claves

    Si bien puede generar una clave privada y una solicitud de certificado en su máquina cliente y luego enviarla a la CA para que la firme, esta guía describe un proceso para generar la solicitud de certificado en el servidor OpenVPN. El beneficio de este enfoque es que podemos crear un script que generará automáticamente archivos de configuración del cliente que contienen todas las claves y certificados necesarios. Esto le permite evitar tener que transferir claves, certificados y archivos de configuración a los clientes y agiliza el proceso de unirse a la VPN.

    Generaremos un único par de claves de cliente y certificado para esta guía. Si tiene más de un cliente, puede repetir este proceso para cada uno. Sin embargo, tenga en cuenta que deberá pasar un valor de nombre único al script para cada cliente. En este tutorial, el primer par de claves/certificado se denomina client1.

    Comience creando una estructura de directorio dentro de su directorio de inicio para almacenar el certificado del cliente y los archivos de clave:

    1. mkdir -p ~/client-configs/keys

    Dado que almacenará los pares de claves/certificados de sus clientes y los archivos de configuración en este directorio, debe bloquear sus permisos ahora como medida de seguridad:

    1. chmod -R 700 ~/client-configs

    A continuación, regrese al directorio EasyRSA y ejecute el easyrsascript con las opciones gen-reqy nopass, junto con el nombre común del cliente:

    1. cd ~/easy-rsa
    2. ./easyrsa gen-req client1 nopass

    Pulsa ENTERpara confirmar el nombre común. Luego, copia el client1.keyarchivo al ~/client-configs/keys/directorio que creaste anteriormente:

    1. cp pki/private/client1.key ~/client-configs/keys/

    A continuación, transfiera el client1.reqarchivo a su servidor CA mediante un método seguro:

    1. scp pki/reqs/client1.req sammy@your_ca_server_ip:/tmp

    Ahora, inicie sesión en su servidor CA. Luego, navegue hasta el directorio EasyRSA e importe la solicitud de certificado:

    1. cd ~/easy-rsa
    2. ./easyrsa import-req /tmp/client1.req client1

    A continuación, firme la solicitud de la misma forma que lo hizo para el servidor en el paso anterior. Sin embargo, esta vez asegúrese de especificar el clienttipo de solicitud:

    1. ./easyrsa sign-req client client1

    Cuando se le solicite, ingrese yespara confirmar que desea firmar la solicitud de certificado y que proviene de una fuente confiable:

    OutputType the word 'yes' to continue, or any other input to abort.Confirm request details: yes

    Nuevamente, si encriptó su clave CA, se le solicitará su contraseña aquí.

    Esto creará un archivo de certificado de cliente llamado client1.crt. Transfiera este archivo nuevamente al servidor:

    1. scp pki/issued/client1.crt sammy@your_server_ip:/tmp

    De regreso en su servidor OpenVPN, copie el certificado del cliente al ~/client-configs/keys/directorio:

    1. cp /tmp/client1.crt ~/client-configs/keys/

    A continuación, copie también los archivos ca.crty ta.keyal directorio y configure los permisos adecuados para su usuario sudo:~/client-configs/keys/

    1. cp ~/easy-rsa/ta.key ~/client-configs/keys/
    2. sudo cp /etc/openvpn/server/ca.crt ~/client-configs/keys/
    3. sudo chown sammy.sammy ~/client-configs/keys/*

    Con esto, los certificados y las claves de su servidor y cliente se han generado y se almacenan en los directorios correspondientes en su servidor OpenVPN. Aún quedan algunas acciones por realizar con estos archivos, pero las realizaremos en un paso posterior. Por ahora, puede continuar con la configuración de OpenVPN.

    Paso 7: Configuración de OpenVPN

    Al igual que muchas otras herramientas de código abierto ampliamente utilizadas, OpenVPN tiene numerosas opciones de configuración disponibles para personalizar su servidor según sus necesidades específicas. En esta sección, le proporcionaremos instrucciones sobre cómo configurar un servidor OpenVPN según uno de los archivos de configuración de muestra que se incluyen en la documentación de este software.

    Primero, copie el server.confarchivo de muestra como punto de partida para su propio archivo de configuración:

    1. sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/server/
    2. sudo gunzip /etc/openvpn/server/server.conf.gz

    Abra el nuevo archivo para editarlo con el editor de texto que prefiera. En nuestro ejemplo, utilizaremos nano:

    1. sudo nano /etc/openvpn/server/server.conf

    Necesitaremos cambiar algunas líneas en este archivo. Primero, busque la HMACsección de configuración buscando la tls-authdirectiva. Esta línea estará habilitada de manera predeterminada. Comente la línea agregando un ;al comienzo de la línea. Luego, agregue una nueva línea después que contenga tls-crypt ta.keysolo el valor:

    /etc/openvpn/server/server.conf

    ;tls-auth ta.key 0 # This file is secrettls-crypt ta.key

    A continuación, busque la sección sobre cifrados criptográficos buscando las cipherlíneas. El valor predeterminado está establecido en AES-256-CBC, sin embargo, el AES-256-GCMcifrado ofrece un mejor nivel de cifrado y rendimiento, y es compatible con los clientes OpenVPN actualizados. Comentaremos el valor predeterminado agregando un ;signo al comienzo de esta línea y luego agregaremos otra línea después que contenga el valor actualizado de AES-256-GCM:

    /etc/openvpn/server/server.conf

    ;cipher AES-256-CBCcipher AES-256-GCM

    Inmediatamente después de esta línea, agregue una authdirectiva para seleccionar el algoritmo de resumen de mensajes HMAC. Para esto, SHA256una buena opción es:

    /etc/openvpn/server/server.conf

    auth SHA256

    A continuación, busque la línea que contiene una dhdirectiva que define los parámetros Diffie-Hellman. Dado que hemos configurado todos los certificados para utilizar criptografía de curva elíptica, no es necesario un archivo de inicialización Diffie-Hellman. Comente la línea existente que parece dh dh2048.pemo dh dh.pem. El nombre de archivo para la clave Diffie-Hellman puede ser diferente al que aparece en el archivo de configuración del servidor de ejemplo. A continuación, agregue una línea con el contenido dh none:

    /etc/openvpn/server/server.conf

    ;dh dh2048.pemdh none

    A continuación, queremos que OpenVPN se ejecute sin privilegios una vez que se haya iniciado, por lo que debemos indicarle que se ejecute con el usuario nobody y el grupo nogroup . Para habilitar esto, busque y descomente las user nobodylíneas group nogroupy quitando el ;signo del comienzo de cada línea:

    /etc/openvpn/server/server.conf

    user nobodygroup nogroup

    (Opcional) Enviar cambios de DNS para redirigir todo el tráfico a través de la VPN

    Las configuraciones anteriores crearán la conexión VPN entre su cliente y servidor, pero no forzarán a ninguna conexión a utilizar el túnel. Si desea utilizar la VPN para enrutar todo el tráfico de su cliente a través de ella, probablemente desee enviar algunas configuraciones adicionales a las computadoras cliente.

    Para comenzar, busque y descomente la línea que contiene push "redirect-gateway def1 bypass-dhcp". Al hacer esto, le indicará a su cliente que redirija todo su tráfico a través de su servidor OpenVPN. Tenga en cuenta que habilitar esta función puede causar problemas de conectividad con otros servicios de red, como SSH:

    /etc/openvpn/server/server.conf

    push "redirect-gateway def1 bypass-dhcp"

    Justo debajo de esta línea, busque la dhcp-optionsección. Nuevamente, elimine el ;del comienzo de ambas líneas para descomentarlas:

    /etc/openvpn/server/server.conf

    push "dhcp-option DNS 208.67.222.222"push "dhcp-option DNS 208.67.220.220"

    Estas líneas le indicarán a su cliente que utilice los solucionadores de OpenDNS gratuitos en las direcciones IP que aparecen en la lista. Si prefiere otros solucionadores de DNS, puede sustituirlos por las direcciones IP resaltadas.

    Esto ayudará a los clientes a reconfigurar sus configuraciones de DNS para utilizar el túnel VPN como puerta de enlace predeterminada.

    (Opcional) Ajuste el puerto y el protocolo

    De forma predeterminada, el servidor OpenVPN utiliza el puerto 1194y el protocolo UDP para aceptar conexiones de clientes. Si necesita utilizar un puerto diferente debido a entornos de red restrictivos en los que puedan estar sus clientes, puede cambiar la portopción. Si no aloja contenido web en su servidor OpenVPN, el puerto 443es una opción popular, ya que suele estar permitido a través de las reglas del firewall.

    Para cambiar OpenVPN para que escuche en el puerto 443, abra el server.confarchivo y busque la línea que se parece a esto:

    /etc/openvpn/server/server.conf

    port 1194

    Edítelo para que el puerto sea 443:

    /etc/openvpn/server/server.conf

    # Optional!port 443

    A menudo, el protocolo también está restringido a ese puerto. Si es así, busque la protolínea debajo de la portlínea y cambie el protocolo de udpa tcp:

    /etc/openvpn/server/server.conf

    # Optional!proto tcp

    Si cambia el protocolo a TCP, deberá cambiar el explicit-exit-notifyvalor de la directiva de 1a 0, ya que esta directiva solo la utiliza UDP. Si no lo hace mientras utiliza TCP, se producirán errores al iniciar el servicio OpenVPN.

    Busque la explicit-exit-notifylínea al final del archivo y cambie el valor a 0:

    /etc/openvpn/server/server.conf

    # Optional!explicit-exit-notify 0

    Si no necesita utilizar un puerto y protocolo diferentes, es mejor dejar estas configuraciones sin cambios.

    (Opcional) Señale credenciales no predeterminadas

    Si seleccionó un nombre diferente durante el ./easyrsa gen-req servercomando anterior, modifique las líneas certy keyen el server.confarchivo de configuración para que apunten a los archivos .crty apropiados .key. Si utilizó el nombre predeterminado, server, esto ya está configurado correctamente:

    /etc/openvpn/server/server.conf

    cert server.crtkey server.key

    Cuando haya terminado, guarde y cierre el archivo.

    Ya has terminado de configurar los ajustes generales de OpenVPN. En el siguiente paso, personalizaremos las opciones de red del servidor.

    Paso 8: Ajuste de la configuración de red del servidor OpenVPN

    Hay algunos aspectos de la configuración de red del servidor que se deben ajustar para que OpenVPN pueda enrutar correctamente el tráfico a través de la VPN. El primero de ellos es el reenvío de IP, un método para determinar hacia dónde se debe enrutar el tráfico de IP. Esto es esencial para la funcionalidad de VPN que proporcionará su servidor.

    Para ajustar la configuración de reenvío de IP predeterminada de su servidor OpenVPN, abra el /etc/sysctl.confarchivo usando nanosu editor preferido:

    1. sudo nano /etc/sysctl.conf

    Luego agregue la siguiente línea al final del archivo:

    /etc/sysctl.conf

    net.ipv4.ip_forward = 1

    Guarde y cierre el archivo cuando haya terminado.

    Para leer el archivo y cargar los nuevos valores para la sesión actual, escriba:

    1. sudo sysctl -p
    Outputnet.ipv4.ip_forward = 1

    Ahora, su servidor OpenVPN podrá reenviar el tráfico entrante de un dispositivo Ethernet a otro. Esta configuración garantiza que el servidor pueda dirigir el tráfico de los clientes que se conectan a la interfaz VPN virtual a través de sus otros dispositivos Ethernet físicos. Esta configuración enrutará todo el tráfico web de su cliente a través de la dirección IP de su servidor, y la dirección IP pública de su cliente quedará oculta de manera efectiva.

    En el siguiente paso, deberá configurar algunas reglas de firewall para garantizar que el tráfico hacia y desde su servidor OpenVPN fluya correctamente.

    Paso 9: Configuración del firewall

    Hasta ahora, ha instalado OpenVPN en su servidor, lo ha configurado y ha generado las claves y los certificados necesarios para que su cliente acceda a la VPN. Sin embargo, todavía no ha proporcionado a OpenVPN ninguna instrucción sobre dónde enviar el tráfico web entrante de los clientes. Puede estipular cómo debe manejar el servidor el tráfico de los clientes estableciendo algunas reglas de firewall y configuraciones de enrutamiento.

    Suponiendo que haya seguido los requisitos previos indicados al comienzo de este tutorial, ya debería tener ufwinst

    SUSCRÍBETE A NUESTRO BOLETÍN 
    No te pierdas de nuestro contenido ni de ninguna de nuestras guías para que puedas avanzar en los juegos que más te gustan.

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Subir

    Este sitio web utiliza cookies para mejorar tu experiencia mientras navegas por él. Este sitio web utiliza cookies para mejorar tu experiencia de usuario. Al continuar navegando, aceptas su uso. Mas informacion