GeoIP的安装和更新

简介

GeoIP是IP地理位置数据库,可以根据IP地址(支持 IPv4 和 IPv6), 定位该 IP 所在的地理位置和 ASN 等信息。

GeoIP目前已经升级到 GeoIP2,GeoIP2 有两个版本,一个免费版(GeoLite2),一个收费版本(GeoIP2, 200$起步)。与付费版相比,最大的差别就是免费版的精确度相对较低,但是对于大部分项目来说,其实免费版已经足够了。

GeoIP库被广泛使用,比如 ClashShadowrocketNginxLogStash 等。

注册

自 2019 年 12 月 30 日起,MaxMind 要求用户必须 注册帐户 并获取许可密钥以下载 GeoLite2 数据库,需要注意注册的时候不要开启 VPN,实测开启 VPN 注册会失败。

注册后需要生成一个整数,并记录自己的 AccountID 和 LicenseKey,如下图所示:

Centos7中Logstash使用最新版GeoIP并自动更新

Centos7中Logstash使用最新版GeoIP并自动更新

使用

  1. 安装GeoIP

    1
    yum install geoip geoip-devel
  2. 安装更新程序 geoipupdate

    1
    2
    3
    4
    5
    6
    # 下载更新程序
    wget https://github.com/maxmind/geoipupdate/releases/download/v4.2.2/geoipupdate_4.2.2_linux_amd64.tar.gz
    # 解压
    tar xf geoipupdate_4.2.2_linux_amd64.tar.gz && cd geoipupdate_4.2.2_linux_amd64/
    # 将更新文件添加到 /usr/bin
    mv geoipupdate /usr/bin/
  3. 编辑配置文件并更新数据库

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    # 编辑配置文件
    vim /usr/local/etc/GeoIP.conf

    # 修改 AccountID 和 LicenseKey 为上面记录的值
    AccountID [your account id]
    LicenseKey [your license key]

    # 修改需要下载的ip库,下述只是示例,根据自己需要配置
    EditionIDs GeoLite2-ASN GeoLite2-City GeoLite2-Country

    # 修改ip库的保存路径
    DatabaseDirectory [your/path/to/save/geoip/data]

    # 更新数据,数据文件后缀为 mmdb,比如 GeoLite2-City.mmdb 和 GeoLite2-Country.mmdb
    geoipupdate
  4. 创建定时任务自动更新

    1
    2
    3
    4
    5
    # 编辑定时任务
    crontab -e

    # 增加配置,需要自行修改更新时间以及日志路径
    0 * * * 6 /usr/local/bin/geoipupdate > /var/log/geoipupdate.log 2>&1

本文作者:Jormin
本文地址https://blog.lerzen.com/GeoIP的安装和更新/
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!

----- 到这结束咯 感谢您的阅读 -----