Pregunta

Estamos ejecutando un Debian con un kernel 2.6.16, con iptables habilitado. El sistema ejecuta un proxy HTTP hecho a medida, que está sujeto a una carga leve (funciona bien con la misma carga en otros sitios). El sistema consta de 4 servidores que están precedidos por un equilibrador de carga con IP virtual, que está precedido por una matriz de 4 máquinas ISA 2004, por lo que la topología básica es:

Cliente - > ISA [1-4] - > Equilibrador de carga - > Nuestro proxy [1-4] - > Internet

Ocasionalmente, la ISA nos enviará un paquete SYN, al cual no se envía ningún SYN-ACK. Intentará nuevamente después de 3 segundos, y una tercera vez después de otros 6 segundos, luego de lo cual informará que el proxy está inactivo y cambiará a conexión directa. Durante este tiempo, es decir, antes, entre y después de esos 3 SYN, otros SYN de la misma ISA llegan y son respondidos con éxito.

Un problema muy similar está siendo informado por otros (sin embargo, sin solución):

Todo viene de un sabor de Linux llamado CentOS. Su peculiaridad es tener iptables habilitado de forma predeterminada.

http://www.linuxhelpforum.com/showthread.php?t = 931912 & amp; mode = linear http://www.centos.org/modules/newbb/viewtopic. php? topic_id = 16147

Casi lo mismo: pero un poco diferente: http: //www.linuxquestions.org/questions/linux-networking-3/tcp-handshake-fails-synack-ignored-by-system.-637171/

También parece ser relevante: http://groups.google.com/group/ comp.os.linux.networking / browse_thread / thread / b1c000e2d65e0034

Sospecho que iptables es un culpable, pero cualquier comentario adicional será bienvenido.

¿Fue útil?

Solución

Mire el segundo parámetro de la llamada de escucha, como se mencionó en el primer enlace que publicó. Es el número máximo de conexiones pendientes (aún no aceptadas). De acuerdo con la página de manual de listen (2), si el protocolo admite la retransmisión (TCP), la solicitud de conexión se eliminará cuando la cola esté llena (esperando una retransmisión posterior que creará la conexión si hay suficiente espacio en la cola nuevamente) ).

Otros consejos

De hecho, las iptables resultaron ser el culped, con la regla que eliminó los paquetes INVÁLIDOS. Todavía no sabemos con certeza qué hicieron las iptables para pensar que esos SYN no eran válidos (no hay TIME_WAIT con seguridad, ya que no tuvimos tráfico con los mismos puertos de origen durante al menos 30 minutos antes de las caídas).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top