Guía paso a paso para configurar OpenVPN en Ubuntu 22.04
Una guía completa para configurar el servidor OpenVPN en Ubuntu 22.04 con prácticas de seguridad y optimización adecuadas.

Guía paso a paso para configurar OpenVPN en Ubuntu 22.04

Este artículo le enseñará a instalar y configurar el servidor OpenVPN en Ubuntu 22.04. Esta guía abarca varios pasos, como la instalación de paquetes, la configuración de un firewall y consejos de seguridad.
0 acciones
0
0
0
0

¿Por qué deberíamos configurar OpenVPN en Ubuntu 22.04?

Esta guía proporciona un tutorial práctico y completo para la instalación y configuración. OpenVPN En Ubuntu 22.04 Está diseñado para administradores de sistemas, DevOps, comerciantes y jugadores. Los pasos incluyen la instalación de paquetes, la creación de una PKI con EasyRSA, la configuración del servidor y el cliente, la configuración de un firewall (ufw/iptables), la habilitación del enrutamiento y soluciones de seguridad como tls-cryptAdministración y uso de la lista de revocación de certificados (CRL) falla2ban Así será.

Requisitos previos

Para seguir esta guía necesitarás lo siguiente:

  • Un servidor Ubuntu 22.04 Con un usuario con acceso sudo
  • Una dirección IP pública o un rango de IP dedicado (IPv4/IPv6 si es necesario)
  • Puerto franco (sugerido: UDP 1194 o puerto personalizado para reducir la posibilidad de escaneo)
  • Al menos 1 GB de RAM para carga base; aumentar los recursos para uso empresarial o cientos de conexiones

Primera parte: Instalación de OpenVPN y EasyRSA

Primero, actualice los paquetes y luego instale OpenVPN y EasyRSA.

sudo apt update && sudo apt upgrade -y
sudo apt install -y openvpn easy-rsa

Copie la plantilla EasyRSA y prepare PKI:

make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
./easyrsa init-pki

Parte 2: Creación de CA, claves y certificados

Pasos para crear CA, claves y certificados con EasyRSA:

./easyrsa build-ca nopass
./easyrsa gen-req server nopass
./easyrsa sign-req server server
./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1
./easyrsa gen-dh
openvpn --genkey --secret /etc/openvpn/ta.key
./easyrsa gen-crl
cp pki/crl.pem /etc/openvpn/crl.pem
chmod 644 /etc/openvpn/crl.pem

Archivos necesarios para el servidor:

  • /etc/openvpn/server.crt
  • /etc/openvpn/server.key
  • /etc/openvpn/ca.crt
  • /etc/openvpn/dh.pem
  • /etc/openvpn/ta.key
  • /etc/openvpn/crl.pem

Parte 3: Configuración del servidor OpenVPN

Un archivo de configuración de muestra en /etc/openvpn/server/server.conf Crear. El siguiente ejemplo es una configuración básica y segura que utiliza AES-256-GCM y tls-crypt.

port 1194
proto udp
dev tun

ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh.pem
tls-crypt /etc/openvpn/ta.key

server 10.8.0.0 255.255.255.0
ifconfig-pool-persist /var/log/openvpn/ipp.txt

push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 1.1.1.1"
push "dhcp-option DNS 8.8.8.8"

keepalive 10 120
cipher AES-256-GCM
auth SHA256
ncp-ciphers AES-256-GCM
persist-key
persist-tun

user nobody
group nogroup

status /var/log/openvpn/status.log
log /var/log/openvpn/openvpn.log
verb 3

crl-verify /etc/openvpn/crl.pem

Consejos:

  • Uso de AES-256-GCM y Autenticación SHA256 Recomendado.
  • Para una latencia mínima en redes sensibles como las de comercio o juegos, UDP Es más adecuado; es posible en redes limitadas. TCP Puede que sea necesario.
  • Puede tls-versión-mínima 1.2 O tls-versión-mínima 1.3 Y añadir una lista de cifrados más estrictos.

Parte 4: Habilitación del enrutamiento y NAT

Se debe habilitar el reenvío y configurar NAT para pasar el tráfico del cliente a Internet.

Habilitar el reenvío de IPv4 temporalmente:

sudo sysctl -w net.ipv4.ip_forward=1

Para hacerlo permanente:

echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/99-openvpn.conf
sudo sysctl --system

Agregar una regla NAT con iptables (asumiendo la interfaz de salida eth0):

sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

Para que las reglas sean persistentes, utilice iptables-persistent o netfilter-persistent:

sudo apt install -y iptables-persistent
sudo netfilter-persistent save

Si de nftables Utilice para definir el equivalente de NAT en nft.

Configuración de UFW (si está habilitada)

Si de ufw Antes de habilitar NAT, utilice el archivo /etc/ufw/before.rules Editar y agregar la sección NAT. Ejemplo breve:

*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
COMMIT

Luego en /etc/predeterminado/ufw Cantidad REENVÍO IPV4 a "“”" o usa sysctl. Luego abre el puerto OpenVPN y habilita ufw:

sudo ufw allow 1194/udp
sudo ufw enable

Parte 5: Configuración del servicio OpenVPN

Ejecute y habilite el servicio (el nombre del servicio puede variar según la distribución):

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

Para comprobar el estado y el registro:

sudo systemctl status openvpn-server@server
journalctl -u openvpn-server@server -f

Parte 6: Creación de un archivo de cliente (.ovpn) con un certificado en línea

Para facilitar la distribución, cree un archivo .ovpn que incluya todos certificado/clave Están en línea dentro de él. Reemplace el siguiente ejemplo según los valores generados:

client
dev tun
proto udp
remote YOUR_SERVER_IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-GCM
auth SHA256
verb 3

<ca>
-----BEGIN CERTIFICATE-----
(محتوای ca.crt)
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
(محتوای client1.crt)
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
(محتوای client1.key)
-----END PRIVATE KEY-----
</key>
<tls-crypt>
-----BEGIN OpenVPN Static key V1-----
(محتوای ta.key)
-----END OpenVPN Static key V1-----
</tls-crypt>

Transfiera este archivo a sus clientes Windows, Mac o Linux. En Linux, puede usar NetworkManager o el comando openvpn --config cliente.ovpn Usar.

Sección 7 — Administración de usuarios, revocación de certificados y seguridad

La gestión y seguridad de usuarios incluye lo siguiente:

  • Añadir nuevo usuario: Generar clave y firmar como cliente1.
  • Revocación del certificado (revocar): ./easyrsa revoke client1 && ./easyrsa gen-crl Luego copie crl.pem a /etc/openvpn/crl.pem y recargue el servidor.
  • Uso combinado de certificados basados en autenticación y contraseña de usuario: Puede utilizar PAM o RADIUS y agregar OTP/2FA para mayor seguridad.
  • Fallo2ban: Instalación y configuración para monitorear registros y bloquear intentos de intrusión.
  • Gestión de registros: Reduzca los niveles de registro en producción y utilice logrotate para mantener los archivos de registro.
sudo apt install -y fail2ban
# create a custom jail for openvpn as needed

Sección 8 — Consejos técnicos y optimización para aplicaciones

Algunas sugerencias prácticas para diferentes escenarios:

Para trading/forex y criptomonedas

  • Elija una ubicación cercana a los intercambios o servidores comerciales para reducir el RTT (por ejemplo, Londres, Frankfurt, Nueva York, Tokio).
  • Utilice un VPS dedicado para operar con ping bajo, recursos dedicados y un servidor anti-DDoS.
  • Utilice UDP y configure la MTU adecuada (por ejemplo, tun-mtu 1500 o menos) para evitar la fragmentación.

Para juegos

  • Elija una ubicación con el ping más bajo y utilice VPS o servidores de alta velocidad con una red rápida.
  • Prueba A/B para ver si una VPN realmente mejora el enrutamiento y reduce el ping.

Para inteligencia artificial y renderizado

  • Para grandes transferencias de datos, es mejor utilizar redes privadas en la nube (VPC) o VPN a nivel de red con BGP.
  • Utilice servidores con red de 10 Gbps para conectarse al servidor GPU.

Sección 9 — Comparación de ubicaciones e infraestructura

Ejemplo de beneficios por región:

  • Europa (Frankfurt, Londres, Ámsterdam): Adecuado para comerciantes europeos y baja latencia para los intercambios.
  • Estados Unidos (NY, NJ, Miami): Adecuado para mercados de América del Norte y cargas sensibles al retraso.
  • Asia (Tokio, Singapur, Seúl): Adecuado para los mercados de APAC y servicios de juegos e inteligencia artificial en la región.

Nuestra empresa cuenta con más de 85 ubicaciones globalesOfrece redes BGP y CDN, que pueden ser efectivas para reducir la latencia, aumentar la estabilidad y prevenir ataques DDoS.

Sección 10 — Monitoreo y mantenimiento

Consejos de mantenimiento y escalabilidad:

  • Monitoreo de OpenVPN con Prometheus/Grafana o Zabbix (usando exportadores o análisis de registros).
  • Mantenimiento periódico de CRL y comprobación de registros de conexión.
  • Para una gran cantidad de clientes, utilice un balanceador de carga y varios servidores OpenVPN con alta disponibilidad y CA compartida.

Solución rápida de problemas

  • Revisar el registro: sudo journalctl -u openvpn-server@servidor -e
  • Inspección del túnel: ip un espectáculo tun0
  • Comprobación del puerto: sudo ss -ulpn | grep 1194
  • Prueba NAT: desde un cliente VPN, haga ping a 8.8.8.8 y a la IP pública del servidor.

Resumen y recomendaciones de seguridad

Recomendaciones clave:

  • Utilice siempre TLS (tls-crypt) y una CA fuerte.
  • Utilice cifrado fuerte (AES-256-GCM) y al menos TLS 1.2.
  • Implementar un procedimiento de revocación y CRL para eliminar el acceso en caso de una fuga de clave.
  • Utilice reglas de fail2ban y de límite de velocidad en su firewall.
  • No olvides monitorear y revisar periódicamente los registros.

Beneficios de la infraestructura y ubicaciones brindadas

El uso de una infraestructura preconfigurada con múltiples ubicaciones ofrece beneficios como un ping reducido, mayor estabilidad y protección contra DDoS. Se ofrecen opciones como VPS de intercambio, servidores de juegos, servidores GPU y servidores anti-DDoS para escenarios específicos.

Preguntas frecuentes

También te puede gustar