76 lines
2.6 KiB
Plaintext
76 lines
2.6 KiB
Plaintext
Automatically fetching GeoIP "free" databases
|
|
==============================================
|
|
|
|
On January 2, 2019, Maxmind, the company behind the geoip database,
|
|
discontinued the GeoLite Legacy databases, which are no longer
|
|
available for download.
|
|
(https://support.maxmind.com/geolite-legacy-discontinuation-notice/)
|
|
|
|
Free geolocation data is still available through the GeoLite2 databases.
|
|
However, due to some legal changes
|
|
(https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases/)
|
|
starting December 30, 2019, the Geolite2 database users are required to
|
|
register for a MaxMind account and obtain a license key in
|
|
order to download GeoLite2 databases.
|
|
|
|
The following packages are introduced to work with the new database format
|
|
and distribution:
|
|
|
|
libmaxminddb is the library for working with the geolite2 format. It doesn't
|
|
download any data, just works with a local .mmdb database.
|
|
|
|
geoipupdate is the official Maxmind's tool for downloading the
|
|
geo database. Users need to fill in its configuration file with their
|
|
Maxmind account details. It's possible to generate the entire config
|
|
from the Maxmind web page, once one has an account.
|
|
|
|
geolite2legacy is a script for converting geolite2 data to the old
|
|
geoip format. Accepts only the CSV format as input.
|
|
|
|
We also ship a geoipupdate-legacy subpackage, which is a wrapper around
|
|
geoipupdate. It downloads the data and converts them to the old format
|
|
using geolite2legacy. The data will be stored at the usual place
|
|
(/var/lib/GeoIP), so this should be transparent to existing applications.
|
|
It's basically a re-implementation of geoip-fetch which was shipped
|
|
within GeoIP package (but no longer works).
|
|
|
|
How to get the latest GeoIP data
|
|
================================
|
|
|
|
(1) Register a MaxMind account at https://www.maxmind.com/en/geolite2/signup
|
|
|
|
(2) Fill in the account information in /etc/GeoIP.conf
|
|
|
|
(3) Install geoipupdate package
|
|
|
|
# zypper in geoipupdate
|
|
|
|
(4) Download the latest GeoIP data
|
|
|
|
# geoipupdate
|
|
|
|
Local libmaxminddb is up-to-date and packages are to work with the geo data.
|
|
|
|
Optional:
|
|
|
|
(5) Install geoipupdate-legacy package
|
|
|
|
# zypper in geoipupdate-legacy
|
|
|
|
(6) Download and export the data to the old format
|
|
|
|
# geoipupdate-legacy
|
|
|
|
Local GeoIP database is up-to-date and packages are ready to work with
|
|
the new geo data using the old GeoIP library.
|
|
|
|
Tips
|
|
====
|
|
|
|
These databases can become out-of-date quite quickly unless
|
|
the user manually fetches and replaces them regularly.
|
|
Maxmind generally release updates every couple of weeks.
|
|
|
|
Script can be called manually (as root), but the best solution is to add
|
|
a crontab entry or a systemd timer such as the one shipped with the package.
|