ADC

当 NetScaler 设备处于代理模式时缓存 EDNS0 客户端子网数据

在 NetScaler 代理模式下,如果支持 EDNS0 客户端子网 (ECS) 的后端服务器发送包含 ECS 选项的响应,则 NetScaler 设备将执行以下操作:

  • 它将响应按原样转发给客户端,
  • 将响应与客户端子网信息一起存储在缓存中。

然后,来自同一域的相同子网的 DNS 请求,服务器会为这些请求发送相同的响应,然后从缓存中提供服务。

注意

  • 默认情况下,ECS 缓存处于禁用状态。在关联的 DNS 配置文件中启用 EDNS0 客户端子网数据的缓存。
  • 您可以为一个域缓存的子网数量仅限于可用的子网 ID,即 NetScaler 设备中的 1270。或者,您可以将限制设置为较低的数字(最小值:1 ipv4/ipv6)。

使用 CLI 启用 ECS 响应的缓存

在命令提示符下,键入:

set dns profile <dnsProfileName> -cacheECSResponses ( ENABLED | DISABLED )

使用 CLI 限制每个域可以缓存的子网数量

在命令提示符下,键入:

set dns profile <dnsProfileName> -maxSubnetsPerDomain <positive_integer>

示例:

缓存 ECS

在上图所示的示例中,IP 地址为 2.2.2.2 的客户端向 DNS 解析器发送了对 www.example.com 的查询。DNS 解析器发送以下响应:

www.example.com IN A,IP 为 2.2.2.11,ECS 2.2.0/24/24

此时,响应和客户端子网标识符 (2.2.2.0/24) 已缓存。来自同一子网和域的更多请求由缓存提供服务。

例如,如果客户端的 IP 地址为 2.2.2.100,查询针对 www.example.com,则查询将从缓存中提供,而不是发送到后端服务器。

当 NetScaler 设备处于代理模式时缓存 EDNS0 客户端子网数据