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

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

  1. [トラフィック管理] > [負荷分散] > [仮想サーバー] に移動します。
  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

構成ユーティリティを使用してモニタを構成するには

  1. [トラフィック管理] > [負荷分散] > [モニター] に移動します。
  2. モニタを作成し、[IP トンネル] を選択します。

構成ユーティリティを使用して IP over IP DSR のサービスを作成および構成するには

  1. [ トラフィック管理 ] > [ ロードバランシング ] > [ サービス] に移動します。
  2. サービスを作成し、[設定] で [送信元 IP アドレスの使用] を選択します。

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

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

bind lb vserver <name> <serviceName>

例:

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

構成ユーティリティを使用してサービスを負荷分散仮想サーバーにバインドするには

  1. [トラフィック管理] > [負荷分散] > [仮想サーバー] に移動します。
  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

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

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

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

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

``` > 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.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 モードで負荷分散を構成する