maxmindが提供する、IPアドレスから地理情報を確認することができるサービス(GeoIP)

 


 

GeoIPをインストール

 

パケットインストール
[root@falcon21 ~]# yum install mod_geoip GeoIP GeoIP-devel GeoIP-data zlib-devel
インストール:
GeoIP-data.noarch 0:1.5.0-11.el7 GeoIP-devel.x86_64 0:1.5.0-11.el7
mod_geoip.x86_64 0:1.2.10-1.el7

完了しました!
New leaves:
GeoIP-data.noarch
GeoIP-devel.x86_64
mod_geoip.x86_64


データベース取得
[root@falcon21 GeoIP]# mv GeoIP.dat GeoIP.dat_org

[root@falcon21 GeoIP]# wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
--2018-11-23 06:31:06-- http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
geolite.maxmind.com (geolite.maxmind.com) をDNSに問いあわせています... 104.16.37.47, 104.16.38.47, 2606:4700::6810:262f, ...
geolite.maxmind.com (geolite.maxmind.com)|104.16.37.47|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 711428 (695K) [application/octet-stream]
`GeoIP.dat.gz' に保存中

100%[================================================>] 711,428 --.-K/s 時間 0.1s

2018-11-23 06:31:06 (7.13 MB/s) - `GeoIP.dat.gz' へ保存完了 [711428/711428]

[root@falcon21 GeoIP]# wget http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.mmdb.gz

[root@falcon21 GeoIP]# gunzip GeoIP.dat.gz


Apacheモジュール設定
[root@falcon21 ~]# vi /etc/httpd/conf.d/geoip.conf
< IfModule mod_geoip.c >
GeoIPEnable On
GeoIPScanProxyHeaders On
GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
GeoIPDBFile /usr/share/GeoIP/GeoIP.dat MemoryCache
GeoIPDBFile /usr/share/GeoIP/GeoIP.dat CheckCache
</ IfModule >


ログ出力
[root@falcon21 ~]# vi /etc/httpd/conf/httpd.conf
250 LogFormat "%a [%h [%h]%u%t%D \"%r \ "%> s%b \"%{Referer} i \ "\"% GEOIP_Address = \ "%{GEOIP_ADDR} e \" Country_Code = \ "%{GEOIP_COUNTRY_CODE} e \" Countr y_Name = \ "%{GEOIP_COUNTRY_NAME} e \" "


国別制限
[root@falcon21 ~]# vi /etc/httpd/conf.d/vhost.conf
<Location "/">
Order Deny,Allow
SetEnvIf GEOIP_COUNTRY_CODE JP BlockCountry
#以下どちらか設定
Allow from env=BlockCountry #日本のみのアクセス許可
</Location>
~

データベース更新sh

 

[root@falcon21 ~]# vi GeoIP.sh
#!/bin/sh

GEOIP_MIRROR="http://geolite.maxmind.com/download/geoip/database"
GEOIPDIR=/usr/share/GeoIP
TMPDIR=

DATABASES="GeoLiteCity GeoLiteCountry/GeoIP asnum/GeoIPASNum GeoIPv6"

if [ -d "${GEOIPDIR}" ]; then
        cd $GEOIPDIR
        if [ -n "${DATABASES}" ]; then
                TMPDIR=$(mktemp -d geoipupdate.XXXXXXXXXX)

                echo "Updating GeoIP databases..."

                for db in $DATABASES; do
                        fname=$(basename $db)

                        wget --no-verbose -t 3 -T 60 "${GEOIP_MIRROR}/${db}.dat.gz" -O "${TMPDIR}/${fname}.dat.gz"
                        gunzip -fdc "${TMPDIR}/${fname}.dat.gz" > "${TMPDIR}/${fname}.dat"
                        mv "${TMPDIR}/${fname}.dat" "${GEOIPDIR}/${fname}.dat"
                        chmod 0644 "${GEOIPDIR}/${fname}.dat"
                done
                [ -d "${TMPDIR}" ] && rm -rf $TMPDIR
        fi
fi

 

sh実効権付与
[root@falcon21 ~]# chmod +x GeoIP.sh

sh実行
[root@falcon21 ~]# sh GeoIP.sh
Updating GeoIP databases...
2018-11-23 07:17:11 URL:http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz [13442362/13442362] -> "geoipupdate.iXxC3I0mIC/GeoLiteCity.dat.gz" [1]
2018-11-23 07:17:12 URL:http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz [711428/711428] -> "geoipupdate.iXxC3I0mIC/GeoIP.dat.gz" [1]
2018-11-23 07:17:12 URL:http://geolite.maxmind.com/download/geoip/database/asnum/GeoIPASNum.dat.gz [2534754/2534754] -> "geoipupdate.iXxC3I0mIC/GeoIPASNum.dat.gz" [1]
2018-11-23 07:17:13 URL:http://geolite.maxmind.com/download/geoip/database/GeoIPv6.dat.gz [1207062/1207062] -> "geoipupdate.iXxC3I0mIC/GeoIPv6.dat.gz" [1]


IPアドレスを入力することで、情報を確認
https://www.maxmind.com/ja/geoip-demo


アクセスすることで自端末の情報を確認
http://dev.maxmind.com/geoip/geoip2/javascript/

 


 

GeoIP-update をインストール
[root@falcon21 ~]# wget http://mirror.centos.org/centos/7/os/x86_64/Packages/GeoIP-update-1.5.0-11.el7.noarch.rpm


[root@falcon21 ~]# rpm -Uvh GeoIP-update-1.5.0-11.el7.noarch.rpm
準備しています... ################################# [100%]
更新中 / インストール中...
1:GeoIP-update-1.5.0-11.el7 ################################# [100%]

 

ーーーーーーーー

GeoIP-update-エラー

Received Error -21 (Sanity check database_info string failed) when attempting to update GeoIP Database

GeoIP-update:[root@falcon21 ~]# wget http://mirror.centos.org/centos/7/os/x86_64/Packages/1.5.0-11.el7.noarch.rpm
--2019-05-23 09:22:11--  http://mirror.centos.org/centos/7/os/x86_64/Packages/GeoIP-update-1.5.0-11.el7.noarch.rpm
mirror.centos.org (mirror.centos.org) をDNSに問いあわせています... 147.75.93.107, 2604:1380:3000:2800::1
mirror.centos.org (mirror.centos.org)|147.75.93.107|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 404 Not Found
2019-05-23 09:22:11 エラー 404: Not Found。
 
リンク切れ

 

投票数:1 平均点:10.00

 
Back to Top