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:~$