Un servidor tiene clientes que se quedan colgados un rato y luego se reconectan, y otro rechaza las conexiones de inmediato con un mensaje sobre el tamaño de la clave. Parecen errores distintos y son el mismo error apuntando en direcciones opuestas. La criptografía del apretón de manos tiene un coste que crece con el tamaño de los parámetros, y también tiene un suelo por debajo del cual las bibliotecas modernas no bajan. Dimensionar el material es la lista de comprobación, y el primer punto es decidir cuál de los dos fallos tiene realmente.

Lea el fallo antes de regenerar nada

El tiempo le dice la mayor parte. Un apretón que consume varios segundos y luego muere suele significar que el cálculo superó la paciencia del par, lo que apunta a parámetros demasiado grandes para el hardware o para el tiempo de espera. Un rechazo inmediato que nombra un tamaño de clave o de grupo apunta al otro lado, a material que la biblioteca no aceptará en absoluto.

Esos dos necesitan correcciones opuestas, y aquí es donde fallan la mayoría de los intentos. Regenerar parámetros de 8192 bits en un cliente que ya rechazó un grupo pequeño empeora el caso lento sin hacer nada por el rápido. Anote qué síntoma observó antes de tocar un archivo.

Después compruebe qué se le pide al par. Un servidor configurado para un grupo grande de campo finito obliga a cada cliente a gastar el mismo tiempo de CPU en cada renegociación, no solo al conectar. Si el problema aparece a un intervalo regular en lugar de al arrancar, ese intervalo es una pista fuerte de qué ajuste es caro. La renegociación repite todo el cálculo, así que un atasco que reaparece cada hora suele ser el mismo coste pagado otra vez.

El caso lento: material que el hardware no puede costear

El trabajo de Diffie-Hellman y RSA crece rápido con el tamaño de la clave, y todo ello ocurre antes de que fluya cualquier tráfico por el túnel. En un router pequeño o un cliente de baja potencia, un grupo lo bastante grande puede empujar el intercambio más allá del tiempo de espera del otro lado, de modo que la conexión reintenta o simplemente parece colgada sin ningún error.

La solución es bajar a un tamaño que todos los pares admitan y que cada dispositivo pueda calcular con comodidad. Una clave RSA de 2048 bits y un grupo de 2048 bits siguen siendo una base ampliamente compatible; ir más allá solo ayuda cuando todos los pares están de acuerdo y la CPU puede pagarlo en cada renegociación. Todo lo que supera esa base es un intercambio deliberado, no una mejora.

El tamaño no es una puntuación, y el número más grande de una tabla comparativa no es automáticamente la elección correcta. Elija el valor más pequeño que su política permita y que todos los pares acepten, y luego mida el apretón en lugar de suponer que ha mejorado. Un grupo más pequeño que aún agota el tiempo le dice que el tamaño nunca fue toda la historia.

El caso rápido: un grupo que la biblioteca rechaza

Las compilaciones modernas de OpenSSL rechazan de plano los grupos de campo finito más pequeños, y un nivel de seguridad elevado empuja el suelo aún más arriba. El firmware de router que incluye un archivo de parámetros de hace décadas es la fuente habitual, y el síntoma es una conexión que falla de inmediato con un mensaje que nombra el grupo o el tamaño de la clave. Nada de ese fallo es intermitente, y eso es lo que lo hace fácil de reconocer.

Sustituya el archivo en lugar de editar la configuración para saltarse la comprobación. Genere un grupo actual, valídelo y luego instálelo donde el demonio lo lee de verdad. Conserve el archivo antiguo hasta que un cliente se haya conectado con éxito con el nuevo:

openssl dhparam -out /etc/openvpn/ffdhe2048.pem 2048
openssl dhparam -in /etc/openvpn/ffdhe2048.pem -check -noout
ls -l /etc/openvpn/ffdhe2048.pem

La orden de comprobación valida el archivo y no imprime nada útil cuando pasa; el listado confirma que sustituyó el archivo que carga el servicio y no una copia antigua junto a él. Apunte la configuración a esa ruta, reinicie el demonio y confirme que un cliente que antes fallaba ahora completa el apretón.

Si el servidor también fija un nivel de seguridad o un perfil de certificado, léalos antes de concluir que el grupo era incorrecto. Un perfil que exige una clase más estricta puede rechazar material que el valor por defecto habría aceptado, y quitar ese ajuste es un cambio más estrecho que desactivar la comprobación globalmente.

Elija un tamaño para el par y el hardware

Averigüe qué puede soportar el extremo remoto antes de generar algo exótico. Un dispositivo demasiado viejo para un grupo de 2048 bits es un dispositivo que hay que sustituir, ya que apuntar el servidor a un grupo más débil solo convierte una queja de compatibilidad en una caída. Las soluciones duraderas van hacia software más nuevo, no hacia parámetros más antiguos. Cada excepción temporal en este terreno tiene la costumbre de convertirse en la configuración permanente.

Donde la CPU del servidor es el límite, cambie el algoritmo en lugar de bajar por debajo de la política. Un intercambio de claves de curva elíptica como X25519 es mucho más barato que un grupo grande de campo finito y tiene amplio soporte, lo que lo convierte en la mejor respuesta a una queja de rendimiento que un módulo RSA más pequeño.

Elija lo que elija, pruébelo con una conexión real y observe cuánto tarda el apretón, no solo si al final conecta. Una conexión que tiene éxito en doce segundos tiene la misma causa raíz que una que falla a los quince.

Anote la elección para que una reconstrucción no la deshaga

Mantenga el archivo de parámetros bajo gestión de configuración y escriba junto a él el tamaño, el motivo y la fecha. Un servidor reconstruido que genera en silencio sus propios valores por defecto es la forma en que el mismo fallo vuelve seis meses después sin que nadie pueda explicar la decisión original.

Anote la misma información junto al endpoint y al perfil, para que una revisión no tenga que reconstruirla a partir del tamaño de un archivo. Cuando la próxima conexión se atasque, esa nota es la diferencia entre una comprobación de cinco minutos y una investigación nueva. También evita que el siguiente ingeniero resuelva el caso lento con una solución pensada para el rápido.

Artículos relacionados