Häufig gestellte Fragen
Timeouts
Wichtig
Bevor Sie einen nsapimgr-Knopf verwenden, wenden Sie sich an den Citrix Kundensupport.
Im Folgenden finden Sie eine Liste verschiedener Timeouts für inaktive Verbindungen, die auf virtuellen NetScaler T1-Servern und -Diensten festgelegt werden können. Die für Client- oder Serververbindungen auf vServer- oder Serviceebene festgelegten Leerlauf-Timeouts gelten nur für Verbindungen im Status TCP ESTABLISHED und sind inaktiv.
- Virtueller Load Balancing-Server Der cltTimeout-Parameter gibt die Zeit in Sekunden an, in der eine Verbindung von einem Client zu einem virtuellen Load Balancing-Server inaktiv sein muss, bevor die Appliance die Verbindung schließt.
- Der Parameter Service SvrTimeout gibt die Zeit in Sekunden an, während der eine Verbindung von der Appliance zu einem Dienst oder Server inaktiv sein muss, bevor die Appliance die Verbindung schließt.
- Der Parameter Service cltTimeout gibt die Zeit in Sekunden an, in der eine Verbindung von einem Client zu einem Dienst inaktiv sein muss, bevor die Appliance die Verbindung schließt.
Wenn ein Dienst an einen virtuellen Load Balancing-Server gebunden ist, hat das cltTimeout für den virtuellen Load Balancing-Server Vorrang, und der Dienst cltTimeout for service wird ignoriert.
Falls kein Dienst an den virtuellen Load Balancing-Server gebunden ist, wird das globale Leerlaufzeitlimit, nämlich TCPServer, für serverseitige Verbindungen verwendet. Sie kann wie folgt konfiguriert werden:
Befehl:
set ns timeout –tcpServer 9000
<!--NeedCopy-->
Verbindungen in einem anderen Status haben unterschiedliche Timeout-Werte:
- Timeout im Leerlauf bei halb geöffneten Verbindungen: 120 Sekunden (fest codierter Wert)
- Timeout für TIME_WAIT-Verbindungen im Leerlauf: 40 Sekunden (fest codierter Wert)
- Timeout bei halbem Schließen von Verbindungen im Leerlauf. Standardmäßig ist es 10s und kann mithilfe des Snippets zwischen 1 s und 600 s konfiguriert werden.
Befehl:
set ns timeout –halfclose 10
<!--NeedCopy-->
Wenn ein Timeout bei halbem Schließen ausgelöst wird, wird die Verbindung in den Zombie-Status versetzt. Wenn das Zombie-Timeout abläuft, wird das Zombie-Cleanup aktiviert und T1 sendet standardmäßig RST sowohl auf der Client- als auch auf der Serverseite für die angegebene Verbindung.
- Zombie-Timeout: Intervall, in dem der Zombie-Bereinigungsprozess ausgeführt werden muss, um inaktive TCP-Verbindungen zu bereinigen. Der Standard-Timeout-Wert ist 120 s und kann zwischen 1 s und 600 s konfiguriert werden.
Befehl:
set ns timeout –zombie 120
<!--NeedCopy-->
Tabelle mit maximaler Segmentgröße
Eine NetScaler T1-Appliance schützt vor SYN-Flood-Angriffen, indem sie SYN-Cookies verwendet, anstatt halboffene Verbindungen auf dem Systemspeicherstapel aufrechtzuerhalten. Die Appliance sendet ein Cookie an jeden Client, der eine TCP-Verbindung anfordert, behält jedoch nicht den Status halboffener Verbindungen bei. Stattdessen weist die Appliance Systemspeicher für eine Verbindung erst zu, wenn sie das letzte ACK-Paket empfängt oder, für HTTP-Verkehr, wenn eine HTTP-Anfrage empfangen wird. Dadurch werden SYN-Angriffe verhindert und die normale TCP-Kommunikation mit legitimen Clients kann unterbrechungsfrei fortgesetzt werden. Eine bestimmte Funktion ist standardmäßig aktiviert, ohne dass eine Option zum Deaktivieren vorhanden ist.
Es gibt jedoch einen Vorbehalt, da standardmäßige SYN-Cookies Verbindungen auf die Verwendung von nur acht MSS-Werten (Maximum Segment Size) beschränken. Wenn die Verbindungs-MMS mit keinem vordefinierten Wert übereinstimmt, wird sowohl auf der Client- als auch auf der Serverseite der nächste verfügbare niedrigere Wert verwendet.
Die vordefinierten TCP-Werte für maximale Segmentgröße (MSS) lauten wie folgt und können über einen neuen nsapimgr-Knopf konfiguriert werden.
1460 | 1440 | 1330 | 1220 | 956 | 536 | 384 | 128 |
Die neue MSS-Tabelle:
- Muss keine Jumbo-Frame-Unterstützung enthalten. Obwohl in der MSS-Tabelle standardmäßig 8 Werte für Jumbo-Frames reserviert sind, können die Tabelleneinstellungen so geändert werden, dass sie nur standardmäßige Frames in Ethernet-Größe enthalten.
- Sollte 16 Werte haben
- Sollte Werte in absteigender Reihenfolge haben
- Sollte 128 als letzten Wert enthalten
Wenn die neue MSS-Tabelle gültig ist, wird die Tabelle gespeichert und die alten Werte werden bei der SYN-Cookie-Rotation ausgetauscht. Andernfalls gibt die neue Tabelle einen Fehler zurück. Änderungen werden auf neue Verbindungen angewendet, während bestehende Verbindungen die alte MSS-Tabelle beibehalten, bis die Verbindungen ablaufen oder beendet werden.
Geben Sie den folgenden Befehl ein, um die aktuelle MSS-Tabelle in einer NetScaler-Appliance anzuzeigen.
Befehl:
>shell
#nsapimgr -d mss_table
Beispiel:
#nsapimgr -d mss_table
MSS table
{9176,9156,8192,7168,6144,4196,3072,2048,1460,1440,1330,1212,956,536,384,128}
Done.
Um die MSS-Tabelle zu ändern, geben Sie den folgenden Befehl ein:
Befehl:
>shell
#nsapimgr -s mss_table=<16 comma seperated values>
Beispiel:
#nsapimgr -ys mss_table=9176,9156,8192,7168,6144,4196,3072,2048,1460,1400,1330,1212,956,536,384,128
# nsapimgr -d mss_table
MSS table
{9176,9156,8192,7168,6144,4196,3072,2048,1460,1400,1330,1212,956,536,384,128}
Done.
Ein Beispiel, das Standardwerte für Ethernet-Größe verwendet, ist unten dargestellt:
Beispiel:
#nsapimgr -ys mss_table=1460,1440,1420,1400,1380,1360,1340,1320,1300,1280,1260,1212,956,536,384,128
# nsapimgr -d mss_table
MSS table
{1460,1440,1420,1400,1380,1360,1340,1320,1300,1280,1260,1212,956,536,384,128}
Done.
Um diese Änderung auch nach dem Neustart der NetScaler Appliance dauerhaft zu machen, fügen Sie den Befehl #nsapimgr -ys mss_table=<16 comma seperated values>
in die Datei “/nsconfig/rc.netscaler” ein. Wenn die Datei „rc.netscaler“ nicht existiert, erstellen Sie sie im Ordner „/nsconfig“ und hängen Sie dann den Befehl an.
Schutz vor Speicherüberlastung
Eine NetScaler Packet Processing Engine (PPE) beginnt, Verbindungen aus der TCP-Optimierung zu umgehen, wenn der von dieser einen PPE verwendete Speicher einen bestimmten hohen Wasserzeichenwert überschreitet. Wenn die PPE-Speicherauslastung ~2,6 GB übersteigt, werden alle neuen Verbindungen aus der Optimierung umgangen. Die bestehenden Verbindungen (die zuvor zur Optimierung zugelassen wurden) werden weiter optimiert. Dieser Wasserzeichenwert wurde bewusst ausgewählt und wird nicht zur Optimierung empfohlen.
Hinweis
Wenn Sie der Meinung sind, dass es einen guten Grund gibt, diesen Wasserzeichenwert zu ändern, wenden Sie sich an den Kundensupport.
Unterstützung für Happy Eyeballs Kunden
Wenn die NetScaler-Appliance ein SYN für ein Ziel empfängt, dessen Status unbekannt ist, überprüft die Appliance zunächst die Erreichbarkeit des Servers und bestätigt dann den Client. Dieser Prüfmechanismus ermöglicht es Clients mit dualen IP-Stacks, die Erreichbarkeit von Dual-Stack-Internetservern zu ermitteln. Wenn der Client feststellt, dass sowohl IPv6- als auch IPv4-Zugriff verfügbar sind, stellt er eine Verbindung zum Server her, der schneller reagiert, und setzt den anderen zurück. Wenn die Verbindung für die NetScaler-Appliance zurückgesetzt wird, wird die entsprechende serverseitige Verbindung zurückgesetzt.
Hinweis: Diese Funktion hat keine vom Benutzer konfigurierbaren TCP-Einstellungen, die auf der NetScaler-Appliance deaktiviert/aktiviert werden können.
Weitere Informationen zur Unterstützung von Happy Eyeballs finden Sie unter RFC 6555.