GeoIP2 及 GeoIP Legacy 数据库的自动更新

本页提供了自动更新 GeoIP2 和 GeoIP Legacy 二进制数据库的两种方法。

使用 GeoIP 更新

MaxMind 提供 GeoIP 更新程序,为 GeoIP2 和 GeoIP Legacy 二进制数据库提供自动更新。GeoIP 更新需要有效的 GeoIP 订购。请遵从以下指示。

第一步:安装 GeoIP 更新

安装 GeoIP 更新。可以在 GitHub 发布 下载最新发布。

第二步:用账户信息获取 GeoIP.conf

付费的 GeoIP2 和 GeoIP Legacy 数据库

获取一份 预先填好的配置文件(可能需要验证),将它存在您的配置目录中(例如,/usr/local/etc/),文件名为 GeoIP.conf

您也可以用下面的模板手动填写这个文件(不推荐)。

# GeoIP.conf file - used by geoipupdate program to update databases 
 # from http://www.maxmind.com 
 AccountID YOUR_ACCOUNT_ID_HERE 
 LicenseKey YOUR_LICENSE_KEY_HERE 
 EditionIDs YOUR_EDITION_IDS_HERE

请注意,对于低于 2.5.0 的geoipupdate 版本,请用 UserIds 替代 AccountIDs,并用 ProductIds 替代 EditionIDs

免费的 GeoLite2 数据库

GeoIP 更新程序也可以在没有账户的情况下检索 GeoLite2 数据库。请使用以下 GeoIP.conf 文件:

# The following AccountID and LicenseKey are required placeholders.
# For geoipupdate versions earlier than 2.5.0, use UserId here instead of AccountID.
AccountID 0 
LicenseKey 000000000000 
 
# Include one or more of the following edition IDs: 
# * GeoLite2-City - GeoLite 2 City 
# * GeoLite2-Country - GeoLite2 Country 
# For geoipupdate versions earlier than 2.5.0, use ProductIds here instead of EditionIDs.
EditionIDs GeoLite2-City GeoLite2-Country

第三步:运行 GeoIP 更新

运行 geoipupdate。要在 Linux 或 Unix 上实现这一流程的完全自动化,请使用以下 crontab 文件:

# top of crontab 
 MAILTO=your@email.com 
 
 0 0 * * 0 /usr/local/bin/geoipupdate 
 # end of crontab

这个 crontab 文件每周都会运行,并把结果电邮给您。要应用 crontab 文件运行:

$ crontab cronfile

如果您在使用防火墙,geoipupdate 要求打开 DNS 和 HTTPS (443) 端口。

直接下载

只建议无法使用 GeoIP 更新的系统这样做,比如 Windows。

要用一个脚本或程序直接下载数据库,请使用我们 GeoIP 下载页上的“direct download URL”(直接下载 URL)。如果您使用 shell 脚本的 wgetcurl,请务必将 URL 放在引号内。

这个下载将返回一个 gzip 格式的压缩文件,可以用 7-Zipgzip 程序将其解压缩。

下载限制

MaxMind 保留对一定时期内的下载数量进行限制的权利。