Citrix ADC

使用地理定位数据库从用户IP地址检索位置详细信息

请注意该特性在Citrix ADC发行版12.1 build 50中可用。x和。

Citrix ADC设备可以获得用户位置的详细信息,如大洲、县和城市。查找地理位置数据库中的任何公共IP地址。它使用先进的策略基础结构来执行。然后在重写操作或响应器操作中使用检索到的位置详细信息,以执行以下用例。

  • 在将客户端请求发送到后端服务器时,插入带有用户位置详细信息(如国家、城市信息)的HTTP报头。
  • 在无效用户的HTML页面响应中添加国家名称。

该设备还可以使用审计日志机制记录位置详细信息。

使用地理位置函数获取用户位置详细信息

各组件按以下方式相互作用:

  1. 用户从特定的地理位置发送客户端请求。
  2. Citrix ADC设备从客户端请求中查找用户IP地址,并检索地理位置详细信息。详细信息包括来自地理位置数据库的大洲、国家、地区、城市、ISP、组织或自定义详细信息。
  3. 一旦检索到位置详细信息,该设备将使用响应器策略或重写策略来评估请求。
  4. 在重写策略中,设备添加带有地理位置详细信息的头并将其发送到后端服务器。例如,插入一个带有国家信息的自定义HTTP标头。
  5. 在响应器策略中,设备评估HTTP请求,并基于策略评估,允许访问用户或将用户重定向到错误页面。它声明用户访问应用程序的区域没有访问权限。

建立地理位置数据库

作为先决条件,您必须有一个在Citrix ADC设备上运行的地理位置数据库。Citrix ADC固件提供地理位置数据库文件。要从供应商下载数据库文件,请将其转换为Citrix ADC格式并将其导入到您的设备中。有关地理位置数据库的更多信息,请参见添加位置文件以创建静态接近数据库的话题。

地理定位功能

下表给出了检索任何公共IP地址的位置详细信息的geolocation函数列表。这些函数可用于重写或响应器策略。

地理定位功能 例子
CLIENT.IP.SRC.LOCATION Asia.In.Karnataka.Bangalore
CLIENT.IP.SRC.LOCATION.GET (1) .LOCATION_LONG 印度
CLIENT.IP.SRC.LOCATION (3) Asia.In.Karnataka
CLIENT.IP.SRC.LAT_LONG 12日,77年
CLIENT.IPV6.SRC.LOCATION 北America.US.California.Santa Clara.Verizon.Citrix
CLIENT.IPV6.SRC.LOCATION (3) 北America.US.California
CLIENT.IPV6.SRC.LOCATION.GET (1) .LOCATION_LONG 美国
CLIENT.IPV6.SRC.LOCATION.GET (3) 加州
CLIENT.IPV6.SRC.LAT_LONG 36岁,-119年

配置地理定位功能

要使用高级策略基础设施配置地理定位功能,您必须启用负载平衡、重写和响应器特性,然后完成以下用例。

启用负载均衡、响应器、重写功能

如果希望Citrix ADC设备授权来自特定地理位置的用户访问,则必须启用负载平衡、重写和响应器特性。

启用ns特性loadbalancing重写响应器

用例1:配置地理定位功能,将无效用户重定向到地理位置之外

当来自印度的用户请求访问某个网页时,阻止该请求并使用带有国家名称的HTML页面进行响应。

以下步骤帮助您完成此用例的配置。

  • 添加响应器操作
  • 添加应答策略
  • 将响应器策略绑定到负载均衡服务器

有关重写操作和重写策略配置的GUI过程的更多信息,请参见应答器主题

添加响应器操作

添加一个响应器操作,以响应带有国家名称的HTML页面。在命令提示符处,输入:

add responder action   ( | ) [-comment ] [-responseStatusCode ][-reasonPhrase ] 

例子:

添加响应器动作responder_act response with "HTTP.REQ。VERSION + \" 304请求页面在您的国家不允许- \" + CLIENT.IP.SRC.LOCATION.GET (1).LOCATION_LONG + \"\r\n\"" 

添加审计日志消息操作

可以配置审计消息操作,以记录各种日志级别的消息,可以仅以syslog格式记录,也可以同时以syslog和格式记录newnslog格式。审计消息操作使用表达式指定审计消息的格式。使用命令行接口创建审计消息操作

在命令提示符处,输入:add audit messageaction [-logtoNewnslog (YES|NO)]

例子:

add audit messageaction ms1 DEBUG "\"请求位置:\"+CLIENT.IP.SRC。位置“< !——NeedCopy >

添加应答策略

添加一个响应器策略,以识别来自印度的请求,并将响应器操作与该策略关联起来。在命令提示符处,输入:

add responder policy    [] [-comment ] [-logAction ] [-appflowAction ] 

例子:

add responder policy responder_pol CLIENT.IP.SRC.MATCHES_LOCATION("Asia.India.*.*.*.* .*")——NeedCopy >

将响应器策略绑定到负载均衡服务器

将响应器策略绑定到HTTP/SSL类型的负载均衡虚拟服务器。在命令提示符处,输入:

bind lb vserver  -policyName < policy_name > -priority <> -type  

例子:

bind lb vserver http_vserver -policyName responder_pol -priority 100 -type REQUEST 

用例2:配置地理定位功能,用于插入新的HTTP头,其中包含后端响应的位置详细信息

考虑这样一个场景,Citrix ADC设备必须在发送给应用程序服务器的请求的HTTP报头中插入用户位置,以便服务器可以将该信息用于某些业务逻辑。以下步骤帮助您完成此用例的配置。

  • 添加修改操作
  • 添加修改政策
  • 将重写策略绑定到负载均衡

有关重写操作和重写策略配置的GUI过程的更多信息,请参见应答器的话题。

添加修改操作

添加一个重写动作,在请求中插入一个带有用户地理位置详细信息的自定义HTTP标头,并将其发送给后端服务器。在命令提示符处,输入:

add rewrite action    [] [-search ] [-refineSearch ][-comment ] 

例子:

“User_location”客户端:ip . src . location——NeedCopy >

添加修改政策

添加一个重写策略来评估是否必须运行重写操作。在这种情况下,所有发送到应用服务器的请求都必须有一个自定义的HTTP头,因此该规则可以为“true”。在命令提示符处,输入:

add rewrite policy    [] [-comment ] [-logAction ] 

例子:

添加重写策略rewrite_pol true rewrite_act -logaction log_act 

将重写策略绑定到负载均衡

将重写策略绑定到所需的HTTP/SSL类型的负载均衡虚拟服务器。在命令提示符处,输入:

bind lb vserver  -policyName < policy_name > -priority <> -type  

例子:

bind lb vserver http_vserver -policyName rewrite_pol -priority 100 -type REQUEST 

Syslog支持记录地理位置详细信息(可选)

如果希望记录用户的地理位置详细信息,则必须指定当请求匹配策略时执行的SYSLOG操作。设备将详细信息作为日志消息存储在ns.log文件中。更多关于SYSLOG和NSLOG审计的信息,请参见审计日志记录的话题。

用户地理位置详细信息的输出

以下输出使用SYSLOG或记录在设备中newnslog如果您试图从班加罗尔位置访问应用程序,并且该设备使用地理定位功能," CLIENT.IP.SRC.LOCATION '。

Asia.India.Karnataka.Banglore < !——NeedCopy >

样例输出日志:

GMT调试0- pe -0: default REWRITE Message 22 0: "Request Location: asia.in.karnataka.bangalore.*. "调试0- pe -0: default RESPONDER Message 32 0 Done 
使用地理定位数据库从用户IP地址检索位置详细信息