기존에 geoip iptables 설치하려면



./geoip/xt_geoip_dl"


./geoip/xt_geoip_build GeoIPCountryWhois.csv"


이부분 진행했었는데 이중에서 ./geoip/xt_geoip_dl" 요거 이제 에러난다.


~/geoip/xtables-addons-1.47.1/geoip]# ./xt_geoip_dl  

--2019-02-15 10:45:49--  http://geolite.maxmind.com/download/geoip/database/GeoIPv6.csv.gz

Resolving geolite.maxmind.com... 104.16.37.47, 104.16.38.47, 2606:4700::6810:262f, ...

Connecting to geolite.maxmind.com|104.16.37.47|:80... connected.

HTTP request sent, awaiting response... 404 Not Found

2019-02-15 10:45:50 ERROR 404: Not Found.


--2019-02-15 10:45:50--  http://geolite.maxmind.com/download/geoip/database/GeoIPCountryCSV.zip

Connecting to geolite.maxmind.com|104.16.37.47|:80... connected.

HTTP request sent, awaiting response... 404 Not Found

2019-02-15 10:45:50 ERROR 404: Not Found.


gzip: GeoIPv6.csv.gz: No such file or directory

unzip:  cannot find or open GeoIPCountryCSV.zip, GeoIPCountryCSV.zip.zip or GeoIPCountryCSV.zip.ZIP.




http://geolite.maxmind.com/download/geoip/database/GeoIPv6.csv.gz

http://geolite.maxmind.com/download/geoip/database/GeoIPCountryCSV.zip


위 두 파일이 없다고 한다. 실제로 홈페이지 들어가보면 not found 뜬다. 파일이 없다.

http://geolite.maxmind.com/download/geoip/database/ 여기까지만 들어가보면 홈페이지가 바꼈다.

https://dev.maxmind.com/geoip/geoip2/geolite2/ 여기로 들어가진다.


geolite2가 나오면서 저 파일들도 없어지고 뭐 이것저것 한것같다.


그럼 어떡해야할까 우리는 설치하고싶은데 


http://geolite.maxmind.com/download/geoip/database/GeoIPv6.csv.gz

http://geolite.maxmind.com/download/geoip/database/GeoIPCountryCSV.zip

위 두파일이 뭐로 대체됐는지 찾으면 되겠찌 ?

사실 가장 정확한 방법은 새로 변경된 geolite2 를 이용해 iptables에 적용을 해야하는데... 모르겠다. 어렵다


하여튼 다운로드 경로 들어가보면 아래 파일들이 보인다.


GeoLite2 City

GeoLite2 Country

GeoLite2 ASN (Autonomous System Number)


이중에서 시티는 말그대로 도시일꺼고 컨츄리는 나라일꺼고 ASN은 들어가보니까 sk 브로드밴드도 있고 kt도 있고한거보니까 통신사 넘버인듯


하여튼 GeoLite2 Country 이거 csv로 다운받는다.


-rw-r--r-- 1 root root 11734000 2019-02-13 07:08 GeoLite2-Country-Blocks-IPv4.csv

-rw-r--r-- 1 root root  3464092 2019-02-13 07:08 GeoLite2-Country-Blocks-IPv6.csv

-rw-r--r-- 1 root root     9864 2019-02-13 07:08 GeoLite2-Country-Locations-de.csv

-rw-r--r-- 1 root root     9937 2019-02-13 07:08 GeoLite2-Country-Locations-en.csv

-rw-r--r-- 1 root root     9992 2019-02-13 07:08 GeoLite2-Country-Locations-es.csv

-rw-r--r-- 1 root root    10230 2019-02-13 07:08 GeoLite2-Country-Locations-fr.csv

-rw-r--r-- 1 root root    14998 2019-02-13 07:08 GeoLite2-Country-Locations-ja.csv

-rw-r--r-- 1 root root    11422 2019-02-13 07:08 GeoLite2-Country-Locations-pt-BR.csv

-rw-r--r-- 1 root root    14932 2019-02-13 07:08 GeoLite2-Country-Locations-ru.csv

-rw-r--r-- 1 root root    11732 2019-02-13 07:08 GeoLite2-Country-Locations-zh-CN.csv


압축 풀어보면 이런식으로 나온다........... 안에 들어가보면 csv 양식이 바꼈따 ...... 흠


https://github.com/mschmitt/GeoLite2xtables

여기에 geolite2 를 기존 geolite .csv 로 컨버팅하는 스크립트가 있다. 요걸로 하면 잘된다 ㅋㅋ


하는방법은 아래와같다.

xt_geoip_dl 파일안의 내용을 
#########

#!/bin/bash


rm -rf GeoLite2-Country-CSV*


wget https://geolite.maxmind.com/download/geoip/database/GeoLite2-Country-CSV.zip

unzip -o -j GeoLite2-Country-CSV.zip '*/GeoLite2-Country-Blocks*'


wget http://download.geonames.org/export/dump/countryInfo.txt


cat GeoLite2-Country-Blocks-IPv{4,6}.csv | ./20_convert_geolite2 CountryInfo.txt > GeoIPCountry.csv

######

20_convert_geolite2 요것만 다운받아주고

ㄴperl 모듈 설치하라고 나오면 cpan -i NetAddr::IP 이거 하면된다.

위와같이 바꿔준다. 그리고 실행하면 된다.

나머지부터는 

check_function "./geoip/xt_geoip_build GeoIPCountry.csv"



mkdir -p /usr/share/xt_geoip

cp -r {BE,LE} /usr/share/xt_geoip/


이거 동일하게 하면됨


ps1.

"perl-Text-CSV_XS"는 쉼표(,)로 이루어진 값들을 구성하고, 분해하는 역할을 하는 패키지입니다. 엑셀 비슷하다고 보시면 됩니다.

"xtables-addons"는 커널/IPTables에서 제공하지 않는 기능을 추가적으로 지원해주는 Addons<확장팩(?) 비슷한 개념>입니다.


출처: https://sata.kr/entry/IPTables-12-IPTables에-GeoIP를-설치해보자-GeoIP-CentOS-6CentOS-7 [SATAz BLOG]

+ Recent posts