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 记录:它用于基于配置的域的邮件传输。这对于将电子邮件请求重定向到指定域的邮件服务器非常有用。

配置 DNS TXT 记录

登录到 NSX Advanced Load Balancer CLI,然后在 configure 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 记录。

将 DNS TXT 记录与 A 或 MX 记录一起配置

可以将 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 记录,将添加 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-65535 之间变化。

将 MX 记录与其他现有记录一起配置

可以使用以下配置为现有 A 记录启用 MX 记录。在下面的示例中,m.foo.com 的 MX 记录添加到现有的 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

对 VIP 的 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:~$