Citrix ADC

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

您可能希望将来自本地DNS (LDNS)服务器或网络的流量定向到GSLB服务,而不是静态接近方法为该流量选择的GSLB服务。也就是说,你有一个优先的位置因为那样的交通。要用首选位置覆盖静态接近方法,可以执行以下操作:

  1. 配置包含首选位置列表的DNS动作。有关配置DNS动作的详细信息,请参见配置DNS动作
  2. 配置DNS策略,识别来自LDNS服务器或网络的流量,并应用策略中的动作。
  3. 将策略绑定到全局请求绑定点。

在DNS操作中,您可以配置最多8个首选位置的列表。位置必须用点限定符表示法提供,这是向静态接近性数据库添加自定义位置的表示法。位置可以包含您想要省略的限定符的通配符。有关位置的点限定符表示法的信息,请参见向静态接近数据库添加自定义条目.在输入首选位置时,必须按照优先级由高到低的顺序输入。

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

  • 如果首选位置中的所有非通配符限定符与GSLB服务位置中的相应限定符匹配,则认为该匹配为完全匹配。例如,GSLB服务位置为*. uk .*。*或european . uk .*。*is a perfect match for the preferred location *.UK.*.*.
  • 如果只有非通配符限定符的子集匹配,则认为该匹配为部分匹配。例如,欧洲的GSLB服务位置。如is a partial match for the preferred location Europe.UK.

当DNS策略的取值为TRUE时,使用以下算法选择GSLB服务:

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

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

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

    如果部分匹配,则检查相应的GSLB服务是否正常。如果是,则在DNS响应中返回GSLB服务的IP地址。如果发现多个部分匹配,设备将检查每个相应GSLB服务的状态,并对处于up状态的GSLB服务进行负载均衡。

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

    通过这种方式,该设备为匹配DNS策略的流量实现了一种站点关联类型。

例子

考虑一个包含以下8个GSLB服务的GSLB配置:

  • 亚洲。在
  • 亚洲。日本
  • 亚洲。香港
  • 欧洲。英国
  • 欧洲。俄文
  • 欧洲。如
  • 非洲。SD
  • 非洲。ZMB

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

> add dns action prefLoc11 GslbPrefLoc -preferredLocList "亚洲。香港“欧洲。英国" Done > add dns policy dnsPolPrefLoc "CLIENT.IP.SRC.MATCHES_LOCATION("*.ZMB.*.*")" prefLoc11 Done 

当设备从位置接收到请求时.ZMB。.*,首选位置计算如下:

  1. 该设备试图找到与亚洲位置完全匹配的GSLB服务。香港,这是优先位置,具有最高的优先级。它发现在亚洲的GSLB服务。香港是一个完美的组合。如果GSLB服务正常,则向客户端发送GSLB服务的IP地址。
  2. 如果GSLB服务在亚洲。香港is down, the appliance attempts to find a perfect match for the second preferred location, Europe.UK. It finds that the GSLB service at Europe.UK is a perfect match. If the GSLB service is up, it sends the client the IP address of the service.
  3. 如果GSLB服务在欧洲。英国is down, it returns to the preferred location that has the highest priority, Asia.HK, and looks for partial matches. For Asia.HK, it finds that Asia.IN and Asia.JPN are partial matches. If only one of the corresponding GSLB services is up, it sends the client the IP address of the service. If both locations are up, it load balances the two services.
  4. 如果所有部分匹配亚洲。香港are down, the appliance looks for partial matches for Europe.UK. It finds that Europe.RU and Europe.EG are partial matches for the preferred location. If only one of the corresponding GSLB services is up, it sends the client the IP address of the service. If both locations are up, it load balances the two services.
  5. 如果所有部分匹配欧洲。英国are down, the appliance load balances all other available GSLB services. In the current example, the appliance load balances Africa.SD and Africa.ZMB because the remaining six GSLB services have been found to be down.
通过配置首选位置来覆盖静态接近行为