このセクションでは、一致ターゲットとアクションを使用した DNS ポリシーでのルールの一致について説明します。

クライアント IP

一致ターゲットは、構成された一連の IP アドレスに対して DNS クエリのクライアント IP アドレスを照合します。IP アドレスの一致は、IP アドレスの暗黙的なセット、IP アドレス範囲と IP プレフィックス、または IP アドレス グループ オブジェクトのセットに対して行うことができます。

クライアント IP アドレスの一致操作では、次の一致操作がサポートされます。

IS IN

現在の DNS 要求のクライアント IP が構成された IP アドレスのセットにある場合、TRUE に評価されます。

IS NOT IN

現在の DNS 要求のクライアント IP が構成された IP アドレスのセットにない場合、TRUE に評価されます。

使用事例

クライアント IP の一致ターゲットを使用して、不良ボットをホストしている特定の地理的領域から送信される DNS クエリをブロックできます。これは、特定の地理的領域に関連付けられた IP アドレスを使用したクライアント IP ルールの一致と、ドロップのルール アクションを構成することで実現されます。



ドメイン名のクエリ

この一致ターゲットは、構成された文字列のセットに対して DNS クエリ要求内のクエリ ドメイン名を照合します。クエリ ドメイン名の一致ターゲットは、一致ターゲットおよび文字列グループ オブジェクトのセットとして、暗黙的なドメイン名のセットをサポートします。

クエリ名の一致操作では、次の一致操作がサポートされます。

Begins With

現在の DNS 要求のクエリ ドメイン名が、構成された文字列セット内のいずれかの文字列で始まる場合、TRUE に評価されます。

Does Not Begin With

現在の DNS 要求のクエリ ドメイン名が、構成された文字列セット内のどの文字列でも始まらない場合、TRUE に評価されます。

Contains

現在の DNS 要求のクエリ ドメイン名に、構成された文字列セット内のいずれかの文字列が含まれている場合、TRUE に評価されます。

Does Not Contain

現在の DNS 要求のクエリ ドメイン名に、構成された文字列セット内のどの文字列も含まれていない場合、TRUE に評価されます。

Ends

現在の DNS 要求のクエリ ドメイン名が、構成された文字列セット内のいずれかの文字列で終わる場合、TRUE に評価されます。

Does Not End With

現在の DNS 要求のクエリ ドメイン名が、構成された文字列セット内のどの文字列でも終わらない場合、TRUE に評価されます。

Equals

現在の DNS 要求のクエリ ドメイン名が、構成された文字列セット内のいずれかの文字列と等しい場合、TRUE に評価されます。

Does Not Equal

現在の DNS 要求のクエリ ドメイン名が、構成された文字列セット内のどの文字列とも等しくない場合、TRUE に評価されます。

使用事例

クエリ ドメイン名一致ターゲットを使用して、DNS 仮想サービスによって提供されない特定のドメインの DNS クエリをブロックできます。これは、対象となる使用できないドメイン名を使用したクエリ ドメイン名一致のルールと、ドロップのルール アクションを構成することで実現されます。



クエリ タイプ

この一致ターゲットは、構成された一連のクエリ タイプ(レコード タイプ A、AAAA、CNAME など)に対して DNS クエリ タイプを照合します。クエリ タイプの一致操作では、次の一致操作がサポートされます。

Is In

現在の DNS 要求のクエリ タイプが構成されたクエリ タイプのセットにある場合、TRUE に評価されます。

Is Not In

現在の DNS 要求のクエリ タイプが構成されたクエリ タイプのセットにない場合、TRUE に評価されます。

使用事例

クエリ タイプ一致ターゲットを使用して、DNS 仮想サービスによって提供されない DNS クエリをブロックできます。これは、対象となる使用可能なクエリ タイプを使用したルールのクエリ タイプ一致と、ドロップのルール アクションを構成することで実現されます。したがって、構成されたセットに含まれていないクエリ タイプはドロップされます。



DNS 転送プロトコル

この一致ターゲットは、構成された転送プロトコルのセットに対して DNS クエリを送信する転送プロトコルを照合します。クエリ タイプの一致操作では、次の一致操作がサポートされます。

Is In

現在の DNS 要求の転送が構成された転送プロトコルのセットにある場合、TRUE に評価されます。

Is Not In

現在の DNS 要求の転送が構成された転送プロトコルのセットにない場合、TRUE に評価されます。

使用事例

クエリ転送プロトコル一致ターゲットを使用して、TCP ではなく UDP 経由で DNS クエリをリダイレクトできます。これは、UDP プロトコルを一致として使用した転送プロトコル一致のルールと、切り捨て TC ビットが設定された Empty Response のルール アクションを構成することで実現されます。このため、UDP を介したクエリは切り捨て TC ビットが設定された空の応答を受信し、クライアントは TCP 経由でクエリを再送できます。



レートの制限

REST API またはユーザー インターフェイスを介して一定期間に許可される DNS 要求の最大数を指定する一致を特定できます。

アクション

アクセス制御:

このルール アクションにより、UDP DNS クエリを処理またはドロップできます。クエリが TCP 経由で到着すると、接続をリセットする追加オプションを使用して許可またはドロップされます。

使用事例:A、AAAA、CNAME、SRV 以外のタイプの DNS クエリをブロックするようにルール一致が構成されている場合、ドロップ アクションがルールで使用されます。

カスタム応答:

このアクションにより、DNS クエリ要求に対して送信されるカスタム応答が許可されます。応答を制御して、応答コード RCODE、認証局 AA、および 切り捨て TC ビットを応答内に設定できます。REST API および CLI を使用すると、リソース レコード セットがサポートされ、DNS 応答本文の Answer、Authority、および Additional セクションにカスタム データを挿入できます。RRsets の詳細については、RFC 1034、「ドメイン名 — 概念とファシリティ」を参照してください。

使用事例:DNS 仮想サービスの DNS エントリが IPv6 アドレスの AAAA レコードをサポートせず、クライアントに A レコードを要求するようヒントを提供する場合、AAAA DNS クエリをキャッチするようにルール一致が構成され、ルール アクションで応答アクションを使用して空の NOERROR 応答を生成します。これにより、クライアントは A レコードのクエリを再発行します。カスタムの A、CNAME、NS、AAAA レコード タイプが返される場合があります。

GSLB サイトの選択:

DNS 仮想サービスのポリシーは、ルール一致が通常の GSLB アルゴリズムベースの応答をオーバーライドできるように構成されています。一致の結果として、共通の site_name タグを共有する一連の IP アドレス(それぞれ異なる GSLB サイトに配置)から 1 つのサイトが選択されます。これらのいずれも使用できない場合は、最大 16 個のフォールバック サイトを代替サイトとして特定することができます。どのフォールバック サイトも健全でなく、is_preferred_site ブール値が TRUE の場合、DNS 仮想サービスは構成された GSLB アルゴリズムに基づいてサイトを選択します。詳細については、『NSX Advanced Load Balancer GSLB ガイド』の「フォールバックと優先サイト オプションを使用した GSLB サイトの選択」トピックを参照してください。

使用事例:パリ、リヨン、アントワープにそれぞれ 1 つずつ、3 つの GSLB サイトがあると仮定しましょう。NSX Advanced Load Balancer の位置情報アルゴリズムを使用すると、ベルギーとの国境に近い場所にあるフランスのクライアントは、アントワープに転送されます。ただし、クライアントはフランスにあるため、GSLB-site-selection アクションはサイト名が「FRANCE」のサイトの VIP を返します。

プールおよびプール グループの選択:

NSX Advanced Load Balancer DNS 仮想サービスは、バックエンド DNS サーバで構成します。デフォルト プールのメンバーではないバックエンド DNS サーバへの要求のルーティングには、プールまたはプール グループ選択アクションの定義が必要です。この機能は、NSX Advanced Load Balancer REST API、CLI、およびユーザー インターフェイスでサポートされます。

注:

プールの選択は、プールの切り替えとも呼ばれます。

使用事例:リモート クラウドにある DNS インフラストラクチャを使用して DNS クエリのサブセットを解決することが必要になる場合があります。NSX Advanced Load Balancer DNS 仮想サービスは、このようなクエリをリモート クラウドのいずれかの DNS サーバに条件付きでロード バランシングできます。

  • GSLB プールの選択:バージョン 22.1.1 以降では、DNS ポリシーを使用して GSLB プールを選択する新しいアクションが NSX Advanced Load Balancer に追加されました。

    CLI のみを使用して構成できます。DNS ポリシーでアクションとして GSLB プールを選択する手順は次のとおりです。

    [admin:ctrl]: > configure dnspolicy Demo 
    Updating an existing object. Currently, the object is: 
    +------------+------------------------------------------------+ 
    | Field      | Value                                          | 
    +------------+------------------------------------------------+ 
    | uuid       | dnspolicy-e3aae711-7617-439f-912a-dea3945d39e1 | 
    | name       | Demo                        | 
    | tenant_ref | admin                                          | 
    +------------+------------------------------------------------+ 
    [admin:ctrl]: dnspolicy> rule 
    
    New object being created 
    
    [admin:ctrl]: dnspolicy:rule>  name "Rule 1" 
    
    [admin:ctrl]: dnspolicy:rule>  index 1 
    
    [admin:ctrl]: dnspolicy:rule> match 
    
    [admin:ctrl]: dnspolicy:rule:match> geo_location 
    
    [admin:ctrl]: dnspolicy:rule:match:geo_location> match_criteria IS_IN 
    
    [admin:ctrl]: dnspolicy:rule:match:geo_location> geolocation_tag "East Coast" 
    
    [admin:ctrl]: dnspolicy:rule:match:geo_location> save 
    
    [admin:ctrl]: dnspolicy:rule:match> save 
    
    [admin:ctrl]: dnspolicy:rule> action 
    
    [admin:ctrl]: dnspolicy:rule:action> gs_group_selection 
    
    [admin:ctrl]: dnspolicy:rule:action:gs_group_selection> group_name "GS-1-pool-2" 
    
    [admin:ctrl]: dnspolicy:rule:action:gs_group_selection> save 
    
    [admin:ctrl]: dnspolicy:rule:action> save 
    
    [admin:ctrl]: dnspolicy:rule> save 
    
    [admin:ctrl]: dnspolicy> save 
  • レート制限NSX Advanced Load Balancer DNS 仮想サービスを構成して、DNS 要求が受け入れられるレートを制限できます。指定した期間内に許可される要求の数を指定できます。アクションは、DROP または Report Only として構成できます。DROP が構成されている場合、レート制限を超えるトラフィックは仮想サービスによってドロップされます。Report Only が構成されている場合、そのようなトラフィックは通過しますが、アプリケーション ログ内で重要なログとしてマークされます。

注:

レート制限は、ユーザー インターフェイスではなく NSX Advanced Load Balancer REST API または CLI から構成します。

使用事例:DNS 要求のレート制限を使用して、サービス品質を確保し、セキュリティを向上させることができます。