NSX Advanced Load Balancer DNS は、静的 DNS レコードの一部としてネーム サーバ (NS) レコードをサポートします(NSX Advanced Load Balancer GSLB は NS レコードをサポートしません)。
DNS ネーム サーバ (NS) レコードは、特定のドメインにサービスを提供するネーム サーバのドメイン名を指定します。たとえば、有効期間 (TTL) が 1,100 秒であり、ネーム サーバ a.gtld-servers.net がサービスを提供する com ドメインの NS レコードは、次のように定義されます。
com. 1100 IN NS a.gtld-servers.net.
NS レコードの場合、NSX Advanced Load Balancer DNS は、権限のあるサーバとしても権限のないサーバとしても動作できます。NSX Advanced Load Balancer DNS で DNS ドメインの 2 つのモード(委任および非委任)用に NS レコードを構成できます。
委任されたドメインまたはゾーン カット
NSX Advanced Load Balancer DNS を NS レコードのドメインの権限のないサーバとして機能させることが目的の動作である場合は、委任のオプションを True
に設定して NS レコードを構成する必要があります。委任は、NS レコードのドメイン名が別の権限のあるネーム サーバに委任されていることを示します。つまり、NS レコードのドメイン名はゾーン カットであり、このドメイン内のドメインは別のネーム サーバが所有しています。
たとえば、xyz.avi.com はドメイン avi.com のゾーン カットであり、xyz.avi.com(別名 *.xyz.avi.com) 内のドメインは、xyz.avi.com を管理しているネーム サーバとは別のネーム サーバによって管理されます。
ドメイン名がゾーン カットとして構成されている場合は、このドメイン名に関連付けられている NS レコードで対応するネーム サーバの IP アドレスを構成することが必須です。ネーム サーバのドメインにより、このドメイン名に対する再帰的 DNS クエリが発生する可能性がある場合、IP アドレスは必須です。
ドメイン (avi.com) の NS レコードに対する DNS クエリ
応答にはネーム サーバ (ns1.avi.com) が含まれています
ドメイン名 ns1.avi.com を解決する必要があるため、ns1.avi.com への A クエリが発生し、ns1.foo.com の NS レコードを含む応答が返され(A レコードがないため、ns1.avi.com に対する NS 要求が何度も繰り返されます)、無期限の再帰が発生します。
この再帰を回避するために、A レコード(IP アドレス)を使用して NS レコード内のネーム サーバの FQDN も構成します。この A レコードは、NS レコードのグルー レコードと呼ばれます。たとえば、
static_dns_records { fqdn: "avi.com" type: DNS_RECORD_NS delegated: true wildcard_match: true ttl: 1100 ns { nsname: "ns1.avi.com" ip_address { addr: "192.5.6.30" type: V4 } } ns { nsname: "ns2.avi.net" } }
静的 NS レコードの上記の構成は、2 台のネーム サーバを参照する NS レコードを持つドメイン「avi.com」用です。したがって、このサーバに送信されるサブドメイン「avi.com」を持つ DNS クエリには、DNS 応答の [AUTHORITY セクション] 内の NS レコードが提供されます。この応答により、再帰的ネーム リゾルバが DNS クエリを 2 台のネーム サーバのいずれかに送信します。したがって、www.avi.com の A レコードに対するクエリは、DNS 応答内の 2 つの NS レコードの応答と、応答の [ADDITIONAL セクション] 内の ns1.avi.com のグルー レコードを取得します。再帰的リゾルバは、同じ DNS クエリをネーム サーバ ns1.avi.com または ns2.avi.net に送信します。
サブドメインとして「avi.com」を含んでいるドメイン名へのすべてのクエリをキャッチすることが目的の動作である場合は、ワイルドカード一致フィールドを True に設定する必要があります。そうしないと、「avi.com」へのクエリのみがネーム サーバに送信されます。「avi.com」にワイルドカード一致が設定されている場合、*.avi.com 形式のクエリ(foo.avi.com、abc.xyz.avi.com など)は構成されたネーム サーバに送信されます。ワイルドカード一致が設定されていない場合は、DNS 仮想サービスでこれらの FQDN が構成されているかどうかに応じて、*.avi.com 形式のドメインへのクエリが成功する場合と失敗する場合があります。
次のように構成されている dig 要求を以下に示します。
A レコード(A、AAAA、CNAME、SRV など)
サブドメインとして委任されたドメイン「com」を含んでいるドメインへ
ワイルドカード一致が設定されている 13 台のネーム サーバ(
a.gtld-servers.net
からm.gtld-servers.net
まで)対応するグルー レコード。
要求されたドメイン sales.avi.com には、サブドメインとして「com」が含まれています。
; <<>> DiG 9.10.3-P4-Ubuntu <<>> @10.90.91.62 sales.avi.com A ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57472 ;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 13, ADDITIONAL: 13 ;; WARNING: recursion requested but not available ;; QUESTION SECTION: ;sales.avi.com. IN A ;; AUTHORITY SECTION: com. 1100 IN NS a.gtld-servers.net. com. 1100 IN NS b.gtld-servers.net. com. 1100 IN NS c.gtld-servers.net. com. 1100 IN NS d.gtld-servers.net. com. 1100 IN NS e.gtld-servers.net. com. 1100 IN NS f.gtld-servers.net. com. 1100 IN NS g.gtld-servers.net. com. 1100 IN NS h.gtld-servers.net. com. 1100 IN NS i.gtld-servers.net. com. 1100 IN NS j.gtld-servers.net. com. 1100 IN NS k.gtld-servers.net. com. 1100 IN NS l.gtld-servers.net. com. 1100 IN NS m.gtld-servers.net. ;; ADDITIONAL SECTION: a.gtld-servers.net. 1100 IN A 192.5.6.30 b.gtld-servers.net. 1100 IN A 192.33.14.30 c.gtld-servers.net. 1100 IN A 192.26.92.30 d.gtld-servers.net. 1100 IN A 192.31.80.30 e.gtld-servers.net. 1100 IN A 192.12.94.30 f.gtld-servers.net. 1100 IN A 192.35.51.30 g.gtld-servers.net. 1100 IN A 192.42.93.30 h.gtld-servers.net. 1100 IN A 192.54.112.30 i.gtld-servers.net. 1100 IN A 192.43.172.30 j.gtld-servers.net. 1100 IN A 192.48.79.30 k.gtld-servers.net. 1100 IN A 192.52.178.30 l.gtld-servers.net. 1100 IN A 192.41.162.30 m.gtld-servers.net. 1100 IN A 192.42.93.30 ;; Query time: 0 msec ;; SERVER: 10.90.91.62#53(10.90.91.62) ;; WHEN: Fri May 26 14:55:20 PDT 2017 ;; MSG SIZE rcvd: 469
委任されていないドメイン
NSX Advanced Load Balancer DNS を NS レコードの権限のあるサーバとして機能させることが目的の動作である場合は、委任のオプションを True
に設定して NS レコードを構成しないでください。委任は、NS レコードのドメイン名が別の権限のあるネーム サーバに委任されていることを示します。たとえば、
static_dns_records { fqdn: "google.com" type: DNS_RECORD_NS wildcard_match: true ttl: 1100 ns { nsname: "ns1.google.com" ip_address { addr: "192.5.6.30" type: V4 } } ns { nsname: "ns2.google.com" ip_address { addr: "192.33.14.30" type: V4 } } ns { nsname: "ns3.google.com" ip_address { addr: "192.26.92.30" type: V4 } } ns { nsname: "ns4.google.com" ip_address { addr: "192.31.80.30" type: V4 } } }
静的 NS レコードの上記の構成は、4 台のネーム サーバを参照する NS レコードを持つドメイン「google.com」用です。これらの NS レコードでは、NSX Advanced Load Balancer DNS が権限のあるネーム サーバです。したがって、このサーバに送信されるドメイン「google.com」を持つ DNS NS クエリには、DNS 応答の [ANSWER セクション] 内の NS レコードが提供され、[ADDITIONAL セクション] にはネーム サーバ IP アドレスの A レコードが提供されます。
ワイルドカード一致フィールドが True
に設定されているが、ドメインが委任されていない場合、委任されていないドメインに一致する DNS クエリは NXDOMAIN 応答を取得します。
次のように構成されている dig クエリ要求を以下に示します。
任意のタイプ(A、NS、CNAME、SRV など)
ドメイン「google.com」へ
ワイルドカード一致がオンになっている
4 台のネーム サーバ(
ns1.google.com
からns4.google.com
まで)
; <<>> DiG 9.10.3-P4-Ubuntu <<>> @10.90.91.63 google.com A ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39235 ;; flags: qr aa rd; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 4 ;; WARNING: recursion requested but not available ;; QUESTION SECTION: ;google.com. IN A ;; ANSWER SECTION: google.com. 1100 IN NS ns1.google.com. google.com. 1100 IN NS ns2.google.com. google.com. 1100 IN NS ns3.google.com. google.com. 1100 IN NS ns4.google.com. ;; ADDITIONAL SECTION: ns1.google.com. 1100 IN A 192.5.6.30 ns2.google.com. 1100 IN A 192.33.14.30 ns3.google.com. 1100 IN A 192.26.92.30 ns4.google.com. 1100 IN A 192.31.80.30 ;; Query time: 0 msec ;; SERVER: 10.90.91.63#53(10.90.91.63) ;; WHEN: Fri May 26 15:49:35 PDT 2017 ;; MSG SIZE rcvd: 164
任意のタイプ(A、NS、CNAME、SRV など)の dig クエリ要求。対象はドメイン「google.com」を含んでいるドメインで、ワイルドカード一致がオンになっており、4 台のネーム サーバ(ns1.google.com
から ns2.google.com
まで)と対応する A レコードは常に NXDOMAIN 応答を取得します。
; <<>> DiG 9.10.3-P4-Ubuntu <<>> @10.90.91.63 mail.google.com A ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 42986 ;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 ;; WARNING: recursion requested but not available ;; QUESTION SECTION: ;mail.google.com. IN A ;; Query time: 0 msec ;; SERVER: 10.90.91.63#53(10.90.91.63) ;; WHEN: Fri May 26 16:56:25 PDT 2017 ;; MSG SIZE rcvd: 33