Citrix ADC

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

EDNS客户端子网(ECS)是DNS (Domain Name Server)报头扩展,提供客户端子网的详细信息。您可以使用这些详细信息来提高Citrix ADC Global Server Load Balancing (GSLB)的准确性,方法是使用客户端网络位置而不是DNS解析器位置来确定客户端的拓扑接近度。

请注意

Citrix ADC只支持EDNS0。

重要的是:

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

Citrix ADC设备使用LDNS IP地址来确定客户端的拓扑接近度,并在使用基于接近度的负载平衡方法(如静态接近度或动态往返时间(RTT))时执行GSLB。它发生在典型的GSLB部署中。但是,当集中式DNS解析器(如谷歌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选项。此外,默认情况下,ECS对于GSLB部署是禁用的。

GSLB EDNSO

EDNSO GSLB

使用命令行界面启用EDNS0客户端子网选项。

在命令提示符下,输入:

set gslb vserver  **-ECS ENABLED set gslb vserver vserver- gslb -1 -ECS ENABLED 

地址验证

通过配置GSLB虚拟服务器,可以验证DNS查询的ECS (EDNS0 Client Subnet)选项返回的地址不是私有IP地址或不可路由的IP地址。启用地址验证后,如果ECS地址列在下表中,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 Link本地IPv4地址,RFC 3927定义
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 未指明的地址
::飞行符:0:0/96 IPv4-mapped地址
100:: / 64 只丢弃地址块
2001:: / 23 用于IETF协议分配
2001:: / 32 船蛆
2001:2:: / 48 用于基准测试
2001年:db8:: / 32 用于文档目的
2001:10:: / 28 兰花
2002:: / 16 用于6to4中继任播
fc00:: / 7 独特的地域
fe80:: / 10 链路本地单播地址

通过使用命令行接口启用地址验证

在命令提示符下,输入:

set gslb vserver  -ecsAddrValidation ENABLED set gslb vserver- gslb -1 -ecsAddrValidation ENABLED 
为全局服务器负载平衡使用EDNS0客户端子网选项