Citrix ADC

添加位置文件以创建静态邻近数据库

静态邻近数据库是基于 UNIX 的 ASCII 文件。从位置文件添加到此数据库的条目称为静态条目。Citrix ADC 设备上只能加载一个位置文件。添加新的位置文件会覆盖现有文件。静态邻近数据库中的条目数受到 Citrix ADC 设备中配置的内存的限制。

静态邻近数据库可以采用默认格式创建,也可以采用从商业配置的第三方数据库(例如 www.maxmind.com 和 www.ip2location.com)派生的格式创建。

Citrix ADC 设备包括以下两个 IP 地理位置数据库文件。这些是由 MaxMind 发布的 GeoLite2 文件。

  • Citrix_Netscaler_InBuilt_GeoIP_DB_IPv4
  • Citrix_Netscaler_InBuilt_GeoIP_DB_IPv6

这些数据库文件以 Citrix ADC 设备支持的格式在目录 /var/netscaler/inbuilt_db 中提供。

您可以将这些 IP 地理位置数据库用作基于静态邻近度的 GSLB 方法的位置文件,也可以在基于位置的策略中使用这些地理位置数据库。

这些数据库提供的详细信息各不相同。除了缺省文件具有格式标记外,没有严格强制执行数据库文件格式。数据库文件是使用逗号作为字段分隔符的 ASCII 文件。字段的结构和位置中 IP 地址的表示方式存在差异。

format 参数描述了 Citrix ADC 设备的文件结构。为格式选项指定错误的值可能会损坏内部数据。

注意

  • 升级后,如果 /var/netscaler/inbuilt_db/ 目录包含来自早期 Citrix ADC 软件版本的数据库文件 (Citrix_Netscaler_InBuilt_GeoIP_DB.csv),则该文件将被保留。
  • 数据库文件的默认位置是 /var/netscaler/locdb,在高可用性 (HA) 设置中,两个 Citrix ADC 设备的相同位置必须存在该文件的相同副本。
  • 如果位置文件存储在默认位置以外的位置,则指定位置文件的路径。
  • 对于管理分区,默认路径为:/var/partitions/<partitionName>/netscaler/locdb。
  • 一些数据库根据 ISO-3166 提供简短的国家/地区名称,还提供较长的国家/地区名称。Citrix ADC 在存储和匹配限定符时使用短名称。
  • 要创建静态邻近数据库,请登录 Citrix ADC 设备的 UNIX 外壳,然后使用编辑器以 Citrix ADC 支持的格式之一创建包含位置详细信息的文件。
  • Citrix ADC 设备随附 GeoLite2 数据库(IPv4 和 IPv6),但Citrix 不会定期维护或更新 MaxMind GeoLite2 数据库。如有必要,您可以从 www.maxmind.com 获取 GeoLite2 数据库,然后将其转换为 Citrix ADC 数据库格式。有关更多信息,请参阅 将 MaxMind GeoLite2 数据库格式转换为 Citrix ADC 数据库格式的脚本

使用 CLI 添加静态位置文件

在命令提示符下,键入:

add locationFile <locationFile> [-format <format>]
-  show locationFile
<!--NeedCopy-->

示例:

add locationFile /var/netscaler/locdb/nsgeo1.0 -format netscaler
Done

show locationFile
Location File: /var/netscaler/locdb/nsgeo1.0
Format: netscaler
 Done
>
<!--NeedCopy-->

示例:

add locationFile /var/netscaler/inbuilt_db/Citrix_Netscaler_InBuilt_GeoIP_DB_IPv4 -format netscaler

add locationFile6 /var/netscaler/inbuilt_db/Citrix_Netscaler_InBuilt_GeoIP_DB_IPv6 -format netscaler
<!--NeedCopy-->

要使用 GUI 添加静态位置文件,请执行以下操作:

  1. 导航到 AppExpert > 位置,单击静态数据库选项卡。
  2. 单击 “ 添加 ” 以添加静态位置文件。

您可以使用配置实用程序中的查看 数据库对话框来查看 导入的位置文件数据库。没有等效的 CLI。

要使用 GUI 查看静态位置文件,请执行以下操作:

  1. 导航到 AppExpert > 位置,单击静态数据库选项卡。
  2. 选择静态位置文件,然后从 “ 操作 ” 列表中单击 “ 查看数据库”。

要将位置文件转换为 Citrix ADC 格式,请执行以下操作:

默认情况下,添加位置文件时,该文件将以 Citrix ADC 格式保存。您可以将其他格式的位置文件转换为 Citrix ADC 格式。

注意:只能从命令行界面访问 nsmap 选项。只能转换为 Citrix ADC 格式。

要转换静态数据库格式,请在 CLI 提示符下键入以下命令:

nsmap -f <inputFileFormat> -o <outputFileName> <inputFileName>
<!--NeedCopy-->

示例:

 nsmap -f ip-country-region-city -o nsfile.ns ip-country-region-city.csv
<!--NeedCopy-->

将 MaxMind GeoLite2 数据库格式转换为 Citrix ADC 数据库格式的脚本

MaxMind GeoIP 数据库不能直接在 Citrix ADC 中使用。必须将 MaxMind GeoIP 数据库转换为 Citrix ADC 格式,然后加载 GSLB 静态邻近方法和策略等其他功能进行 IP 位置检测。 您可以使用脚本将 GeoLite2 数据库格式转换为 Citrix ADC 数据库格式。此脚本可用于转换 IPv4 和 IPv6 文件。 该脚本位于以下位置: https://github.com/citrix/MaxMind-GeoIP-Database-Conversion-Citrix-ADC-Format

将 GeoIP2 数据库转换为 Citrix ADC 格式的步骤

  1. https://dev.maxmind.com/geoip/geoip2/geolite2/ 下载.csv 格式的 GeoLite2 City 或 GeoLite2 国家/地区数据库。

  2. 将文件复制到 Citrix ADC 目录(比如 /var)中。使用以下 shell 命令解压缩文件,这将创建一个同名的目录。

    tar -xf <filename>

  3. https://github.com/citrix/MaxMind-GeoIP-Database-Conversion-Citrix-ADC-Format 中下载脚本 convert_geoipdb_to_netscaler_format.pl,然后将其复制到步骤 #2 中创建的目录中。

  4. 要检查脚本执行的可接受选项,请运行以下命令:

    perl Convert_GeoIPDB_To_Netscaler_Format.pl –help

    可用的选项包括:

    • <filename> IPv4 输出文件。默认输出文件名:Netscaler_Maxmind_GeoIP_DB_IPv4.csv

    • -p <filename> IPv6 输出文件。默认输出文件名:Netscaler_Maxmind_GeoIP_DB_IPv6.csv

    • -logfile <filename> 包含事件/消息列表的文件

    • -debug 将所有消息打印到 STDOUT

  5. 运行以下命令将 GeoLite2 数据库格式转换为 Citrix ADC 数据库格式。

    perl Convert_GeoIPDB_To_Netscaler_Format.pl

    注意: 该操作最多可能需要 5 分钟。

    脚本中使用的默认文件名是基于 MaxMind GeoLite2 City 的数据库的文件名。如果您已经下载了 GeoLite2 Country 数据库,则必须提供相应列出的输入文件名。

    • -b <filename> 要转换的 IPv4 块文件的名称。默认文件名:GeoLite2-City-Blocks-IPv4.csv
    • -i <filename> 要转换的 IPv6 块文件的名称。默认文件名:GeoLite2-City-Blocks-IPv6.csv
    • -l <filename> 要转换的位置文件的名称。默认文件名:GeoLite2-City-Locations-en.csv

    示例:

    perl Convert_GeoIPDB_To_Netscaler_Format.pl -b GeoLite2-Country-Blocks-IPv4.csv -i GeoLite2-Country-Blocks-IPv6.csv -l  GeoLite2-Country-Locations-en.csv
    <!--NeedCopy-->
    

    以下是运行脚本后生成的输出文件。

    • Netscaler_Maxmind_GeoIP_DB_IPv4.csv
    • Netscaler_Maxmind_GeoIP_DB_IPv6.csv
  6. 完成将数据库转换为 Citrix ADC 格式的操作后,请使用以下命令开始使用它。

    add locationFile <locationFile>

在 Citrix ADC 设备上添加第三方静态数据库文件

执行以下步骤以在 Citrix ADC 设备上添加第三方静态数据库文件。

  1. 从第三方供应商处获取位置数据库文件,例如 www.maxmind.com 或 www.ip2location.com。
  2. 使用 WinSCP 实用程序将位置数据库文件复制到 Citrix ADC 设备。

    注意

    数据库文件在设备上的默认位置是 /var/netscaler/locdb

  3. 运行以下命令添加静态位置文件:

    add location file <locationfile Name> -format LocationFormat
    <!--NeedCopy-->
    
  4. 运行以下命令以确保已装载位置数据库:

    show location parameter
    <!--NeedCopy-->
    

    此命令显示参数,例如静态条目的数量。如果数据库装载不正确,此命令还会显示一条错误消息。最多可以加载3M-1(300万减一)条目。

  5. 运行以下命令查看 GSLB 站点的位置:

    show gslb service
    <!--NeedCopy-->
    

    注意

    • 如果数据库装载正确,GSLB 站点的位置将自动填充到数据库中。
    • 您只能在设备的配置中指定一个位置文件。
    • 如果设备处于高可用性设置中,则一台设备必须从另一台设备复制数据库。
    • 如果未找到传入 IP 地址的匹配项,则使用轮询方法处理请求。
  6. 运行以下命令在设备上配置 GSLB 方法:

    set gslb vserver GSLBVserverName -lbMethod MethodType
    <!--NeedCopy-->
    
添加位置文件以创建静态邻近数据库