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 |
示例
以下是 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 210.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 910.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 示例: