NSX Advanced Load Balancer 包括一个地理位置数据库以确定客户端的来源。

这是一个基于 MaxMind IP-Country 和 IP-ASN 数据的固定数据库。该数据库是在控制器上维护的,并在升级控制器时合并数据库更新。

用法

地理位置数据用于很多位置,包括:

  • 客户端日志

  • 策略,例如允许列表或拒绝列表

  • 客户端详细信息

  • 安全页面 DDoS 攻击

  • 第 2 层对象,例如缓存、压缩或日志记录条件



注:

客户端 IP 受选项 Use_True_Client_IP 的约束。客户端 IP 可能等于第 3 层标头中的源 IP 或从用户定义的 HTTP 标头中获取的 IP。

作为地理数据库实施的一部分,在 System-GeoDB 中具有各种不同的文件。为了进行更精细的控制,您可以在 HTTP 策略和网络策略等中使用地理数据库。例如,在区域中具有城市级别,而不仅仅是国家/地区级别。

以下是位于 /var/lib/avi/geo_db/admin 中的文件对象:

文件对象

描述

版本

System-LocationDB-File

区域、城市、纬度、经度

IPv4

System-CountryDB-File

国家/地区、洲代码、名称

IPv4

System_ISPDB-File

AS 编号、名称、ISP、组织名称

IPv4

System-LocationDB_v6-File

IPv6

System-CountryDB_v6-File

IPv6

System-ISPDB_v6-File

IPv6

在这些地理数据库文件中,每个支持的列标题定义为 GeoMappingAttribute 值,可以在策略中进一步使用该参数。

示例

以下是 System-CountryDB-File 片段:



国家/地区代码定义为 ATTRIBUTE_COUNTRY_CODE。同样,System_ISPDB-File 中的 ISP 名称可以引用为 ATTRIBUTE_ISP_NAME,等等。可以在策略中进一步使用这些参数,如下所示:



这是一个 HTTP 安全策略示例。

自定义地理数据库文件

除了上述文件以外,专用 IP 地址或其他用例还支持自定义地理数据库文件。自定义地理数据库文件必须采用如下所示的格式/语法之一:

  • IP/prefix;ISP Name;Country Code;AS Number;Region Name;Custom 1;Custom 2​10.120.145.150/32;MYISP;US;100;Bangalore;user1;IT​

  • IP/prefix;Custom 1;5.5.5.10/24;SomeData

  • IP/prefix;Custom 1;Custom 2;Custom 3;Custom 4;Custom 5;Custom 6;Custom 7;Custom 8;Custom 9​10.120.145.150/32;Large;Number;Of;Custom;Columns;And;We;Support;It

可以使用任何应用程序命令在 /var/lib/avi/other_files/<username> 位置中上载自定义文件。以下是一个 curl 命令示例。

curl -k --user <username> --location 'https://<controller-IP>/api/fileobject/upload' --header 'X-Avi-Version: 21.1.1' -F type=GEO_DB -F compressed=true -F 'file=@<path of the file>'
注:
  • -F type=GEO_DB 参数指定文件类型,并且是一个必填字段。

  • 如果使用 Gzip 压缩文件(因此具有 .csv.gz 扩展名),则需要使用额外的 -F compressed=true 参数。如果未压缩文件(例如 extension .csv),则必须省略 -F compressed=true 参数。

用户定义的映射

分组功能将多个地理位置值映射到单个结果。您可以使用该功能将类似实体划分到一个存储桶中,然后在策略或 DataScript 中引用该存储桶。

示例

您可以映射所有 APAC 国家/地区,并在“禁运国家/地区”安全策略或组中进行“APAC 映射”匹配,等等。



以下是 HTTP 安全策略中的匹配选项的 CLI 示例: