このセクションでは、EDNS および ECS オプションを NSX Advanced Load Balancer DNS と連携させる方法を説明します。

NSX Advanced Load Balancer DNS 仮想サービスでの EDNS の有効化

前述のとおり、NSX Advanced Load Balancer DNS 仮想サービスは、権限を持つ DNS として機能しながら、OPT RR および ECS オプションの情報を直接利用できます。このサービスで情報を解析してクライアント ログに EDNS 拡張機能情報を追加するには、次のスクリーンショットに示すように NSX Advanced Load Balancer ユーザー インターフェイスの [EDNS 拡張の処理] ボックスをオンにするか、NSX Advanced Load Balancer CLI で対応する EDNS パラメータを True に設定します。

図 1. アプリケーション プロファイル エディタで表示された DNS 設定

ケース 1:NSX Advanced Load Balancer DNS 仮想サービスに権限があり、OPT RR + ECS オプションを受け取った

[EDNS 拡張の処理] ボックスをオンにしたことに加えて、必ず権限を持つドメイン名のリストを指定します。以下に NSX Advanced Load Balancer CLI シーケンスの例を示します。

configure applicationprofile System-DNS
dns_service_profile
authoritative_domain_names avi.com
authoritative_domain_names foo.com
save
save

図 2 の受信 DNS 要求が次のいずれかのドメインに対するものを想定します。

  • クライアント システムは、従来の DNS クエリを DNS リゾルバに送信します。送信する要求には OPT RR オプションも ECS オプションも含まれません。

  • クライアントの送信元アドレスに基づいて、DNS リゾルバは受信する DNS クエリを修正できます。これは、権限を持つ DNS がより多くの情報に基づいた方法で、つまり DNS リゾルバ自体の送信元 IP アドレスではなく、クライアントのアドレスに基づいて応答できるようにするために行います。

  • NSX Advanced Load Balancer DNS は、ECS オプション内で検出したアドレス情報に基づいて応答を形成します。

図 2. 2. 権限を持つ NSX Advanced Load Balancer DNS が ECS オプションに基づいてクエリに応答する

ケース 2:NSX Advanced Load Balancer DNS 仮想サービスに権限がなく、OPT RR + ECS オプションを受け取った

ケース 1 とは対照的に、図 3 は、NSX Advanced Load Balancer DNS 仮想サービスに権限のないクエリを示しています。NSX Advanced Load Balancer DNS 仮想サービスに DNS サーバ プールが定義されている場合、要求はこのサーバ プールに渡されます。転送された要求の ECS オプションに組み込まれるクライアント サブネット アドレス情報は、次の 2 つの値によって異なります。

  1. DNS リゾルバによって接続および送信される ECS オプションに含まれるサブネットのプレフィックス長パラメータの値。

  2. edns_client_subnet_prefix_len(管理者が CLI を介して設定した NSX Advanced Load Balancer DNS 仮想サービス アプリケーション プロファイル パラメータ)。値の範囲は 1 ~ 32 です。

図 3. 3. NSX Advanced Load Balancer DNS が DNS 要求を DNS サーバに渡す

どちらのプレフィックス長も次の 2 つの方法で解釈されます。

  1. これは、すべてのアドレス ビットがゼロになるまでの先頭のアドレス ビット数を示します。

  2. 8 ビットの整数倍に切り上げると、渡す必要のあるオクテットの数を指定します。

たとえば、プレフィックス長 19 は、サブネットについて、次のことを意味します。

  • サブネット アドレスのビット 20 ~ 32 がゼロです。

  • 24 ビット(3 つのオクテット)はサブネットを識別するためにのみを渡す必要があります。4 番目のオクテットは不要です。

DNS サーバを介して ECS オプションを渡す場合、NSX Advanced Load Balancer DNS 仮想サービスは、クライアントのサブネット アドレスが 2 つのプレフィックス長のうち短い方によって管理されるようにします。つまり、次のようになります。

  • 受信サブネットのプレフィックス長が NSX Advanced Load Balancer DNS の edns_client_subnet_prefix_len パラメータの値よりも小さい場合(NSX Advanced Load Balancer ユーザー インターフェイスの図 2 を参照)、ECS オプションは通過するときに変更されません。

  • 受信サブネットのプレフィックス長(26 など)が NSX Advanced Load Balancer DNS の edns_client_subnet_prefix_len パラメータの値(16 など)よりも大きい場合、NSX Advanced Load Balancer は一部の受信ビット(この場合は 10)をゼロアウトし、長さが十分に離れている場合は、より少ないオクテット(たとえば、4 ではなく 2)を図 2 の右側の DNS サーバに転送します。

ケース 3:NSX Advanced Load Balancer DNS 仮想サービスに権限がなく、OPT RR オプションと ECS オプションのどちらも受け取らない

図 4 は、DNS リゾルバからの EDNS 情報のない DNS 要求を示しています。さらに、DNS 要求は、NSX Advanced Load Balancer DNS が権限を持たないドメインに対するものです。このため、パススルーが必要になります。この場合、NSX Advanced Load Balancer DNS 仮想サービスは OPT RR を作成し、ECS オプションの場合、前述のように、1 ~ 4 のオクテットを持つクライアント サブネット アドレスと適切な数の末尾のゼロを挿入します。

図 4. 4. NSX Advanced Load Balancer DNS が転送された DNS クエリに OPT RR および ECS オプションを追加する

デフォルトで有効になっている EDNS オプション

システム DNS プロファイルでは、EDNS オプションはデフォルトで有効になっています。NSX Advanced Load Balancer が古いバージョンからアップグレードされている場合、既存の DNS プロファイルでは EDNS はデフォルトで有効になっていません。ただし、同じ NSX Advanced Load Balancer コントローラ に新しい DNS プロファイルが作成された場合、EDNS はデフォルトで有効になります。

show application profile <profile name> コマンドを実行して、次のように True に設定されている edns フラグの値を確認します。

[admin:10-155-1-175]: > show applicationprofile DNS_profile1

| uuid | applicationprofile-104c53ff-eca7-4fed-9480-33e00c23bf8b |

| name | new -DNS|

| type | APPLICATION_PROFILE_TYPE_DNS |

| dos_rl_profile | |

| dos_profile | |

| thresh_period | 5 sec |

| dns_service_profile | |

| num_dns_ip | 1 |

| ttl | 30 sec |

| error_response | DNS_ERROR_RESPONSE_NONE |

| edns | True |

[EDNS 拡張の処理] は、NSX Advanced Load Balancer コントローラ ユーザー インターフェイスの EDNS 機能用オプションです。

  1. オプションを確認するには、[テンプレート] > [プロファイル] > [アプリケーション] の順に移動し、必要に応じて目的の DNS プロファイルまたはシステム DNS プロファイルを選択します。

  2. [EDNS 拡張の処理] チェックボックスをオンにします(オプションが有効になっていない場合)。



応答の ECS 情報

応答の ECS 情報がサポートされています。クライアントからの DNS 要求に ECS 情報が含まれていて、アプリケーション プロファイルで [EDNS 拡張の処理] が有効になっている場合、SE が生成した応答用の NSX Advanced Load Balancer コントローラ DNS によって ECS 情報が応答に追加されます。応答内の範囲のプレフィックス長は、要求内の送信元のプレフィックス長と同じになります。