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 アドレスは必須です。

  1. ドメイン (avi.com) の NS レコードに対する DNS クエリ

  2. 応答にはネーム サーバ (ns1.avi.com) が含まれています

  3. ドメイン名 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.comabc.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