Citrix ADC

域名系统

注意:从13.0版本开始构建41。在ADNS和代理模式下,思杰ADC设备完全符合2019年的DNS标志日。

您可以将Citrix ADC设备配置为域的权威域名服务器(ADNS服务器)。添加属于设备授权的域的DNS资源记录,并配置资源记录参数。您还可以将设备配置为代理DNS服务器,用于对网络内外的DNS名称服务器群进行负载平衡。将设备配置为终端解析器和转发器。当没有配置完全限定域名时,可以配置DNS后缀,启用域名解析功能。该设备还支持检索属于某个域的所有记录的DNS ANY查询。

您可以将设备配置为同时作为一个域的权威DNS服务器和另一个域的DNS代理服务器。当您将设备配置为区域的权威DNS服务器或DNS代理服务器时,您可以使设备对超过为用户数据报协议(UDP)指定的大小限制的响应大小使用TCP。

DNS如何在Citrix ADC上工作

您可以将Citrix ADC设备配置为ADNS服务器、DNS代理服务器、终端解析器和转发器。您可以在Citrix ADC设备上添加DNS资源记录,包括以下记录:

  • 服务(SRV)记录
  • IPv6 (AAAA)记录
  • 地址(A)记录
  • 邮件交换(MX)记录
  • 规范名称(CNAME)记录
  • 指针(PTR)记录
  • 起始授权机构(SOA)记录
  • 文本(TXT)记录

此外,还可以配置Citrix ADC以实现外部DNS名称服务器的负载均衡。

可以将Citrix ADC设备配置为域的授权机构。为域添加有效的SOA和NS记录。

ADNS服务器是包含完整区域信息的DNS服务器。

要将Citrix ADC设备配置为一个区域的ADNS服务器,必须添加ADNS服务,然后配置该区域。为此,您需要为域添加有效的SOA和NS记录。当客户端发送DNS请求时,Citrix ADC设备会在已配置的资源记录中搜索域名。将ADNS业务配置为与Citrix ADC GSLB (Global Server Load Balancing)特性配合使用。

通过将子域的NS记录加入父域的域,可以将子域委派给父域。然后,您可以通过为每个子域名服务器添加“粘合记录”,使Citrix ADC对子域具有权威性。如果配置了GSLB,则Citrix ADC将根据其配置做出GSLB负载均衡决策,并返回所选虚拟服务器的IP地址。如下图所示为ADNS GSLB设置和DNS代理设置中的实体。

图1所示。DNS代理实体模型

DNS实体模型

Citrix ADC设备可以用作DNS代理。DNS记录的缓存是DNS代理的一项重要功能,在Citrix ADC设备上默认启用。缓存使Citrix ADC设备能够为重复翻译提供快速响应。创建负载均衡DNS虚拟服务器和DNS服务,并将DNS服务绑定到虚拟服务器上。

Citrix ADC提供了两个选项,最小生存时间(TTL)和最大TTL,用于配置缓存数据的生命周期。缓存的数据超时是由这两个选项的设置指定的。Citrix ADC检查来自服务器的DNS记录的TTL。如果TTL小于配置的最小TTL,则将其替换为配置的最小TTL。如果TTL值大于配置的最大TTL值,则替换为配置的最大TTL值。

Citrix ADC还允许缓存域的负面响应。否定响应表示所请求域的信息不存在,或者服务器无法为查询提供答案。该信息的存储称为消极的缓存.负缓存有助于加快对域上查询的响应,并且可以选择性地提供记录类型。

否定的回答可以是以下其中一种:

  • NXDOMAIN错误消息—如果本地缓存中存在否定响应,则Citrix ADC返回错误消息(NXDOMAIN)。如果响应不在本地缓存中,则将查询转发给服务器,服务器将NXDOMAIN错误返回给Citrix ADC。Citrix ADC在本地缓存响应,然后将错误消息返回给客户机。
  • NODATA错误消息-如果查询中的域名有效,但给定类型的记录不可用,则Citrix ADC发送NODATA错误消息。

Citrix ADC支持DNS递归解析。在递归解析中,解析器(DNS客户端)为域名向名称服务器发送递归查询。如果查询的名称服务器对该域具有权威性,则它使用请求的域名进行响应。否则,Citrix ADC将递归地查询名称服务器,直到找到所请求的域名。

在应用递归查询选项之前,必须首先启用它。您还可以设置DNS解析器在DNS查找失败时必须发送解析请求的次数(DNS重试次数)。

您可以将Citrix ADC配置为DNS转发器。转发器将DNS请求传递到外部名称服务器。Citrix ADC允许您添加外部名称服务器,并为网络外的域提供名称解析。Citrix ADC还允许您将名称查找优先级设置为DNS或Windows Internet name Service (WINS)。

使ADC设备能够使用DNS将主机名解析为其各自的IP地址

注意:您需要SSH实用程序来访问设备的命令行界面(CLI)。

默认情况下,ADC设备无法将主机名解析为其各自的IP地址。完成以下任务以在设备上启用名称解析:

  1. 定义名称服务器。
  2. 定义DNS后缀。

注意事项

通过命令行方式进行DNS解析。从FreeBSD操作系统的shell提示符进行DNS查找失败,因为/etc/resolv.conf文件中的条目指向127.0.0.2的IP地址。

以下命令在设备的CLI中不可用:

- host - dig - getent/MIP - nslookup 

如果设备无法ping通其SNIP地址上的DNS服务器,则服务器状态显示为down。当设备位于防火墙后时,成功的ping非常重要。

CLI配置

在命令提示符下,输入:

添加dns nameServer 添加dns后缀 

要验证配置,输入:

show dns nameServer show dns后缀

要测试DNS解析,输入:

show dns address  

GUI配置

  1. 导航到流量管理> DNS >名称服务器>添加
  2. 创建名称服务器对话框中输入名称服务器的IP地址,单击创建
  3. 导航到流量管理> DNS > DNS后缀>添加
  4. 创建DNS后缀对话框中,输入要用于所有主机查询的DNS后缀,例如example.com,然后单击创建

轮循DNS

当客户端发送DNS请求来查找DNS资源记录时,它会收到一个IP地址列表,这些IP地址可以解析到DNS请求中的名称。然后客户端使用列表中的一个IP地址,通常是第一个记录或IP地址。因此,单个服务器用于缓存的总TTL,并且在许多请求到达时过载。

当Citrix ADC接收到DNS请求时,它通过以轮询方式更改DNS资源记录列表的顺序来进行响应。这个特性叫做轮循DNS.轮循在数据中心之间平均分配流量。Citrix ADC自动执行此功能。您不必配置此行为。

功能概述

如果将Citrix ADC配置为ADNS服务器,则按照配置的顺序返回DNS记录。当将Citrix ADC配置为DNS代理时,它将按照从服务器接收记录的顺序返回DNS记录。缓存中存在的记录的顺序与从服务器接收记录的顺序相匹配。

然后,Citrix ADC以轮询方式更改DNS响应中发送记录的顺序。第一个响应按顺序包含第一个记录,第二个响应按顺序包含第二个记录,顺序继续按照相同的顺序进行。因此,请求相同名称的客户端可以连接到不同的IP地址。

轮循DNS示例

以轮循DNS为例,考虑已添加的DNS记录如下:

add dns addRec ns1 1.1.1.1 add dns addRec ns1 1.1.1.2 add dns addRec ns1 1.1.1.3 add dns addRec ns1 1.1.1.4 

域名abc.com链接到一个NS记录如下:

添加DNS nsrec abc.com。ns1 < !——NeedCopy >

当Citrix ADC接收到ns1的a记录查询时,按照如下轮询方式处理Address记录。在第一个DNS响应中,1.1.1.1作为第一条记录:

ns1。1H IN A 1.1.1.1 ns1。1H IN A 1.1.1.2 ns1。1H IN A 1.1.1.3 ns1。在1.1.1.4 

在第二个DNS响应中,第二个IP地址1.1.1.2作为第一条记录:

ns1。1H IN A 1.1.1.2 ns1。1H IN A 1.1.1.3 ns1。1H IN A 1.1.1.4 ns1。在1.1.1.1 

在第三个DNS响应中,第三个IP地址1.1.1.2作为第一条记录:

ns1。1H IN A 1.1.1.3 ns1。1H IN A 1.1.1.4 ns1。1H IN A 1.1.1.1 ns1。在1.1.1.2 
域名系统