Hola a todos,
Parece haber problemas con la gestión de sesiones de la granja NAT. Tras la caída de uno o varios backends, algunos o todos los clientes dejan de conectarse, incluso después de que se reactiven. Solo un reinicio de la granja soluciona el problema.
Mi config:
– RELIANOID Versión CE 7.6.1
– Granja l4xnat, TCP, NAT, persistencia de IP de origen, check_tcp de farmguardian (conexiones cortadas), múltiples backends
Algunas cosas que descubrí:
a) /usr/share/perl5/Relianoid/Farm/L4xNAT/Backend.pm en setL4FarmBackendsSessionsRemove:
línea 307: 'if ($value eq $value_check)' nunca funciona, p. ej. “80000201” eq “201”
b) La eliminación de sesiones no funciona de manera confiable cuando varios backends fallan simultáneamente (después de corregir rápidamente la línea anterior eliminando 80000 de $value)
Ejemplo de salida de “nft list map ip nftlb persist-myfarm”:
Los tres backends arriba:
tabla ip nftlb {
mapa persistir-migranja {
tipo ipv4_addr : marca
Tamaño 65535
tiempo de espera 12h
elementos = { 192.168.1.11 tiempo de espera 12h expira 11h59m56s208ms : 0x80000200, 192.168.1.12 tiempo de espera 12h expira 11h59m51s32ms : 0x80000201,
192.168.1.10 tiempo de espera 12h expira 11h59m54s508ms : 0x80000202 }
}
}
Al apagar los backends 201 y 202 simultáneamente, no se eliminó la sesión de IP de origen 192.168.1.12:
tabla ip nftlb {
mapa persistir-migranja {
tipo ipv4_addr : marca
Tamaño 65535
tiempo de espera 12h
elementos = { 192.168.1.11 tiempo de espera 12h expira 11h59m59s412ms : 0x80000200, 192.168.1.12 tiempo de espera 12h expira 11h59m47s92ms : 0x80000201 }
}
}
Atentamente,
Stefan
¡Hola Stefan!
Gracias por su informe. Logramos reproducir el problema. Lo analizaremos a fondo y pronto le responderemos con una solución adecuada.
Saludos.
Hola nevola,
¡Genial, gracias por investigar esto!
Atentamente,
Stefan
Hola Stefan, tenemos un parche que soluciona el problema.
¿Podrías escribirnos por favor? soporte@relianoid.com para que podamos facilitar el parche.
Saludos.