212.5 - OpenVPN: Comandos clave

PKI con easy-rsa

ComandoDescripción
make-cadir /etc/openvpn/easy-rsaCrear directorio de trabajo easy-rsa
./easyrsa init-pkiInicializar la infraestructura PKI
./easyrsa build-caCrear la autoridad certificadora (CA)
./easyrsa gen-req server nopassGenerar solicitud de certificado del servidor
./easyrsa sign-req server serverFirmar certificado como tipo servidor
./easyrsa gen-req cliente1 nopassGenerar solicitud de certificado del cliente
./easyrsa sign-req client cliente1Firmar certificado como tipo cliente
./easyrsa gen-dhGenerar parámetros Diffie-Hellman
./easyrsa revoke cliente1Revocar certificado de un cliente
./easyrsa gen-crlGenerar lista de revocación de certificados

Gestión de OpenVPN

ComandoDescripción
openvpn --genkey secret /etc/openvpn/ta.keyGenerar clave TLS-Auth
openvpn --config /etc/openvpn/server/server.confIniciar manualmente con archivo de configuración
systemctl enable openvpn-server@serverHabilitar inicio automático del servidor
systemctl start openvpn-server@serverIniciar el servidor VPN
systemctl status openvpn-server@serverVerificar estado del servidor
systemctl enable openvpn-client@clientHabilitar inicio automático del cliente
systemctl start openvpn-client@clientIniciar el cliente VPN

Verificación y diagnóstico

ComandoDescripción
ip addr show tun0Ver la interfaz del túnel VPN
ip route | grep tunVer rutas a través del túnel
cat /var/log/openvpn/openvpn-status.logVer conexiones activas
tail -f /var/log/openvpn/openvpn.logSeguir el log en tiempo real
ping 10.8.0.1Probar conectividad con el servidor VPN

Directivas principales del servidor (server.conf)

DirectivaDescripción
port 1194Puerto de escucha
proto udpProtocolo (udp o tcp)
dev tunInterfaz virtual (tun o tap)
ca ca.crtCertificado de la CA
cert server.crtCertificado del servidor
key server.keyClave privada del servidor
dh dh.pemParámetros Diffie-Hellman
server 10.8.0.0 255.255.255.0Subred VPN
push "route 192.168.1.0 255.255.255.0"Enviar ruta a los clientes
client-to-clientPermitir tráfico entre clientes
keepalive 10 120Intervalo de ping y timeout
tls-auth ta.key 0Autenticación HMAC (servidor: 0)
tls-crypt ta.keyCifrado del canal de control
cipher AES-256-GCMAlgoritmo de cifrado
persist-keyMantener claves en reinicios
persist-tunMantener túnel en reinicios
crl-verify crl.pemVerificar lista de revocación

Directivas principales del cliente (client.ovpn)

DirectivaDescripción
clientModo cliente
remote vpn.ejemplo.com 1194Dirección y puerto del servidor
resolv-retry infiniteReintentar resolución DNS
nobindNo vincularse a puerto local
tls-auth ta.key 1Autenticación HMAC (cliente: 1)
remote-cert-tls serverVerificar tipo de certificado del servidor

Archivos y rutas relevantes

ArchivoDescripción
/etc/openvpn/server/server.confConfiguración del servidor
/etc/openvpn/client/client.ovpnConfiguración del cliente
/etc/openvpn/ta.keyClave TLS-Auth/TLS-Crypt
/etc/openvpn/easy-rsa/pki/ca.crtCertificado de la CA
/etc/openvpn/easy-rsa/pki/issued/Certificados firmados
/etc/openvpn/easy-rsa/pki/private/Claves privadas
/etc/openvpn/easy-rsa/pki/dh.pemParámetros Diffie-Hellman
/etc/openvpn/easy-rsa/pki/crl.pemLista de revocación
/var/log/openvpn/openvpn-status.logEstado de conexiones activas
/var/log/openvpn/openvpn.logLog del servidor