Citrix ADC

ユースケース 11: リッスンポリシーを使用したネットワークトラフィックの分離

注:

シャドウ仮想サーバーを使用してマルチテナントの分離をシミュレートするトラフィック分離ソリューションは推奨されません。または、このような展開では、Citrix ADC管理パーティション機能を使用することをお勧めします。詳しくは、「管理パーティション化」を参照してください。

データセンターの一般的なセキュリティ要件は、さまざまなアプリケーションやテナントのトラフィック間のネットワークパスの分離を維持することです。1 つのアプリケーションまたはテナントのトラフィックは、他のアプリケーションまたはテナントのトラフィックから分離する必要があります。たとえば、ある金融サービス会社は、保険部門のアプリケーションのトラフィックを、金融サービスアプリケーションのトラフィックとは別に維持したいと考えています。これまでは、ファイアウォール、ロードバランサ、IdP などのネットワークサービスデバイスを物理的に分離し、スイッチングファブリック内のネットワークモニタリングと論理的な分離によって容易に実現されていました。

データセンターのアーキテクチャがマルチテナントの仮想化データセンターへと発展するにつれて、データセンターの集約層内のネットワーキングサービスが統合されつつあります。この開発により、ネットワーク・パス・アイソレーションがネットワーク・サービス・デバイスにとって重要なコンポーネントとなり、ADCがL4~L7レベルでトラフィックを分離できるようにする必要性が高まっています。さらに、特定のテナントのすべてのトラフィックは、サービスレイヤに到達する前にファイアウォールを通過する必要があります。

ネットワークパスの分離要件に対応するため、Citrix ADCアプライアンスはネットワークドメインを識別し、ドメイン間のトラフィックを制御します。Citrix ADCソリューションには、リッスンポリシーとシャドウ仮想サーバーの2つの主要コンポーネントがあります。

分離される各ネットワークパスには、リッスンポリシーが定義されている仮想サーバーが割り当てられ、仮想サーバーは指定されたネットワークドメインからのトラフィックのみをリッスンします。

トラフィックを分離するために、リッスンポリシーを複数のクライアントパラメータまたはその組み合わせに基づいて設定し、ポリシーにプライオリティを割り当てることができます。次の表に、トラフィックを識別するためにリッスンポリシーで使用できるパラメータを示します。

カテゴリ パラメーター
イーサネットプロトコル 送信元 MAC アドレス、宛先 MAC アドレス
ネットワークインターフェイス ネットワーク ID、受信スループット、送信スループット、送信スループット
IPプロトコル 送信元 IP アドレス、宛先 IP アドレス
IPv6 プロトコル 送信元 IPv6 アドレス、宛先 IPv6 アドレス
TCPプロトコル 送信元ポート、宛先ポート、最大セグメントサイズ、ペイロード、およびその他のオプション
UDPプロトコル 送信元ポート、宛先ポート
VLAN ID

表1. リッスンポリシーの定義に使用されるクライアントパラメータ

Citrix ADCアプライアンスでは、各ドメインに仮想サーバーが構成され、そのドメインに対するトラフィックのみをリッスンするように指定するリッスンポリシーが適用されます。また、各ドメインに対して構成されるシャドウ負荷分散仮想サーバーは、任意のドメイン宛てのトラフィックをリッスンします。シャドウロードバランシングの各仮想サーバーには、ワイルドカード (*) の IP アドレスとポートがあり、そのサービスタイプは ANY に設定されます。

各ドメインでは、ドメインのファイアウォールがサービスとしてシャドウ負荷分散仮想サーバーにバインドされ、すべてのトラフィックがファイアウォールを経由して転送されます。ローカルトラフィックは宛先に転送され、別のドメイン宛てのトラフィックはそのドメインのファイアウォールに転送されます。シャドウロードバランシング仮想サーバは、MAC モードリダイレクト用に構成されます。

ネットワークパスの分離方法

次の図は、ドメイン間の一般的なトラフィックフローを示しています。ネットワークドメイン 1 内、およびネットワークドメイン 1 とネットワークドメイン 2 の間のトラフィックフローを考慮します。

図1:ネットワークパスの分離

トラフィックドメイン-ネットワークパス分離

ネットワークドメイン 1 内のトラフィック

ネットワークドメイン 1 には、VLAN 11、VLAN 110、および VLAN 120 という 3 つの VLAN があります。次の手順では、トラフィックフローについて説明します。

  • VLAN 11 からのクライアントは、VLAN 120 のサービスプールから利用可能なサービスの要求を送信します。
  • ロードバランシング仮想サーバ LB-VIP1 は、VLAN 11 からのトラフィックをリッスンするように設定され、要求を受信して VLAN 110 に転送します。VLAN 110 の仮想サーバは、要求をシャドウロードバランシング仮想サーバ FW-VIP-1 に転送します。
  • VLAN 110 からのトラフィックをリッスンするように設定された FW-VIP-1 は、要求を受信して VLAN 120 に転送します。
  • VLAN 120 のロードバランシング仮想サーバは、物理サーバ App11、App12、または App13 のいずれかに要求をロードバランシングします。
  • 物理サーバから送信された応答は、VLAN 11 内のクライアントへの同じパスで返されます。

この構成により、クライアントから発信されるすべてのトラフィックについて、常にCitrix ADC内でトラフィックが分離されます。

ネットワークドメイン 1 とネットワークドメイン 2 の間のトラフィック

ネットワークドメイン 1 には、VLAN 11、VLAN 110、および VLAN 120 という 3 つの VLAN があります。また、ネットワークドメイン 2 には、VLAN 22、VLAN 210、および VLAN 220 という 3 つの VLAN があります。次の手順では、VALN 11 から VLAN 22 へのトラフィックフローについて説明します。

  • ネットワークドメイン 1 に属する VLAN 11 のクライアントは、ネットワークドメイン 2 に属する VLAN 220 のサービスプールから利用可能なサービスの要求を送信します。
  • ネットワークドメイン 1 では、VLAN 11 からのトラフィックをリッスンするように設定されたロードバランシング仮想サーバ LB-VIP1 が要求を受信し、その要求を VLAN 110 に転送します。
  • シャドウロードバランシング仮想サーバー FW-VIP-1 は、他のドメインを宛先とする VLAN 110 トラフィックをリッスンするように構成されており、要求がネットワークドメイン 2 の物理サーバーに送信されるため、要求を受信し、ファイアウォール仮想サーバー FW-VIP-2 に転送します。
  • ネットワークドメイン 2 では、FW-VIP-2 は要求を VLAN 220 に転送します。
  • VLAN 220 のロードバランシング仮想サーバは、物理サーバ App21、App22、または App23 のいずれかに要求をロードバランシングします。
  • 物理サーバから送信された応答は、ネットワークドメイン 2 のファイアウォールを経由した同じパスで返され、次にネットワークドメイン 1 に VLAN 11 のクライアントに到達します。

構成の手順

リッスンポリシーを使用してネットワークパス分離を構成するには、次の手順を実行します。

  • リッスンポリシー式を追加します。各式は、トラフィックの宛先となるドメインを指定します。VLAN ID またはその他のパラメータを使用して、トラフィックを識別できます。
  • 各ネットワークドメインについて、次のように 2 つの仮想サーバを構成します。
    • このドメイン宛てのトラフィックを識別するリッスンポリシーを指定する、負荷分散仮想サーバーを作成します。以前に作成した式の名前を指定することも、仮想サーバーの作成中に新しい式を作成することもできます。

    • シャドウ仮想サーバーと呼ばれる別の負荷分散仮想サーバーを作成します。このサーバーには、任意のドメイン宛てのトラフィックに適用されるリッスンポリシー式を指定します。この仮想サーバでは、サービスタイプを ANY に設定し、IP アドレスとポートをアスタリスク(*)に設定します。この仮想サーバで MAC ベースの転送を有効にします。

    • 両方の仮想サーバで [L2 接続] オプションを有効にします。

      一般に、Citrix ADCアプライアンスは、接続を識別するために、クライアントIPアドレス、クライアントポート、宛先IPアドレス、宛先ポートの4タプルを使用します。[L2 接続] オプションを有効にすると、通常の 4 タプルに加えて、接続のレイヤ 2 パラメータ(チャネル番号、MAC アドレス、VLAN ID)が使用されます。

  • ドメイン内のサーバプールを表すサービスを追加し、仮想サーバにバインドします。
  • 各ドメインのファイアウォールをサービスとして構成し、すべてのファイアウォールサービスをシャドウ仮想サーバーにバインドします。

コマンドラインインターフェイスを使用してネットワークトラフィックを分離するには

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

add policy expression <expressionName> <listenPolicyExpression>

add lb vserver <name> <serviceType> <ip> <port> -l2conn ON -listenPolicy <expressionName>

各ドメインに負荷分散仮想サーバーを追加します。この仮想サーバは、同じドメインのトラフィック用です。

add lb vserver <name> ANY * * -l2conn ON -m MAC -listenPolicy <expressionName>

ドメインごとにシャドウ負荷分散仮想サーバーを追加します。この仮想サーバは、他のドメインのトラフィック用です。

例:

add policy expression e110 client.vlan.id==110
add policy expression e210 client.vlan.id==210
add policy expression e310 client.vlan.id==310
add policy expression e11 client.vlan.id==11
add policy expression e22 client.vlan.id==22
add policy expression e33 client.vlan.id==33

add lb vserver LB-VIP1 HTTP 10.1.1.254 80 -persistenceType NONE -listenPolicy e11
-cltTimeout 180 -l2Conn ON

add lb vserver LB-VIP2 HTTP 10.2.2.254 80 -persistenceType NONE - listenPolicy e22
-cltTimeout 180 -l2Conn ON

add lb vserver LB-VIP3 HTTP 10.3.3.254 80 -persistenceType NONE - listenPolicy e33
-cltTimeout 180 -l2Conn ON


add lb vserver FW-VIP-1 ANY * * -persistenceType NONE -lbMethod ROUNDROBIN - listenPolicy e110 -Listenpriority 1 -m MAC -cltTimeout 120

add lb vserver FW-VIP-2 ANY * * -persistenceType NONE -lbMethod ROUNDROBIN - listenPolicy e210 -Listenpriority 2 -m MAC -cltTimeout 120

add lb vserver FW-VIP-3 ANY * * -persistenceType NONE -lbMethod ROUNDROBIN - listenPolicy e310 -Listenpriority 3 -m MAC -cltTimeout 120


add service RD-1 10.1.1.1 ANY * -gslb NONE -maxClient 0 -maxReq 0 -cip DISABLED
-usip NO -useproxyport NO -sp ON -cltTimeout 120 -svrTimeout 120 -CKA NO -TCPB NO -CMP NO

add service RD-2 10.2.2.1 ANY * -gslb NONE -maxClient 0 -maxReq 0 -cip DISABLED
-usip NO -useproxyport NO -sp ON -cltTimeout 120 -svrTimeout 120 -CKA NO -TCPB NO -CMP NO

add service RD-3 10.3.3.1 ANY * -gslb NONE -maxClient 0 -maxReq 0 -cip DISABLED
-usip NO -useproxyport NO -sp ON -cltTimeout 120 -svrTimeout 120 -CKA NO -TCPB NO -CMP NO


bind lb vserver FW-VIP-1 RD-1

bind lb vserver FW-VIP-2 RD-2

bind lb vserver FW-VIP-3 RD-3

構成ユーティリティを使用してネットワークトラフィックを分離するには

  1. サービスの作成の説明に従って、サーバを表すサービスを追加します。
  2. 各ファイアウォールをサービスとして追加します。
    1. [トラフィック管理] > [ロードバランシング] > [サービス]に移動します。
    2. プロトコルを ANY、サーバーをファイアウォールの IP アドレス、ポートを 80 に指定して、サービスを作成します。
  3. 負荷分散仮想サーバーを構成します。
  4. シャドウ負荷分散仮想サーバーを構成します。
  5. ネットワークドメインごとに、手順 3 と 4 を繰り返します。
  6. [負荷分散仮想サーバー] ウィンドウで、作成した仮想サーバーを開き、設定を確認します。

ユースケース 11: リッスンポリシーを使用したネットワークトラフィックの分離