ADC

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

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

注意

NetScaler 仅支持 EDNS0。

重要:

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

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

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

注意

ECS 选项不适用于所有其他部署模式,例如非 GSLB 域的 ADNS 模式、解析器模式和转发器模式。在前面提到的模式下,NetScaler 设备会忽略 ECS 选项。此外,默认情况下,在 GSLB 部署中禁用 ECS。

GSLB DENSO

DENSO GSLB

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

在命令提示符下,键入:

set gslb vserver <vserver_name> **-ECS ENABLED

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

地址验证

您可以配置 GSLB 虚拟服务器,以验证 DNS 查询的 EDNS0 客户端子网 (ECS) 选项返回的地址不是私有或不可路由的 IP 地址。启用地址验证后,NetScaler 设备会忽略 DNS 查询中的 ECS 地址(如果 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 Relay Anycast
  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 Relay Anycast
  fc00::/7 本地独一无二
  fe80::/10 链接本地单播地址

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

在命令提示符下,键入:

set gslb vserver <vserver_name> -ecsAddrValidation ENABLED

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