ADC

DNS 对响应程序的支持

您可以将响应程序功能配置为响应 DNS 请求,就像响应 HTTP 和 TCP 请求一样。例如,您可以将其配置为通过 UDP 发送 DNS 响应,并确保通过 TCP 发送来自客户端的 DNS 请求。许多 NetScaler 表达式支持检查请求中的 DNS 标头。这些表达式检查特定的标头字段并发送相应的响应。

  • DNS 表达式。在响应程序配置中,您可以使用以下 NetScaler 表达式来引用 DNS 请求的各个部分:

    表达式 说明
    DNS.NEW_RESPONSE 根据请求创建新的空 DNS 响应。
    DNS.NEW_RESPONSE <AA, TC, rcode> 根据指定参数创建新的 DNS 响应。
  • DNS 绑定点。以下全局绑定点可用于包含 DNS 表达式的策略。

    绑定积分 说明
    DNS_REQ_OVERRIDE 优先级/替代请求策略队列。
    DNS_REQ_DEFAULT 标准请求策略队列。

    除了默认绑定点外,您还可以创建 DNS 类型的策略标签并将 DNS 策略绑定到它们。

为 DNS 配置响应程序策略

以下过程使用 NetScaler 命令行配置响应程序操作和策略,并将策略绑定到响应者特定的全局绑定点。

要将响应程序配置为响应 DNS 请求,请执行以下操作:

在命令提示符下,键入以下命令:

  1. add responder action <actName> <actType>

    对于 <actname>,用一个名称代替您的新操作。名称长度可以为 1 到 127 个字符,可以包含字母、数字、连字符 (-) 和下划线 (_) 符号。对于 <actType>,请替换响应者操作类型 respondWith

  2. add responder policy <polName> <rule> <actName>

    对于 <polname>,用新保单的名称代替。对于 <actname>,名称的长度可以为 1 到 127 个字符,并且可以包含字母、数字、连字符 (-) 和下划线 (_) 符号。替换为 <actname>刚才创建的操作的名称。

  3. bind responder policy <polName> <priority> <nextExpr> -type <bindPoint>

    对于 <bindPoint>,指定响应者特定的全局绑定点之一。替换为 <polName>您刚刚创建的策略的名称。对于 <priority>,指定策略的优先级。

示例配置-通过 TCP 强制执行所有 DNS 请求:

要通过 TCP 强制执行所有 DNS 请求,请创建响应程序操作,将 TC 位和 rcode 设置为 NOERROR。

> add responder action resp_act_set_tc_bit respondwith DNS.NEW_RESPONSE(true, true, NOERROR)
Done

> add responder policy enforce_tcp  dns.REQ.TRANSPORT.EQ(udp)  resp_act_set_tc_bit
Done

>bind lb vserver dns_udp –policyName  enforce_tcp   -type request –priority 100
Done
<!--NeedCopy-->
DNS 对响应程序的支持