Citrix ADC

TCPオプションのクライアントの IP アドレス

Citrix ADCアプライアンスは、さまざまな方法でクライアント情報をバックエンドサーバーに送信します。そのような方法の1つは、最初のデータパケットの TCP オプションでクライアントの IP アドレスを送信することです。バックエンドサーバーが TCP オプションを使用してクライアントの IP アドレスを読み取る場合、アプライアンスは TCP プロファイルの TCP オプション番号を使用します。IP アドレスは、TCP オプション番号 28(アプライアンスサービスで設定可能)で伝送されます。 TCP オプション方式には、クライアント IP アドレスをバックエンドサーバに伝送する際に、挿入機能と転送機能の両方が含まれます。 TCPオプション構成では、アプライアンスはTCPオプション(28)を追加して、クライアントIPアドレスを挿入してバックエンドサーバーに転送します。次に、Citrix ADCアプライアンスでのTCPオプション構成の使用シナリオをいくつか示します。 TCP プロファイルに着信するトラフィックに対してこの機能が有効になっている場合、多重化は無効になります。また、TCP プロファイルの nsapimgr およびクライアントの tcp オプションが有効になっている場合は、クライアントの tcp オプションが優先されます。

注:

ただし、TCP プロファイルに送信されるトラフィックに対して Client IP TCP オプションが有効になっている場合、アプライアンスでは多重化が無効になります。

  • 元のクライアント IP アドレスを学習する
  • Web サイトの言語の選択
  • 選択した IP アドレスのブラックリスト

操作の 2 つのモードは次のとおりです。

  • [挿入]: アプライアンスは、TCPオプション28(設定可能ですが、推奨値は28)フィールドにクライアントの詳細を追加し、それをバックエンドサーバーに送信します。
  • 進む。アプライアンスは、TCP オプション 28(アプライアンスサービスのフロントエンドで設定可能)でクライアントの詳細を転送します。ただし、バックエンドのオプション番号は、バックエンドで設定された値に基づいて変更できます。

注:

TCP または HTTP 仮想サーバの場合、TCP オプション番号は、トランスペアレントモードでこの機能が有効になっているかどうかに関係なく、転送されます。

制限事項

TCP オプション設定機能は、TFO、マルチパス TCP、および HTTP2 機能ではサポートされません。

Citrix ADCアプライアンスのTCPオプション構成方法

以下のフロー図は、Citrix ADCアプライアンスで挿入操作と転送操作用のTCPオプションを構成する方法を示しています。

挿入操作

コンポーネントの相互作用は次のとおりです。

  • クライアントがCitrix ADCに要求を送信します。
  • Citrix ADCアプライアンスでは、TCPプロファイルを作成し、TCPオプション機能を有効にして、TCPオプション番号を指定する必要があります。

    注:TCP プロファイルでは、TCP オプション番号を 28 に設定することをお勧めします。

  • [挿入]操作では、Citrix ADCは、サービスに対してバインドされたTCPオプション28にクライアントの詳細を挿入します。クライアントの詳細はバックエンドサーバーに送信されます。着信トラフィックが HTTPS の場合、TCP オプションのクライアント IP アドレスは、TCP レベルの最初のデータパケットである SSL クライアントの hello メッセージで送信されます。

フォワードオペレーション:

フォワードオペレーション

コンポーネントの相互作用は次のとおりです。

  • クライアントはCitrix ADCにHTTP/HTTPS要求を送信します。
  • Citrix ADCアプライアンスで、が転送操作の場合、負荷分散仮想サーバーまたはコンテンツスイッチング仮想サーバーでTCPオプションが有効になり、サービスでも有効になります。アプライアンスは、仮想サーバで指定された TCP オプション番号でクライアント情報を受信し、最初のデータパケットに追加された TCP オプション番号(サービスで設定可能)でバックエンドサーバに転送します。

挿入操作の TCP オプションの構成

以下の手順に従って、Citrix ADCアプライアンスでTCPオプションを設定します。

  1. TCP プロファイルを追加します。
  2. 挿入操作の TCP オプションの構成
  3. TCP プロファイルをサービスにバインドする

TCP プロファイルの追加

コマンドプロンプトで、次のように入力します。

add tcpprofile <name> -clientIpTcpOption (enabled | disabled> -clientIpTcpOptionNumber <positive_integer>

例:

add tcprofile p1

挿入操作の TCP オプションの構成

コマンドプロンプトで、次のように入力します。

add tcpprofile <name> -clientIpTcpOption (enabled | disabled> -clientIpTcpOptionNumber <positive_integer>

例:

add tcpprofile p1 -clientIpTcpOption ENABLED -clientIpTcpOptionNumber 28

サービスの追加

コマンドプロンプトで、次のように入力します。

add service <name> <server name> <service type> <port>

例:

add service service-http1 1.1.1.1 HTTP 80

TCP プロファイルをサービスにバインドする

コマンドプロンプトで、次のように入力します。

set service <name> –tcpprofileName <name>

例:

set service s1 –tcpprofileName p1

注:

サービスの基本設定には注意が必要です。

転送操作の TCP オプションの構成

転送動作のためのTCPプロファイルでTCPオプションを設定するには、以下の手順に従います。

  1. TCP オプション番号を使用して TCP プロファイルを追加します
  2. TCP プロファイルを仮想サーバーにバインドする
  3. TCP プロファイルをサービスにバインドします。

TCP オプション番号を使用して TCP プロファイルを追加します

コマンドプロンプトで、次のように入力します。

add tcpprofile <name> -clientIpTcpOption (enabled | disabled> -clientIpTcpOptionNumber <positive_integer>

例:

add tcpprofile p1 -clientIpTcpOption ENABLED -clientIpTcpOptionNumber 29

TCPプロファイルを仮想サーバーにバインドする(負荷分散またはコンテンツスイッチング)

コマンドプロンプトで、次のように入力します。

set lb vserver <name> -tcpprofileName <name>

例:

set lb vservice s1 –tcpprofileName p1

TCP プロファイルをサービスにバインドする

コマンドプロンプトで、次のように入力します。

set service <name> -tcpprofileName p1

例:

set service s1 -tcpprofileName p1

Citrix ADC GUIを使用してTCPオプションを構成する

  1. [システム] > [プロファイル] に移動します。
  2. [TCP プロファイル] タブページで、[追加] をクリックします。
  3. [TCP プロファイルの設定] ページで、次のパラメータを構成します 。 a. clientIptcpoption。クライアントの IP アドレスを送受信する TCP オプション。 b. clientiptcpoptionnumber。クライアント IP アドレスを受信するための設定可能な TCP オプション番号。

    クライアントの TCP オプションの構成

  4. [OK] をクリックして 閉じるをクリックします。

TCPオプションのクライアントの IP アドレス