NSX Advanced Load Balancer は、テキスト レコード (TXT) レコードとメール交換 (MX) レコードをサポートします。このセクションでは、それらを構成する手順について説明します。

NSX Advanced Load Balancer の DNS 仮想サービスは、主に次の機能を実装します。

  • DNS ロード バランシング

  • 手動または静的 DNS エントリのホスティング

  • 仮想サービス IP アドレス DNS のホスティング

  • GSLB サービス DNS エントリのホスティング

NSX Advanced Load Balancer DNS は、手動の静的 DNS エントリをホストできます。特定の FQDN に対して、A、AAAA、SRV、CNAME、または NS レコードが返されるように構成できます。

  • TXT レコード:構成されたドメインの外部ドメインのテキストベースの情報を保存するために使用されます。これは、ドメインの所有権を識別するのに役立ちます。

  • MX レコード:構成されたドメインに基づいたメール配信で使用されます。これは、指定したドメインのメール サーバに E メール要求をリダイレクトするのに役立ちです。

DNS TXT レコードの構成

NSX Advanced Load Balancer CLI にログインし、virtualservice 構成モードの static_dns_records オプションを使用して、次に示すように、目的のドメインの TXT レコードを追加します。

[admin:controller]: > configure virtualservice VS-DNS
[admin:controller]: virtualservice> static_dns_records
New object being created
[admin:controller]: virtualservice:static_dns_records> fqdn txtrec.acme.com
[admin:controller]: virtualservice:static_dns_records> type dns_record_txt
[admin:controller]: virtualservice:static_dns_records> txt_records
New object being created
[admin:controller]: virtualservice:static_dns_records:txt_records> text_str "favorite_protocol=DNS"
[admin:controller]: virtualservice:static_dns_records:txt_records> save
[admin:controller: virtualservice:static_dns_records> save
[admin:controller]: virtualservice> save

上記の例では、favorite-protocol=DNS テストがドメイン txtrec.acme.com の DNS TXT レコードとして使用されています。

A または MX レコードを使用した DNS TXT レコードの構成

TXT レコードは、同じ FQDN を持つ他の既存のレコード(A レコード、MX レコードなど)を使用して構成できます。

[admin:controller]: > configure virtualservice VS-DNS
[admin:controller]: virtualservice> static_dns_records index 1
[admin:controller]: virtualservice:static_dns_records>
[admin:controller]: virtualservice> static_dns_records index 1
[admin:controller]: virtualservice:static_dns_records> txt_records
New object being created
[admin:controller]: virtualservice:static_dns_records:txt_records> text_str "favorite_protocol=DNS"
[admin:controller]: virtualservice:static_dns_records:txt_records> save
[admin:controller]: virtualservice:static_dns_records> save
[admin:controller]: virtualservice> save

構成された TXT レコード データが適切な DNS クエリに応答するようになりました。次の dig コマンドを使用して、目的の出力をテストします。

aviuser@controller:~$ dig @10.140.135.22 txtrec.acme.com TXT
; <<>> DiG 9.10.3-P4-Ubuntu <<>> @10.140.135.22 txtrec.acme.com TXT
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 3327
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;txtrec.acme.com.            IN    TXT
;; ANSWER SECTION:
txtrec.acme.com.        30    IN    TXT    "favorite_protocol=DNS"
;; Query time: 2 msec
;; SERVER: 10.140.135.22#53(10.140.135.22)
;; WHEN: Tue Feb 25 10:42:59 UTC 2020
;; MSG SIZE  rcvd: 66

DNS MX レコードの構成

MX レコードの場合、指定されたメール サーバに E メール要求をリダイレクトするために、タイプが mx_records の静的 DNS エントリが追加されます。次の例で使用されているホスト (m1.vmware.com) は、指定されたメール サーバの FQDN です。

[admin:controller]: > configure virtualservice VS-DNS
[admin:controller]: virtualservice> static_dns_records
[admin:controller]: virtualservice> static_dns_records
New object being created
[admin:controller]: virtualservice:static_dns_records> fqdn txtrec.acme.com
[admin:controller]: virtualservice:static_dns_records> type dns_record_mx
[admin:controller]: virtualservice:static_dns_records> mx_records
New object being created
[admin:controller]: virtualservice:static_dns_records:mx_records> host m1.acme.com
[admin:controller]: virtualservice:static_dns_records:mx_records> priority 10
[admin:controller]: virtualservice:static_dns_records:mx_records> save
[admin:controller]: virtualservice:static_dns_records> save
[admin:controller]: virtualservice> save
注:

priority フィールドの値は 0 ~ 65,535 の範囲で変化します。

他の既存のレコードを使用した MX レコードの構成

次の構成を使用して、既存の A レコードの MX レコードを有効にします。次の例では、m.foo.com の MS レコードが既存の A レコード (foo.com) に追加されます。

[admin:controller]: > configure virtualservice VS-DNS
(INTEGER) Index of the Object (use where command to see index)
[admin:controller]: virtualservice> static_dns_records index 2
[admin:controller]: virtualservice:static_dns_records> where
Tenant: admin
Cloud: Default-Cloud
+-------------------------+---------------------------------+
| Field                   | Value                           |
+-------------------------+---------------------------------+
| fqdn[1]                 | acme.com                         |
| type                    | DNS_RECORD_A                    |
| ip_address[1]           |                                 |
|   ip_address            | 1.1.1.1                         |
| num_records_in_response | 0                               |
| algorithm               | DNS_RECORD_RESPONSE_ROUND_ROBIN |
| wildcard_match          | False                           |
| delegated               | False                           |
+-------------------------+---------------------------------+
[admin:controller]: virtualservice:static_dns_records>
[admin:controller]: virtualservice:static_dns_records> mx_records
New object being created
[admin:controller]: virtualservice:static_dns_records:mx_records> host m.acme.com
[admin:controller]: virtualservice:static_dns_records:mx_records> priority 12
dmin:naveen-cntrlr]: virtualservice:static_dns_records:mx_records> save
sav[admin:controller]: virtualservice:static_dns_records> save
[admin:controller]: virtualservice> save

仮想 IP アドレスへの DNS クエリは、このように構成されたレコード データを提供する必要があります。

aviuser@controller:~$ dig @10.140.135.22 txtrec.acme.com MX

; <<>> DiG 9.10.3-P4-Ubuntu <<>> @10.140.135.22 txtrec.acme.com MX
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6518
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;txtrec.acme.com. IN MX

;; ANSWER SECTION:
txtrec.acme.com. 30 IN MX 10 m1.acme.com.

;; Query time: 1 msec
;; SERVER: 10.140.135.22#53(10.140.135.22)
;; WHEN: Tue Feb 25 09:40:59 UTC 2020
;; MSG SIZE rcvd: 72

aviuser@controller:~$