ADC

クライアント接続を管理する

クライアント接続の管理を容易にするために、仮想サーバーへの接続の遅延クリーンアップを有効にできます。その後、DNS ポリシーを設定して、ローカル DNS トラフィックを管理できます。

仮想サーバー接続の遅延クリーンアップを有効にする

仮想サーバーの状態は、それにバインドされているサービスの状態に依存し、各サービスの状態は、それにバインドされているモニターによって異なります。サーバが低速またはダウンしている場合、モニタリングプローブはタイムアウトし、サーバを表すサービスは DOWN としてマークされます。仮想サーバは、そのサーバにバインドされているすべてのサービスが DOWN としてマークされている場合にのみ、DOWN としてマークされます。サービスおよび仮想サーバーは、ダウンしたときにすべての接続を終了するか、接続を許可するように構成できます。後者の設定は、サーバーが遅いためにサービスが DOWN とマークされる状況用です。

ダウン状態のフラッシュオプションを構成すると、Citrix ADCアプライアンスは、ダウンしているGSLBサービスへの接続の遅延クリーンアップを実行します。

コマンドラインインターフェイスを使用して仮想サーバー接続の遅延クリーンアップを有効にするには

コマンドプロンプトで次のコマンドを入力して、遅延接続のクリーンアップを構成し、構成を確認します。

set gslb service <name> -downStateFlush (ENABLED | DISABLED)
show gslb service <name>
<!--NeedCopy-->

例:

set gslb service Service-GSLB-1 -downStateFlush ENABLED
Done

show gslb service Service-GSLB-1
Done
<!--NeedCopy-->

構成ユーティリティを使用して仮想サーバー接続の遅延クリーンアップを有効にするには

  1. [ トラフィック管理 ] > [ GSLB ] > [ サービス ] に移動し、サービスをダブルクリックします。
  2. [ その他の設定 ] セクションをクリックし、[ ダウン状態のフラッシュ ] オプションを選択します。

DNS ポリシーを使用してローカル DNS トラフィックを管理する

DNS ポリシーを使用して、ローカル DNS リゾルバーまたはネットワークの IP アドレスから事前定義されたターゲット GSLB サイトにトラフィックを誘導することで、サイトアフィニティを実装できます。これは、DNS式を使用してDNSポリシーを作成し、Citrix ADCアプライアンスでポリシーをグローバルにバインドすることによって構成されます。

DNS 式

Citrix ADCアプライアンスは、ドメイン固有のアクションを構成するために使用できる特定の定義済みDNS式を提供します。このようなアクションは、たとえば、特定のリクエストを削除したり、特定のドメインの特定のビューを選択したり、特定のリクエストを特定の場所にリダイレクトしたりすることができます。

これらのDNS式( ルールとも呼ばれます)を組み合わせて、Citrix ADCアプライアンスでグローバルにバインドされるDNSポリシーを作成します。

Citrix ADCアプライアンスで使用可能な定義済みのDNS修飾子のリストを以下に示します。

  • CLIENT.UDP.DNS.DOMAIN.EQ(“domainname”)
  • CLIENT.UDP.DNS.IS_AREC
  • CLIENT.UDP.DNS.IS_AAAAREC
  • CLIENT.UDP.DNS.IS_SRVREC
  • CLIENT.UDP.DNS.IS_MXREC
  • CLIENT.UDP.DNS.IS_SOAREC
  • CLIENT.UDP.DNS.IS_PTRREC
  • CLIENT.UDP.DNS.IS_CNAME
  • CLIENT.UDP.DNS.IS_NSREC
  • CLIENT.UDP.DNS.IS_ANYREC

CLIENT.UDP.DNS.DOMAIN DNS 式は、文字列式とともに使用できます。式の一部としてドメイン名を使用する場合は、ピリオド (.) で終わる必要があります。たとえば、CLIENT.UDP.DNS.DOMAIN.ENDSWITH (「abc.com.」)

構成ユーティリティを使用して式を作成するには

  1. [式] テキストボックスの横にあるアイコンをクリックします。[追加] をクリックします。([フロータイプ] および [プロトコル] ドロップダウンリストボックスは空のままにします)。ルールを作成するには、次の手順に従います。
  2. 「修飾子」ボックスで、修飾子(LOCATION など)を選択します。
  3. [演算子] ボックスで、演算子 (== など) を選択します。
  4. [値] ボックスに値を入力します (例:アジア、日本…)。
  5. [OK] をクリックします。[作成] をクリックし、[閉じる] をクリックします。ルールが作成されます。
  6. [OK] をクリックします。

DNS アクションを構成する

DNS ポリシーには、ポリシールールが TRUE と評価されたときに実行される DNS アクションの名前が含まれます。DNS アクションでは、次のいずれかを実行できます。

  • DNS ビューを構成した IP アドレスをクライアントに送信します。DNS ビューの詳細については、「DNS ビューの追加」を参照してください。
  • 静的近接動作をオーバーライドする優先ロケーションのリストを参照した後、クライアントに GSLB サービスの IP アドレスを送信します。優先ロケーションの詳細については、「 優先ロケーションの設定による静的近接動作のオーバーライド」を参照してください。
  • DNS クエリーまたは応答 (DNS 応答書き換え) の評価によって決定された特定の IP アドレスをクライアントに送信します。
  • アプライアンスの DNS キャッシュで検索を実行せずに、ネームサーバーに要求を転送します。
  • リクエストをドロップします。

DNS 要求をドロップしたり、アプライアンスの DNS キャッシュをバイパスしたりするための DNS アクションを作成することはできません。DNS 要求をドロップする場合は、組み込みアクション dns_default_act_drop を使用します。DNS キャッシュをバイパスする場合は、組み込みアクション dns_default_act_cacheBypass を使用します。どちらのアクションも、[DNS ポリシーの作成] ダイアログボックスと [DNS ポリシーの構成] ダイアログボックスでカスタムアクションとともに使用できます。これらのビルトインアクションは、変更または削除できません。

コマンドラインインターフェイスを使用して DNS アクションを構成するには

コマンドプロンプトで次のコマンドを入力して、DNS アクションを構成し、構成を確認します。

add dns action <actionName> <actionType> (-IPAddress <ip_addr | ipv6_addr> ... | -viewName <string> | -preferredLocList <string> ...) [-TTL <secs>]

show dns action [<actionName>]
<!--NeedCopy-->

例 1: DNS 応答書き換えの設定。次の DNS アクションは、アクションがバインドされているポリシーが true と評価されたときに、クライアントに事前設定された IP アドレスを送信します。

add dns action dns_act_response_rewrite Rewrite_Response -IPAddress 192.0.2.20 192.0.2.56 198.51.100.10
 Done

show dns action dns_act_response_rewrite
1)  ActionName:  dns_act_response_rewrite ActionType:  Rewrite_Response TTL:  3600               IPAddress:  192.0.2.20 192.0.2.56 198.51.100.10
 Done
<!--NeedCopy-->

例 2: DNS ビューベースの応答の設定。次の DNS アクションは、DNS ビューを設定した IP アドレスをクライアントに送信します。

add dns action send_ip_from_view_internal_ip ViewName -viewName view_internal_ip
Done

show dns action send_ip_from_view_internal_ip
1)  ActionName:  send_ip_from_view_internal_ip ActionType:  ViewName    ViewName:  view_internal_ip
 Done
<!--NeedCopy-->

例 3: 優先ロケーションリストに基づく応答の設定。次の DNS アクションは、指定されたロケーションのリストから選択する優先ロケーションに対応する IP アドレスをクライアントに送信します。

add dns action send_preferred_location GslbPrefLoc -preferredLocList NA.tx.ns1.\*.\*.* NA.tx.ns2.\*.\*.* NA.tx.ns3.\*.\*.*
Done

show dns action  send_preferred_location
1)  ActionName:  send_preferred_location ActionType:  GslbPrefLoc PreferredLocList:  "NA.tx.ns1.\*.\*.\*" "NA.tx.ns2.\*.\*.\*" "NA.tx.ns3.\*.\*.*"
 Done
<!--NeedCopy-->

Citrix ADC構成ユーティリティを使用してDNSアクションを構成するには

  1. [トラフィック管理] > [DNS] > [アクション] に移動し、DNS アクションを作成または編集します。
  2. [DNS アクションの作成] または [DNS アクションの構成] ダイアログボックスで、次のパラメータを設定します。
    • アクション名 (既存の DNS アクションでは変更できません)
    • Type (既存の DNS アクションでは変更できません) Type パラメーターを設定するには、次のいずれかの操作を行います。
      • DNS ビューに関連付けられた DNS アクションを作成するには、[名前の表示] を選択します。次に、[View Name] ボックスの一覧から、アクションで使用する DNS ビューを選択します。
      • 優先ロケーションリストを使用して DNS アクションを作成するには、[優先ロケーションリスト] を選択します。[優先する場所] に場所を入力し、[追加] をクリックします。DNS の場所を必要な数だけ追加します。
      • ポリシー評価に基づいて DNS 応答を書き換える DNS アクションを構成するには、[Rewrite Response] を選択します。[IP アドレス] に IP アドレスを入力し、[追加] をクリックします。IP アドレスを必要な数だけ追加します。
    • TTL ([レスポンスの書き換え] アクションタイプにのみ適用)

DNS ポリシーを構成する

DNS ポリシーは、静的 IP アドレスとカスタム IP アドレスを使用するロケーションデータベースで動作します。着信ローカル DNS 要求の属性は式の一部として定義され、ターゲットサイトは DNS ポリシーの一部として定義されます。アクションと式を定義するときに、一重引用符 (‘’) のペアをワイルドカード修飾子として使用して、複数の場所を指定できます。DNS ポリシーが設定され、GSLB 要求を受信すると、まず、カスタム IP アドレスデータベースに対して、送信元のロケーション属性を定義するエントリが照会されます。

  • DNS クエリーが LDNS から送信されると、LDNS の特性は設定されたポリシーに対して評価されます。一致すると、適切なアクション (サイトアフィニティ) が実行されます。LDNS の特性が複数のサイトと一致する場合、要求は LDNS の特性に一致するサイト間で負荷分散されます。
  • カスタムデータベースにエントリが見つからない場合、スタティック IP アドレスデータベースにエントリが照会され、一致するものがあれば、上記のポリシー評価が繰り返されます。
  • カスタムデータベースまたは静的データベースのいずれにもエントリが見つからない場合、最適なサイトが選択され、構成された負荷分散方式に基づいて DNS 応答で送信されます。

Citrix ADCアプライアンスで作成されたDNSポリシーには、次の制限が適用されます。

  • 最大 64 のポリシーがサポートされます。

  • DNSポリシーはCitrix ADCアプライアンスにグローバルであり、特定の仮想サーバーまたはドメインに適用することはできません。

  • ドメインまたは仮想サーバ固有のポリシーのバインドはサポートされていません。

DNS ポリシーを使用して、特定の IP アドレス範囲に一致するクライアントを特定のサイトに誘導できます。たとえば、地理的に分離された複数の GSLB サイトを持つ GSLB セットアップがある場合、IP アドレスが特定の範囲内にあるすべてのクライアントを特定のデータセンターに誘導できます。

TCP ベースと UDP ベースの DNS トラフィックの両方を評価できます。ポリシー式は、サーバ上の UDP ベースの DNS トラフィック、およびクライアント側の UDP ベースの DNS トラフィックと TCP ベースの DNS トラフィックの両方で使用できます。さらに、次の DNS 質問タイプ(または QTYPE 値)のみを含むクエリと応答を評価する式を設定できます。

  • A
  • AAAA
  • NS
  • SRV
  • PTR
  • CNAME
  • SOA
  • MX
  • ANY

次のレスポンスコード (RCODE 値) もサポートされています。

  • NOERROR-エラーなし
  • FORMERR-フォーマットエラー
  • SERVFAIL-サーバー障害
  • NXDOMAIN-存在しないドメイン
  • NOTIMP-クエリータイプが実装されていません
  • 拒否-クエリが拒否されました

DNS トラフィックを評価する式を設定できます。DNS 式は、DNS.REQ または DNS.RES プレフィックスで始まります。関数は、クエリーされたドメイン、クエリータイプ、およびキャリアプロトコルを評価するために利用できます。DNS 式の詳細については、「ポリシーの設定およびリファレンス」の「DNS メッセージの評価とそのキャリアプロトコルを識別するための式」を参照してください。

コマンドラインインターフェイスを使用して DNS ポリシーを追加するには

コマンドプロンプトで次のコマンドを入力して DNS ポリシーを作成し、構成を確認します。

add dns policy <name> <rule> <actionName>
show dns policy <name>
<!--NeedCopy-->

例:

> add dns policy-GSLB-1 'CLIENT.UDP.DNS.DOMAIN.EQ("domainname")' my_dns_action
 Done
> show dns policy-GSLB-1
    Name: policy-GSLB-1
    Rule: CLIENT.UDP.DNS.DOMAIN.EQ("domainname")
    Action Name: my_dns_action
    Hits: 0
    Undef Hits: 0

 Done
<!--NeedCopy-->

コマンドラインインターフェイスを使用して構成済みの DNS ポリシーを削除するには

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

rm dns policy <name>
<!--NeedCopy-->

Citrix ADC構成ユーティリティを使用してDNSポリシーを構成するには

  1. [トラフィック管理] > [DNS] > [ポリシー] に移動し、DNS ポリシーを作成します。
  2. [DNS ポリシーの作成] または [DNS ポリシーの構成] ダイアログボックスで、次のパラメータを設定します。
    • ポリシー名 (既存のポリシーでは変更できません)
    • アクション
    • [式] 式を指定するには、次の操作を行います。
      1. [追加] をクリックし、表示されるドロップダウンボックスで、式の開始に使用する式要素を選択します。2 つ目のリストが表示されます。このリストには、最初の式要素の直後に使用できる一連の式要素が含まれています。
      2. 2 番目のリストで、目的の式要素を選択し、ピリオドを入力します。
      3. 各選択の後に、ピリオドを入力すると、有効な式要素の次のセットがリストに表示されます。式の要素を選択し、目的の式が得られるまで関数の引数を入力します。
  3. 「 作成」または「OK」をクリックし、「 閉じる」をクリックします。

DNS ポリシーのバインド

DNSポリシーはCitrix ADCアプライアンスでグローバルにバインドされ、構成されているすべてのGSLB仮想サーバーで使用できます。DNS ポリシーがグローバルにバインドされている場合でも、式でドメインを指定することで、ポリシーの実行を特定のGSLB仮想サーバーに制限できます。

注:bind dns global コマンドは REQ_OVERRIDE および RES_OVERRIDE を有効なバインドポイントとして受け付けますが、DNS ポリシーはグローバルにしかバインドできないため、これらのバインドポイントは冗長です。DNS ポリシーは、REQ_DEFAULT および RES_DEFAULT のバインドポイントにのみバインドします。

コマンドラインインターフェイスを使用して DNS ポリシーをグローバルにバインドするには

コマンドプロンプトで次のコマンドを入力して、DNS ポリシーをグローバルにバインドし、構成を確認します。

bind dns global <policyName> <priority> [-gotoPriorityExpression <string>] [-type <type>]
show dns global -type <type>
<!--NeedCopy-->

例:

bind dns global policy-GSLB-1 10 -gotoPriorityExpression END
 Done
show dns global -type REQ_DEFAULT
1)  Policy Name: policy-GSLB-1
    Priority: 10
    GotoPriorityExpression: END
 Done
<!--NeedCopy-->

構成ユーティリティを使用して DNS ポリシーをグローバルにバインドするには

  1. [ トラフィック管理 ] > [ DNS ] > [ ポリシー] に移動します。
  2. 詳細ウィンドウで、[ グローバルバインド] をクリックします。
  3. [DNS ポリシーをグローバルにバインド/バインド解除] ダイアログボックスで、[ポリシーの挿入] をクリックします。
  4. [Policy Name] 列で、バインドするポリシーをリストから選択します。または、一覧の [新しいポリシー] をクリックし、[DNS ポリシーの作成] ダイアログボックスでパラメータを設定して DNS ポリシーを作成します。
  5. すでにグローバルにバインドされているポリシーを変更するには、ポリシーの名前をクリックし、[ポリシーの変更] をクリックします。次に、[DNS ポリシーの構成]ダイアログボックスでポリシーを変更し、[OK]をクリックします。
  6. ポリシーのバインドを解除するには、ポリシーの名前をクリックし、[ ポリシーのバインド解除] をクリックします。
  7. ポリシーに割り当てられているプライオリティを変更するには、プライオリティ値をダブルクリックし、新しい値を入力します。
  8. 割り当てられた優先度を再生成するには、「 優先度を再生成する」をクリックします。優先順位の値は、評価の順序に影響を与えることなく、100 から始まり、10 ずつ増分するように変更されます。
  9. [OK] をクリックします。

コマンドラインインターフェイスを使用して DNS ポリシーのグローバルバインディングを表示するには

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

show dns global

構成ユーティリティを使用して DNS ポリシーのグローバルバインディングを表示するには

  1. [ トラフィック管理 ] > [ DNS ] > [ ポリシー] に移動します。
  2. 詳細ウィンドウで、[ グローバルバインド] をクリックします。すべての DNS ポリシーのグローバルバインディングがこのダイアログボックスに表示されます。

DNS ビューの追加

DNS ビューを構成して、さまざまなタイプのクライアントを識別し、同じ GSLB ドメインをクエリするクライアントのグループに適切な IP アドレスを提供できます。DNS ビューは、クライアントに送り返される IP アドレスを選択する DNS ポリシーを使用して構成されます。

たとえば、会社のドメイン用に GSLB を設定し、サーバーを会社のネットワークでホストしている場合、会社の内部ネットワーク内からドメインを照会するクライアントに、パブリック IP アドレスの代わりにサーバーの内部 IP アドレスを提供できます。一方、インターネットからドメインの DNS を照会するクライアントには、ドメインのパブリック IP アドレスを指定できます。

DNS ビューを追加するには、最大 31 文字の名前を割り当てます。先頭の文字は数字または文字でなければなりません。次の文字も使用できます:@ _-.(ピリオド): (コロン) # とスペース ()。ビューを追加したら、ポリシーをクライアントとネットワークの一部に関連付けるように設定し、ポリシーをグローバルにバインドします。DNS ポリシーを構成してバインドするには、DNS ポリシーを使用したローカル DNS トラフィックの管理を参照してください

コマンドラインインターフェイスを使用して DNS ビューを追加するには

コマンドプロンプトで次のコマンドを入力して DNS ビューを作成し、構成を確認します。

add dns view <viewName>
show dns view <viewName>
<!--NeedCopy-->

例:

add dns view PrivateSubnet
show dns view PrivateSubnet
<!--NeedCopy-->

コマンドラインインターフェイスを使用して DNS ビューを削除するには

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

rm dns view <viewName>
<!--NeedCopy-->

構成ユーティリティを使用して DNS ビューを追加するには

[トラフィック管理] > [DNS] > [ビュー] に移動し、DNS ビューを追加します。

DNS ポリシーの作成方法と DNS ポリシーをグローバルにバインドする方法の詳細については、「DNS ポリシーを使用したローカル DNS トラフィックの管理」を参照してください。

クライアント接続を管理する