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 ~]# cd /usr/share/GeoIP/

 


[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%]

投票数:6 平均点:10.00

 
Back to Top