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

Introducción
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_keys
archivo 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 apt
para la instalación:
- sudo apt update
- 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
:
- mkdir ~/easy-rsa
Ahora necesitarás crear un enlace simbólico desde el easyrsa
script que instaló el paquete en el ~/easy-rsa
directorio que acabas de crear:
- ln -s /usr/share/easy-rsa/* ~/easy-rsa/
Nota: Si bien otras guías pueden indicarle que copie los easy-rsa
archivos del paquete en su directorio PKI, este tutorial adopta un enfoque de enlace simbólico. Como resultado, cualquier actualización del easy-rsa
paquete 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
:
- sudo chown sammy ~/easy-rsa
- 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 vars
con algunos valores predeterminados. Primero , cd
ingrese al easy-rsa
directorio y luego cree y edite el vars
archivo con nano o su editor de texto preferido.
- cd ~/easy-rsa
- 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 vars
archivo 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 vars
archivo, puede continuar con la creación del directorio PKI. Para ello, ejecute el easyrsa
script con la init-pki
opció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:
- ./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-rsa
directorio en su servidor OpenVPN como su usuario no root:
- cd ~/easy-rsa
Ahora, llamará al easyrsa
con la gen-req
opció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 nopass
tambié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 server
este, deberá ajustar algunas de las instrucciones que aparecen a continuación. Por ejemplo, al copiar los archivos generados al /etc/openvpn
directorio, 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.conf
correctos ..crt
.key
- ./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/server
directorio:
- 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 server
certificado 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.req
solicitud de certificado al servidor CA para firmar:
- 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á cd
al ~/easy-rsa
directorio donde creó su PK y luego importará la solicitud de certificado mediante el easyrsa
script:
- cd ~/easy-rsa
- ./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 easyrsa
script con la sign-req
opción, seguida del tipo de solicitud y el nombre común. El tipo de solicitud puede ser client
o server
. Dado que estamos trabajando con la solicitud de certificado del servidor OpenVPN, asegúrese de utilizar el server
tipo de solicitud:
- ./easyrsa sign-req server server
En el resultado, se le solicitará que verifique que la solicitud proviene de una fuente confiable. Escriba yes
y presione ENTER
para 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.crt
archivo 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.crt
y ca.crt
del servidor CA al servidor OpenVPN:
- scp pki/issued/server.crt sammy@your_vpn_server_ip:/tmp
- scp pki/ca.crt sammy@your_vpn_server_ip:/tmp
Ahora, de vuelta en su servidor OpenVPN, copie los archivos desde /tmp
a /etc/openvpn/server
:
- 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-crypt
la 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-crypt
clave precompartida, ejecute lo siguiente en el servidor OpenVPN en el ~/easy-rsa
directorio:
- cd ~/easy-rsa
- openvpn --genkey --secret ta.key
El resultado será un archivo llamado ta.key
. Cópielo en el /etc/openvpn/server/
directorio:
- 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:
- 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:
- chmod -R 700 ~/client-configs
A continuación, regrese al directorio EasyRSA y ejecute el easyrsa
script con las opciones gen-req
y nopass
, junto con el nombre común del cliente:
- cd ~/easy-rsa
- ./easyrsa gen-req client1 nopass
Pulsa ENTER
para confirmar el nombre común. Luego, copia el client1.key
archivo al ~/client-configs/keys/
directorio que creaste anteriormente:
- cp pki/private/client1.key ~/client-configs/keys/
A continuación, transfiera el client1.req
archivo a su servidor CA mediante un método seguro:
- 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:
- cd ~/easy-rsa
- ./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 client
tipo de solicitud:
- ./easyrsa sign-req client client1
Cuando se le solicite, ingrese yes
para 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:
- 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:
- cp /tmp/client1.crt ~/client-configs/keys/
A continuación, copie también los archivos ca.crt
y ta.key
al directorio y configure los permisos adecuados para su usuario sudo:~/client-configs/keys/
- cp ~/easy-rsa/ta.key ~/client-configs/keys/
- sudo cp /etc/openvpn/server/ca.crt ~/client-configs/keys/
- 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.conf
archivo de muestra como punto de partida para su propio archivo de configuración:
- sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/server/
- 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:
- sudo nano /etc/openvpn/server/server.conf
Necesitaremos cambiar algunas líneas en este archivo. Primero, busque la HMAC
sección de configuración buscando la tls-auth
directiva. 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.key
solo 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 cipher
líneas. El valor predeterminado está establecido en AES-256-CBC
, sin embargo, el AES-256-GCM
cifrado 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 auth
directiva para seleccionar el algoritmo de resumen de mensajes HMAC. Para esto, SHA256
una buena opción es:
/etc/openvpn/server/server.conf
auth SHA256
A continuación, busque la línea que contiene una dh
directiva 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.pem
o 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 nobody
líneas group nogroup
y 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-option
secció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 1194
y 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 port
opción. Si no aloja contenido web en su servidor OpenVPN, el puerto 443
es 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.conf
archivo 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 proto
línea debajo de la port
línea y cambie el protocolo de udp
a tcp
:
/etc/openvpn/server/server.conf
# Optional!proto tcp
Si cambia el protocolo a TCP, deberá cambiar el explicit-exit-notify
valor de la directiva de 1
a 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-notify
lí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 server
comando anterior, modifique las líneas cert
y key
en el server.conf
archivo de configuración para que apunten a los archivos .crt
y 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.conf
archivo usando nano
su editor preferido:
- 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:
- 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 ufw
inst
Deja una respuesta