Citrix ADC

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

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

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

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

  • Citrix_Netscaler_InBuilt_GeoIP_DB_IPv4
  • Citrix_Netscaler_InBuilt_GeoIP_DB_IPv6

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

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

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

格式参数描述 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 支持格式之一的位置详细信息的文件。

使用 CLI 添加静态位置文件

在命令提示窗口中,键入:

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

示例:

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

show locationFile
Location File: /var/netscaler/locdb/nsgeo1.0
Format: netscaler
 Done
>

示例:

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

使用 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>

示例:

 nsmap -f ip-country-region-city -o nsfile.ns ip-country-region-city.csv

将 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 Country 数据库。

  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 打印到 STDOT

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

    perl Convert_GeoIPDB_To_Netscaler_Format.pl

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

    脚本中使用的默认文件名是基于 MaxMind GeoLite2 城市数据库的文件名。如果您已下载 GeoLite2 Country 数据库,则必须按照列出的方式提供输入文件名。

    • 要转换的 IPv4 块文件的-b <filename> 名称。默认文件名:GeoLite2-City-Blocks-IPv4.csv
    • 要转换的 IPv6 块文件的-i <filename> 名称。默认文件名: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.cs
    

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

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

    add locationFile <locationFile>

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

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

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

    注意

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

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

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

    show location parameter
    

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

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

    show gslb service
    

    注意

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

    set gslb vserver GSLBVserverName -lbMethod MethodType
    

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