よくある質問
タイムアウト
重要
nsapimgrノブを使用する前に 、Citrix カスタマーサポートに問い合わせてください。
Citrix ADC T1仮想サーバーおよびサービスで設定できるさまざまなアイドル接続タイムアウトを次に示します。vserver またはサービスレベルでクライアントまたはサーバー接続に対して設定されたアイドルタイムアウトは、TCP ESTABLISHED 状態の接続に対してのみ適用可能で、アイドル状態です。
- 負荷分散仮想サーバーcltTimeoutパラメータは、クライアントから負荷分散仮想サーバーへの接続が、アプライアンスが接続を閉じるまでにアイドル状態である必要がある時間を秒単位で指定します。
- Service svrTimeout パラメータは、アプライアンスからサービスまたはサーバーへの接続が、アプライアンスが接続を閉じるまでにアイドル状態である必要がある時間を秒単位で指定します。
- Service cltTimeout パラメータは、アプライアンスが接続を閉じる前に、クライアントからサービスへの接続がアイドル状態である必要がある時間を秒単位で指定します。
サービスが負荷分散仮想サーバーにバインドされると、負荷分散仮想サーバーの cltTimeout が優先され、サービスの cltTimeout は無視されます。
負荷分散仮想サーバーにバインドされたサービスがない場合、グローバルアイドルタイムアウト(tcpServer)がサーバー側の接続に使用されます。次のように設定できます。
コマンド:
set ns timeout –tcpServer 9000
<!--NeedCopy-->
他の状態の接続では、タイムアウト値が異なります。
- ハーフオープン接続のアイドルタイムアウト:120 秒 (ハードコードされた値)
- TIME_WAIT 接続のアイドルタイムアウト:40 秒 (ハードコードされた値)
- 閉じる接続のアイドルタイムアウトの半分。デフォルトでは10秒であり、スニペットを使用して1〜600の間に設定することができます
コマンド:
set ns timeout –halfclose 10
<!--NeedCopy-->
ハーフクローズタイムアウトがトリガーされると、接続はゾンビ状態になります。ゾンビタイムアウトが期限切れになると、ゾンビクリーンアップが起動し、T1 はデフォルトで特定の接続に対してクライアント側とサーバー側の両方で RST を送信します。
- ゾンビタイムアウト:非アクティブなTCP接続をクリーンアップするためにゾンビクリーンアッププロセスを実行する必要がある間隔。デフォルトのタイムアウト値は 120 で、1 ~ 600 の間で設定できます。
コマンド:
set ns timeout –zombie 120
<!--NeedCopy-->
最大セグメントサイズテーブル
Citrix ADC T1アプライアンスは、システムメモリスタックでハーフオープン接続を維持するのではなく、SYN Cookieを使用してSYNフラッド攻撃を防御します。アプライアンスは、TCP接続を要求する各クライアントにCookieを送信しますが、ハーフオープン接続の状態は維持されません。代わりに、アプライアンスは、最終的な ACK パケットを受信したときにのみ、または HTTP トラフィックの場合は HTTP 要求を受信したときにのみ、接続にシステムメモリを割り当てます。これにより、SYN 攻撃が防止され、正規のクライアントとの通常の TCP 通信が中断されずに継続されます。特定の機能は、無効にするオプションなしでデフォルトで有効になっています。
ただし、標準の SYN クッキーは 8 つの最大セグメントサイズ (MSS) 値のみを使用するように接続を制限するため、注意事項があります。接続MMSが事前定義された値と一致しない場合、クライアント側とサーバー側の両方に対して次の利用可能な低い値を取得します。
事前定義された TCP 最大セグメントサイズ (MSS) の値は次のとおりです。新しい nsapimgr ノブを使用して構成できます。
1460 | 1440 | 1330 | 1220 | 956 | 536 | 384 | 128 |
新しい MSS テーブル:
- ジャンボフレームのサポートを含める必要はありません。デフォルトでは、ジャンボフレーム用の MSS テーブルでは 8 つの値が予約されていますが、標準イーサネットサイズのフレームだけを含むようにテーブル設定を変更できます。
- 16 個の値を持つ必要があります
- 降順の値を持つ必要があります
- 最後の値として128を含める必要があります
新しい MSS テーブルが有効な場合は、テーブルが格納され、SYN-cookie ローテーション時に古い値がスイッチアウトされます。それ以外の場合、新しいテーブルはエラーを返します。変更が新しい接続に適用されます。既存の接続では、接続が期限切れになるか終了するまで、古い MSS テーブルが保持されます。
Citrix ADCアプライアンスの現在のMSSテーブルを表示するには、次のコマンドを入力します。
コマンド:
>shell
#nsapimgr -d mss_table
例:
#nsapimgr -d mss_table
MSS table
{9176,9156,8192,7168,6144,4196,3072,2048,1460,1440,1330,1212,956,536,384,128}
Done.
mss テーブルを変更するには、次のコマンドを入力します。
コマンド:
>shell
#nsapimgr -s mss_table=<16 comma seperated values>
例:
#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.
標準イーサネットサイズの値を使用する例を 次に示します。
例:
#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.
Citrix ADCアプライアンスの再起動後もこの変更を永続的にするには、「/nsconfig/rc.netscaler」ファイルにコマンド#nsapimgr -ys mss_table=<16 comma seperated values>
を含めます。「rc.netscaler」ファイルが存在しない場合は、「/nsconfig」フォルダの下にファイルを作成し、コマンドを追加します。
メモリ過負荷保護
Citrix ADCパケット処理エンジン(PPE)は、その1つのPPEによって使用されているメモリが指定されたハイウォーターマーク値を超える場合、TCP最適化からの接続のバイパスを開始します。PPEメモリ使用率が〜2.6GBを超えると、最適化から 新しい 接続をバイパスし始めます。既存の接続(以前に最適化のために許可された接続)は、引き続き最適化を取得しています。このウォーターマーク値は意図的に選択されているため、チューニングにはお勧めできません。
注
ウォーターマークの値を変更する正当な理由があると思われる場合は、カスタマーサポートにお問い合わせください。
Happy Eyeballsクライアントのサポート
Citrix ADCアプライアンスが、状態が不明な宛先に対するSYNを受信した場合、アプライアンスはまずサーバーの到達可能性をチェックし、次にクライアントの確認応答を行います。このプロービングメカニズムにより、デュアル IP スタックを持つクライアントは、デュアルスタックのインターネットサーバの到達可能性を検出できます。クライアントが IPv6 アクセスと IPv4 アクセスの両方が使用可能であることを検出すると、より迅速に応答するサーバーへの接続を確立し、もう一方のアクセスをリセットします。Citrix ADCアプライアンスの接続がリセットを受信すると、対応するサーバー側の接続がリセットされます。
注:この機能には、Citrix ADCアプライアンスで無効/有効にするユーザー設定可能なTCP設定はありません。
Happy Eyeballのサポートの詳細については、RFC 6555 を参照してください。