通过配置首选位置覆盖静态邻近行为

您可能希望将流量从本地 DNS (LDNS) 服务器或网络引导到除静态邻近方法为该流量选择的 GSLB 服务之外的 GSLB 服务。也就是说,您有该流量的 首选位置 。要使用首选位置覆盖静态邻近方法,可以执行以下操作:

  1. 配置由首选位置列表组成的 DNS 操作。有关配置 DNS 操作的更多信息,请参阅配置 DNS 操作
  2. 配置 DNS 策略以标识从 LDNS 服务器或网络到达的流量,并在策略中应用操作。
  3. 将策略绑定到全局请求绑定点。

在 DNS 操作中,您可以配置最多 8 个首选位置的列表。这些位置必须在虚线限定符表示法中提供,该表示法是将自定义位置添加到静态邻近数据库时使用的表示法。这些位置可以包含要省略的限定符的通配符。有关位置的虚线限定符表示法的信息,请参阅将自定义条目添加到静态邻近数据库。输入首选位置时,必须按优先级降序输入这些位置。

当策略计算结果为 TRUE 时,Citrix ADC 设备将首选位置按优先级顺序与 GSLB 服务的位置相匹配。匹配有以下两种类型:

  • 如果首选位置中的所有非通配符限定符与 GSLB 服务位置中的相应限定符匹配,则该匹配被视为完美匹配。例如, .UK 的 GSLB 服务位置。* 或 Europe.UK。是首选位置.UK 的完美匹配. .*.
  • 如果只有非通配符限定符的子集匹配,则该匹配被视为部分匹配。例如,欧洲的 GSLB 服务位置是首选位置 Europe.UK 的部分匹配。

当 DNS 策略评估为 TRUE 时,以下算法用于选择 GSLB 服务:

  1. 设备评估优先级最高的首选位置,并向下移动优先级顺序,直到在首选位置和 GSLB 服务的位置之间找到完美匹配。

    如果找到完美匹配,设备会检查相应的 GSLB 服务是否正常运行。如果启动,则会在 DNS 响应中返回 GSLB 服务的 IP 地址。如果找到多个完美匹配(在首选位置使用一个或多个通配符时可能会发生这种情况),设备会检查每个相应 GSLB 服务的状态,并对已启动的 GSLB 服务进行负载平衡。

  2. 如果找不到任何首选位置的完美匹配,设备将返回到优先级最高的首选位置,并向下移动优先级顺序,直到在首选位置和 GSLB 服务位置之间找到部分匹配。

    如果找到部分匹配,设备将检查相应的 GSLB 服务是否正常运行。如果启动,则会在 DNS 响应中返回 GSLB 服务的 IP 地址。如果找到多个部分匹配项,设备将检查每个相应 GSLB 服务的状态,并对已启动的 GSLB 服务进行负载平衡。

  3. 如果没有完美匹配和部分匹配,则设备负载平衡所有其他可用 GSLB 服务。

    通过这种方式,设备会为与 DNS 策略匹配的流量实现一种站点关联性。

示例

考虑一个由以下八个 GSLB 服务组成的 GSLB 配置:

  • Asia.IN
  • Asia.JPN
  • Asia.HK
  • Europe.UK
  • Europe.RU
  • Europe.EG
  • Africa.SD
  • Africa.ZMB

进一步考虑以下 DNS 操作和策略配置:

> add dns action prefLoc11 GslbPrefLoc -preferredLocList "Asia.HK" "Europe.UK"
 Done
> add dns policy dnsPolPrefLoc "CLIENT.IP.SRC.MATCHES_LOCATION("\*.ZMB.\*.*")" prefLoc11
 Done

设备收到来自 *.ZMB 位置的请求时。**,首选位置的评估方式如下:

  1. 该设备试图找到一个 GSLB 服务,其位置与 Asia.HK 完美匹配,而 Asia.HK 是优先级最高的首选位置。它发现亚洲香港的 GSLB 服务完全匹配。如果 GSLB 服务已启动,它会向客户端发送 GSLB 服务的 IP 地址。
  2. 如果在 Asia.HK 的 GSLB 服务中断,设备会尝试为第二个首选地点 Europe.UK 找到完美匹配。它发现,Europe.UK 的 GSLB 服务是一个完美的匹配。如果 GSLB 服务已启动,它会向客户端发送服务的 IP 地址。
  3. 如果 Europe.uk 的 GSLB 服务停机,它将返回优先级最高的首选位置,即 Asia.hk,并寻找部分匹配。对于 Asia.IN,它发现 Asia.IN 和 Asia.JPN 是部分匹配。如果只有一个相应的 GSLB 服务启动,它会向客户端发送服务的 IP 地址。如果两个位置都处于平衡状态,则会对两个服务进行负载平衡。
  4. 如果 Asia.HK 的所有部分匹配都出现故障,该设备将寻找 Europe.UK 的部分匹配。它发现 Europe.RU 和 Europe.EG 是首选位置的部分匹配。如果只有一个相应的 GSLB 服务启动,它会向客户端发送服务的 IP 地址。如果两个位置都处于平衡状态,则会对两个服务进行负载平衡。
  5. 如果 Europe.UK 的所有部分匹配都关闭,则设备负载均衡所有其他可用的 GSLB 服务。在当前示例中,设备负载平衡非洲 .SD 和 Africa.ZMB,因为已发现剩余的六个 GSLB 服务已关闭。

通过配置首选位置覆盖静态邻近行为