La Geolocalización de Internet se ha convertido en algo muy importante o imprescindible durante las últimas décadas y por ello han aparecido muchos proveedores que proporcionan este tipo de servicios.
Existen muchos de ellos, pero él más relevante y que ofrece una de las menores latencias es MaxMind. Adicionalmente, ofrece un servicio gratuito llamado GeoLite2 con un registro previo requerido para explotarlo.
Puedes utilizar diferentes librerías para implementar el servicio, pero también puedes utilizar binarios en Linux y en este artículo explicaremos como usarlos en un Ubuntu/Debian.
Instalación y configuración de GeoIP
Existe un paquete para una instalación rápida y sencilla. Por defecto, esta incluido en el repositorio del sistema aunque también puedes añadir el repositorio de MaxMind:
# add-apt-repository ppa:maxmind/ppa
Para instalar el paquete de binarios y de actualización ejecuta lo siguiente:
# apt update && apt install geoipupdate mmdb-bin geoip-bin
Una vez instalado, edita el siguiente fichero para introducir la cuenta y la llave de MaxMind (License Key MaxMind):
# nano /etc/GeoIP.conf
Debería quedar un resultado similar al siguiente:
# Please see https://dev.maxmind.com/geoip/geoipupdate/ for instructions
# on setting up geoipupdate, including information on how to download a
# pre-filled GeoIP.conf file.
# Enter your account ID and license key below. These are available from
# https://www.maxmind.com/en/my_license_key. If you are only using free
# GeoLite databases, you may leave the 0 values.
AccountID 00000
LicenseKey 00000000000
# Enter the edition IDs of the databases you would like to update.
# Multiple edition IDs are separated by spaces.
#
# Include one or more of the following edition IDs:
# * GeoLite2-ASN - GeoLite 2 ASN
# * GeoLite2-City - GeoLite 2 City
# * GeoLite2-Country - GeoLite2 Country
EditionIDs GeoLite2-Country GeoLite2-City GeoLite2-ASN
Una vez modificado, realiza una actualización de los ficheros:
# geoipupdate -v && ls -la /var/lib/GeoIP/
Una vez actualizados puedes realizar una consulta ASN, City o Country con las bases de datos con la utilidad mmdblookup.
Por ejemplo para consultar el ASN de la dirección IP 1.1.1.1:
# mmdblookup --file /var/lib/GeoIP/GeoLite2-ASN.mmdb --ip 1.1.1.1
Aparecerá el número de ASN y nombre de la organización como en el siguiente resultado:
{
"autonomous_system_number":
13335 <uint32>
"autonomous_system_organization":
"CLOUDFLARENET" <utf8_string>
}
Esperamos haberte ayudado con este tutorial 🙂. Recuerda, si tienes consultas sobre esta u otra cuestión relacionada con tus servidores en Clouding, no dudes en escribir a soporte@clouding.io ¡Estamos a tu lado para lo que necesites!