SYN-Pakete fallen gelassen gelegentlich auf Linux
-
03-07-2019 - |
Frage
Wir sind ein Debian mit einem 2.6.16-Kernel ausgeführt wird, mit iptables aktiviert. Das System ist einen maßgeschneiderten HTTP-Proxy ausgeführt wird, was zu einer leichten Belastung ausgesetzt ist (es funktioniert mit der gleichen Last auf anderen Seiten in Ordnung). Das System besteht aus 4-Server, die von einem Lastausgleicher mit virtuellen IP vorangestellt ist, die durch eine Anordnung von 4 ISA 2004 Maschinen vorgeschaltet ist, so dass die grundlegende Topologie:
Client -> ISA [1-4] -> Load Balancer -> Unser Proxy [1-4] -> Das Internet
Gelegentlich wird die ISA uns ein SYN-Paket senden, an denen kein SYN-ACK gesendet wird. Er wird versuchen, wieder nach 3 Sekunden, und ein drittes Mal nach weiteren 6 Sekunden, nach dem es nach unten dem Proxy berichten, und wechseln Sie in der direkten Anschluss. Während dieser Zeit, also vor, zwischen und nach diesen 3 SYNs, andere SYNs aus demselben ISA kommen und beantwortet erfolgreich.
Ein sehr ähnliches Problem von anderen berichtet wird (ohne Lösung, jedoch):
Alle kommen aus einer Linux-Variante namens CentOS. Es ist Besonderheit ist standardmäßig aktiviert iptables zu haben.
http://www.linuxhelpforum.com/showthread.php?t = 931912 & mode = linear http://www.centos.org/modules/newbb/viewtopic. php? topic_id = 16147
Fast die gleiche, aber ein bisschen anders: http: //www.linuxquestions.org/questions/linux-networking-3/tcp-handshake-fails-synack-ignored-by-system.-637171/
Auch scheint relevant zu sein: http://groups.google.com/group/ comp.os.linux.networking / browse_thread / thread / b1c000e2d65e0034
ich iptables vermuten, ein Täter zu sein, aber jedes zusätzliche Feedback ist willkommen.
Lösung
Lesen Sie den zweiten Parameter, um den Anruf hören, wie in der ersten Link erwähnt Sie auf dem Laufenden. Es ist die maximale Anzahl der ausstehenden (noch nicht akzeptiert) Verbindungen. wieder nach dem hören (2) man-Seite, wenn das Protokoll Neuübertragung unterstützt (TCP der Fall ist), wird die Verbindungsanforderung fallen gelassen werden, wenn die Warteschlange voll ist (eine spätere erneute Übertragung erwarten, die die Verbindung erstellen, wenn es genug Platz in der Warteschlange ).
Andere Tipps
Tatsächlich wandten sich die iptables aus der culrpit zu sein, mit der Regel, dass ungültige Pakete verworfen. Wir wissen noch nicht genau, was iptables gemacht jene SYNs zu denken waren ungültig (kein TIME_WAIT sicher, da wir keinen Verkehr mit den gleichen Quellports für mindestens 30 Minuten vor dem Tropfen haben).