Citrix ADC

使用例 7: IP オーバー IP を使用して DSR モードで負荷分散を構成する

IP over IP構成とも呼ばれるIPトンネリングを使用して、レイヤー3ネットワーク全体でダイレクトサーバーリターン(DSR)モードを使用するようにCitrix ADCアプライアンスを構成できます。DSRモードの標準的な負荷分散構成と同様に、サーバーはCitrix ADCアプライアンスを経由するリターンパスを使用する代わりにクライアントに直接応答できるため、応答時間とスループットが向上します。標準のDSRモードと同様に、Citrix ADCアプライアンスはサーバーを監視し、アプリケーションポートでヘルスチェックを実行します。

IP over IP構成では、Citrix ADCアプライアンスとサーバーが同じレイヤー2サブネット上にある必要はありません。代わりに、Citrix ADCアプライアンスはパケットをカプセル化してから送信先サーバーに送信します。宛先サーバはパケットを受信した後、パケットのカプセル化を解除し、応答をクライアントに直接送信します。

Citrix ADCアプライアンスでIP over IP DSRモードを構成するには、次の手順を実行する必要があります。

  • 負荷分散仮想サーバーの作成。プロトコルを ANY に設定し、モードを IPTUNNEL に設定します。
  • サービスの作成。バックエンドアプリケーションごとにサービスを作成します。作成したサービスを仮想サーバーにバインドします。
  • カプセル化解除の構成。カプセル化解除機能として機能するように、Citrix ADCアプライアンスまたはバックエンドサーバーのいずれかを構成できます。

負荷分散仮想サーバーの構成

アプリケーションへの要求を処理するように仮想サーバーを設定します。サービスタイプとして ANY を割り当て、転送方式を IPTUNNEL に設定します。オプションで、セッションレスモードで動作するように仮想サーバを設定します。使用する負荷分散方式を設定できます。

コマンドラインインターフェイスを使用して IP over IP DSR 用の負荷分散仮想サーバーを作成および構成するには

コマンドプロンプトで次のコマンドを入力して、IP over IP DSR 用の負荷分散仮想サーバーを構成し、構成を確認します。

add lb vserver <name> serviceType <serviceType> IPAddress <ip> Port <port> -lbMethod <method> -m <ipTunnelTag> -sessionless <sessionless>

show lb vserver <name>

例:

次の例では、sourceIPhash として負荷分散方式を選択し、セッションレス負荷分散を設定しています。

add lb vserver Vserver-LB-1 ANY 10.102.29.60 * -lbMethod SourceIPHash -m IPTUNNEL -sessionless enabled

GUIを使用して、IP over IP DSRの負荷分散仮想サーバーを作成および構成するには

  1. Traffic Management > Load Balancing > Virtual Serversに移動します。
  2. 仮想サーバーを作成し、リダイレクトモードを IPトンネルベースとして指定します。

IP 経由の IP DSR のサービスを構成する

負荷分散サーバーを作成したら、アプリケーションごとに 1 つのサービスを構成する必要があります。このサービスは、Citrix ADCアプライアンスからこれらのアプリケーションへのトラフィックを処理し、Citrix ADCアプライアンスが各アプリケーションの正常性を監視できるようにします。

サービスタイプとして ANY を割り当てて、USIP モードに設定します。オプションで、IPTUNNEL タイプのモニタをサービスにバインドして、トンネルベースのモニタリングを行うこともできます。

コマンドラインインターフェイスを使用して IP over IP DSR 用のサービスを作成および構成するには

コマンドプロンプトで次のコマンドを入力してサービスを作成し、オプションでモニターを作成してサービスにバインドします。

add service <serviceName> <serverName> <serviceType> <port> -usip <usip>

add monitor <monitorName> <monitorType> -destip <ip> -iptunnel <iptunnel>

bind service <serviceName> -monitorName <monitorName>

例:

次の例では、IPTUNNEL型のモニターを作成しています。

add monitor mon-1 PING -destip 10.102.29.60 -iptunnel yes
add service Service-DSR-1 10.102.30.5 ANY * -usip yes
bind service Service-DSR-1 -monitorName mon-1

GUIを使用してモニターを構成するには

  1. Traffic Management > Load Balancing > Monitorsに移動します。
  2. モニターを作成し、 IPトンネルを選択します。

GUIを使用してIPover IPDSRのサービスを作成および構成するには

  1. Traffic Management > Load Balancing > Servicesに移動します。
  2. サービスを作成し、 [設定]タブで[送信元IPアドレスを使用]を選択します。

コマンドラインインターフェイスを使用してサービスを負荷分散仮想サーバーにバインドするには

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

bind lb vserver <name> <serviceName>

例:

bind lb vserver Vserver-LB-1 Service-DSR-1

GUI を使用してサービスを負荷分散仮想サーバーにバインドするには

  1. Traffic Management > Load Balancing > Virtual Serversに移動します。
  2. 仮想サーバーを開き、[サービス]セクションをクリックして、サービスを仮想サーバーにバインドします。

トンネルパケットの Outer ヘッダーでのクライアント IP アドレスの使用

Citrix ADCは、IPトンネリングを使用したダイレクトサーバーリターンモードに関連するトンネルパケットの外部ヘッダーで、クライアントの送信元IPアドレスを送信元IPアドレスとして使用することをサポートしています。この機能は、IPv4 を使用した DSR と IPv6 トンネリングモードを使用した DSR でサポートされます。この機能を有効にするには、IPv4 または IPv6 の クライアント送信元 IP アドレスの使用 パラメータを有効にします。この設定は、IP トンネリングを使用するすべての DSR 設定にグローバルに適用されます。

CLIを使用して、IPv4トンネルパケットの外部ヘッダーの送信元IPアドレスとしてクライアント送信元IPアドレスを使用するには

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

  • set iptunnelparam -useclientsourceip [YES | NO]
  • show iptunnelparam

GUIを使用して、IPv4トンネルパケットの外部ヘッダーの送信元IPアドレスとしてクライアント送信元IPアドレスを使用するには

  1. [システム] > [ネットワーク] に移動します。
  2. [設定]タブで、[IPv4トンネルのグローバル設定]をクリックします。
  3. [IPv4トンネルグローバルパラメータの構成] ページで、[クライアントソースIPを使用する] チェックボックスをオンにします。
  4. [OK] をクリックします。

CLIを使用して、IPv6トンネルパケットの外部ヘッダーの送信元IPアドレスとしてクライアント送信元IPアドレスを使用するには

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

  • set ip6tunnelparam -useclientsourceip [YES | NO]
  • show ip6tunnelparam

GUIを使用して、IPv6トンネルパケットの外部ヘッダーの送信元IPアドレスとしてクライアント送信元IPアドレスを使用するには

  1. [システム] > [ネットワーク] に移動します。
  2. [設定]タブで、[IPv6トンネルのグローバル設定]をクリックします。
  3. [IPv6トンネルグローバルパラメータの構成] ページで、[クライアントソースIPを使用する] チェックボックスをオンにします。
  4. [OK] をクリックします。

構成例

次に、IPv4 トンネリングを使用した DSR モードでの負荷分散の設定例を示します。LBVS-IPIP-1 は負荷分散仮想サーバーであり、サービスSERVICE-DSR-IPIP-1 およびSERVICE-DSR-IPIP-2 は LBVS-IPIP-1 にバインドされます。

    > set iptunnelparam -useclientsourceip YES

    Done

    > add service SERVICE-DSR-IPIP-1 192.0.2.91 ANY * -usip yes

    Done

    > add service SERVICE-DSR-IPIP-2 192.0.2.92 ANY * -usip yes

    Done

    > add lb vserver LBVS-IPIP-1 ANY 203.0.113.9 * -m IPTUNNEL

    Done

    > bind lb vserver LBVS-IPIP-1 Service-DSR-1

    Done

    > bind lb vserver LBVS-IPIP-1 Service-DSR-2

    Done

カプセル解除設定

  • Citrix ADCアプライアンスをカプセル解除として使用する場合は、Citrix ADCアプライアンスにIPトンネルを作成する必要があります。詳しくは、「IP トンネルの設定」を参照してください。

    設定例:

     add lb vserver v1 any 1.1.1.1 * -m IPTUNNEL
    
     add service s1 2.2.2.2 ANY *
    
     bind lb vserver v1 s1
    
     add iptunnel tun1 <snip_in_encap> netmask *
    
     add ns ip 1.1.1.1 255.255.255.255 –type vip –arp disabled
    
     add lb vserver v1 any 1.1.1.1 *
    
     add service s1 <actualserverip> ANY *
    
     bind lb vserver v1 s1
    
  • バックエンドサーバーをカプセル化解除として使用する場合、バックエンド構成はサーバーの種類によって異なります。バックエンドサーバーをカプセル化解除機能として構成する手順は次のとおりです。

    1. ループバックインターフェイスを設定します。
    2. トンネルインターフェイスを介したルートを追加します。

    :トンネルモジュールがシステムに取り付けられていることを確認してください。

    設定例:

    この例では、1.1.1.1はCitrix ADC仮想IP(VIP)アドレスであり、2.2.2.2はバックエンドサーバーのIPアドレスです。

    VIP アドレスはループバックインターフェイスで設定され、トンネルインターフェイスを介してルートが追加されます。modprobe ipip コマンドは、トンネルインターフェイスを有効にするために使用されます。

     add lb vserver v1 ANY 1.1.1.1 80 -m IPTUNNEL
    
     add service svc1 2.2.2.2 ANY 80 -usip YES -useproxyport NO
    
     bind lb vserver v1 svc1
    
     ifconfig lo inet 1.1.1.1 netmask 255.255.255.255
    
     modprobe ipip
    
     echo 1 > /proc/sys/net/ipv4/conf/tunl0/arp_ignore
    
     echo 2 > /proc/sys/net/ipv4/conf/tunl0/arp_announce
    
     ifconfig tunl0 1.1.1.1 netmask 255.255.255.255 up
    
     route add -host 1.1.1.1 dev tunl0
    
使用例 7: IP オーバー IP を使用して DSR モードで負荷分散を構成する