ADC

使用 EDNS0 客户端子网选项进行全局服务器负载平衡

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

注意

Citrix ADC 仅支持 EDNS0。

重要:

确保部署中的本地域名服务器 (LDNS) 支持 EDNS0 客户端子网,以便传入的 DNS 查询包含 EDNS0 客户端子网选项,Citrix ADC 设备在处理 DNS 查询时使用 ECS 地址。

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

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

注意

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

GSLB EDNSO

EDNSO GSLB

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

在命令提示符下,键入:

set gslb vserver <vserver_name> **-ECS ENABLED

set gslb vserver vserver-GSLB-1 -ECS ENABLED
<!--NeedCopy-->

地址验证

您可以配置 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> -ecsAddrValidation ENABLED

set gslb vserver vserver-GSLB-1 -ecsAddrValidation ENABLED
<!--NeedCopy-->
使用 EDNS0 客户端子网选项进行全局服务器负载平衡