Tormenta de reconexión en la sucursal: límites de admisión de strongSwan
Una oficina entera detrás de un solo NAT puede superar los límites de IKE semiableierto de strongSwan. Cuente el estado de admisión aparte de las sesiones establecidas antes de subir un valor.
Observe cómo vuelve una sucursal tras un fallo de enlace y la puerta de enlace ve algo que nunca aparece en un día normal: decenas de portátiles llegan a la vez desde una única dirección pública. Cada uno es un dispositivo legítimo y cada uno inicia un intercambio IKE que aún no ha terminado. Que esa ráfaga tenga éxito depende de límites que no tienen nada que ver con cuántos empleados puede soportar el servidor. La ráfaga es corta, y es precisamente la carga de trabajo para la que se construyó la ruta de admisión.
Siga a un portátil de vuelta a la red
El cliente envía una solicitud inicial y espera, y hasta que el intercambio se completa la puerta de enlace mantiene el estado de admisión para ese intento. Otros dispositivos detrás de la misma dirección llegan mientras el primero aún espera, y hacen cola tras un límite que cuenta direcciones en lugar de usuarios. Desde fuera, el síntoma es un puñado de usuarios que se conectan y un grupo mayor que agota el tiempo.
Nada en esa secuencia es un fallo. Es la ruta de admisión haciendo lo que se configuró para hacer.
Cuente el trabajo semiableierto como un recurso propio
strongSwan separa dos poblaciones: asociaciones plenamente establecidas e intentos que todavía se conectan o esperan ser procesados. El umbral de bloqueo se aplica a las asociaciones semiableiertas atribuidas a una dirección de par, y los umbrales de cookie se aplican globalmente y por dirección. Esos contadores protegen al demonio de ser consumido por trabajo no autenticado, que es exactamente la forma de una tormenta de reconexión. Nada de ese estado aparece en una lista de túneles establecidos.
Leerlos como un tope de las sesiones de empleados es el error que lleva a subirlo todo a la vez. Un servidor que soporta cuatrocientos túneles establecidos no es automáticamente capaz de absorber cuatrocientos primeros paquetes simultáneos, porque los dos costes recaen en lugares distintos.
La latencia de autenticación decide cuánto tiempo permanece cada intento en la cuenta de semiableiertos. Un backend que responde despacio convierte una ráfaga corta en una cola larga incluso cuando la tasa de llegada es modesta.
swanctl --stats
swanctl --list-sas | grep -c ESTABLISHED
Lea los ajustes de admisión antes de cambiarlos
Encuentre los valores que el demonio en ejecución cargó realmente antes de formarse una opinión sobre ellos. La configuración suele repartirse entre un archivo principal y un directorio de fragmentos por complemento, así que un valor que fije en un lugar puede quedar anulado en otro. La búsqueda de abajo muestra cada archivo que menciona esos ajustes.
Luego decida qué número es demasiado pequeño. Si una dirección representa legítimamente una oficina entera, el umbral de bloqueo por dirección es el valor que debe acoger esa concentración. Un umbral de cookie global protege al demonio de una inundación más amplia y no debe relajarse porque un sitio se reconecte. Compare ese valor por dirección con el sitio más grande que realmente tenga.
Mantenga activado el mecanismo de cookies. Las cookies hacen que el cliente demuestre que puede recibir en la dirección que afirma antes de que el demonio gaste trabajo real en el intercambio, y desactivarlas no es una mejora de capacidad neutral. Suba un umbral solo con una tasa de llegada medida y un presupuesto de autenticación declarado detrás.
grep -rn -E 'block_threshold|cookie_threshold' /etc/strongswan.conf /etc/strongswan.d/
swanctl --stats | grep -i half
Planifique el regreso, no solo el estado estacionario
Un objetivo de disponibilidad que solo cuenta sesiones establecidas describe una tarde tranquila, no una recuperación. Pregúntese en cambio cómo regresa la población prevista tras un evento de red compartido, y si la ruta de admisión puede absorber esa forma.
Escalonar la reconexión por una flota gestionada suele ser más barato que ampliar los límites, porque elimina la ráfaga artificial en lugar de pagar por ella de forma permanente. Vigile el estado semiableierto y los eventos de admisión junto a los establecimientos correctos, y trate un recuento semiableierto creciente con éxitos planos como una advertencia temprana y no como una curiosidad.
La referencia del proveedor para estos ajustes es la documentación de strongswan.conf, que nombra los contadores y la versión que introdujo el umbral de cookie por dirección. Lea la sección de su versión instalada en lugar de la página más reciente, porque los valores por defecto se mueven entre versiones.