对 GSLB 使用 EDNS0 客户端子网选项

EDNS 客户端子网 (ECS) 是提供客户端子网详细信息的 DNS 头扩展。可以使用这些详细信息来提高 Citrix ADC 全局服务器负载平衡 (GSLB) 的准确性,方法是使用客户端网络位置而不是 DNS 解析程序位置来确定客户端的拓扑密切性。

注意

Citrix ADC 仅支持 EDNS0。

重要:

请 确保您的部署中的 LDNS 支持 EDNS0 客户端子网,以便传入的 DNS 查询包含 EDNS0 客户端子网选项,并且 Citrix ADC 设备在处理 DNS 查询时使用 ECS 地址。

在典型的 GSLB 部署中,当您使用静态邻近性或动态往返时间 (RTT) 等基于邻近性的负载平衡方法时,Citrix ADC 设备会使用本地 DNS (LDNS) IP 地址来确定客户端的拓扑密切性,并相应地执行 GSLB。但是,当部署涉及集中式 DNS 解析程序(例如 Google DNS 或 OpenDNs)时,Citrix ADC 设备将 DNS 请求发送到集中式 DNS 解析程序附近的数据中心,该数据中心可能不靠近客户端。例如,在使用静态邻近负载平衡方法的典型 Citrix ADC GSLB 部署中,来自日本的最终用户请求将发送到日本的数据中心,来自加利福尼亚的最终用户请求将发送到加利福尼亚的数据中心。但是,如果涉及集中式 DNS 解析器,Citrix ADC 设备可能会将来自日本的请求发送到加利福尼亚州的数据中心。

您可以在部署中使用 ECS 选项,其中包括配置为 GSLB 域的权威 DNS (ADNS) 服务器的 Citrix ADC 设备。如果使用静态邻近性作为负载平衡方法,则可以使用 EDNS 标头中的 IP 子网而不是 LDNS IP 地址来确定客户端的地理邻近性。在代理模式部署的情况下,Citrix ADC 设备将启用 ECS 的 DNS 查询按原样转发到后端服务器,而设备不缓存启用 ECS 的 DNS 响应。

注意

ECS 选项不适用于所有其他部署模式,例如非 GSLB 域的 ADNS 模式、解析器模式和转发器模式。在所有这些模式下,Citrix ADC 设备将忽略 ECS 选项。此外,默认情况下,对于 GSLB 部署,ECS 处于禁用状态。

本地化后的图片

本地化后的图片

要使用命令行界面启用 EDNS0 客户端子网选项,请执行以下操作:

在命令提示窗口中,键入:

set gslb vserver <vserver_name> **-ECS ENABLED

set gslb vserver vserver-GSLB-1 -ECS ENABLED

地址验证

您可以配置 GSLB 虚拟服务器,以验证 DNS 查询的 EDNS0 客户端子网 (ECS) 选项返回的地址不是私有或不可路由的 IP 地址。启用了地址验证后,Citrix ADC 设备将忽略 DNS 查询中的 ECS 地址(如果下表中列出),而是使用 LDNS IP 地址进行全局服务器负载平衡。

注意

默认情况下,地址验证处于禁用状态。

地址类型 地址 说明
IPV4 10.0.0.0/8 供私人使用
  172.16.0.0/12 供私人使用
  192.168.0.0/16 供私人使用
  0.0.0.0/8 指网络上的主机
  100.64.0.0/10 共享地址空间
  127.0.0.0/8 环回地址
  169.254.0.0/16 链接 RFC 3927 中定义的本地 IPv4 地址
  192.0.0.0/24 用于 IETF 协议分配,包括专用空间 192.168.0.0/16
  192.0.2.0/24 用于文件编制目的
  192.88.99.0/24 用于 6to4 继电器任意播放
  198.18.0.0/15 用于设备基准测试
  198.51.100.0/24 用于文件编制目的
  203.0.113.0/24 用于文件编制目的
  240.0.0.0/4 用作保留
  255.255.255.255/32 用于广播
     
IPv6 ::1/128 环回地址
  ::/128 未指定地址
  ::ffff:0:0/96 IPV4 映射地址
  100::/64 仅丢弃地址块
  2001::/23 用于 IETF 协议分配
  2001::/32 TEREDO
  2001:2::/48 用于基准测试
  2001:db8::/32 用于文件编制目的
  2001:10::/28 ORCHID
  2002::/16 用于 6to4 继电器任意播放
  fc00::/7 独特的本地
  fe80::/10 链接本地单播地址

使用命令行界面启用地址验证

在命令提示窗口中,键入:

set gslb vserver <vserver_name> -ecsAddressValidation ENABLED

set gslb vserver vserver-GSLB-1 -ecsAddressValidation ENABLED

对 GSLB 使用 EDNS0 客户端子网选项