태그 Archives: GeoLiteCity.dat

GEOIP database 파일 업데이트

그렇다. 또 바뀌었다 ‘ㅅ’….

 

GeoIP database 파일을 다운 받는데 링크 주소가 변경 되었다

맥스마인드 사이트의 회원 가입 이후 라이선스 키를 받아야 다운로드를 받을 수 있도록 변경 되었다.

 

crontab 에 아래와 같이 geoipupdate 명령어를 주기적으로 실행 함으로서 업데이트를 실행할 수 있다.

 

단지 위 명령어를 실행 하기 위해 맥스마인드사의 회원 가입 과 라이선스 키를 발급 받아야 한다.

2021-04-15_095619

그리고 /etc/GeoIP.conf 파일에서 라이선스키 등록을 진행해야 한다.

이후 geoipupdate명령어를 통해서 업데이트가 잘 되나 실행해보면 된다.

 

출처 : https://dev.maxmind.com/geoip/geoipupdate/


다른 방법으로는 기존 처럼 스크립트를 이용 하여 바뀐 URL 에 파라메터로 라이선스 키를 넣어서 호출하는 방법이 있다.

 

개인 적으로 남이 만든 프로그램 보단 직접 하는 스크립트를 선호하는 편이라.. (OS 의존성도 없는 편이고 해서 ‘ ㅅ’a)

스크립트 3 번째 줄에 위 방법을 따라 만든 maxmind 라이선스 키를 입력해야 한다.

 

기존 스크립트에서 추가 변경된 기능이 있는데 DB 업데이트가 이루어 졌는지 배포주소의 HEAD 체크를 통해서 Last-Modified 를 체크 한다.

쉽게 말하면 맥스마인드사에서 새로운 db를 업데이트 할때만 작동 한다는 소리다. ( 더 쉽게: 매일 돌리면 된다. )

때문에 위 스크립트는 /etc/cron.daily/ 폴더내에 넣어두면 필요할 때 자동 실행이 된다.

 

출처 : https://dev.maxmind.com/geoip/geoip-direct-downloads/#Direct_Downloads

GEOIP data 파일 업데이트

아래 스크립트는 배포 url 이 변경되어 동작 되지 않아요.

새로운 업데이트 방법 관련 글 : GEOIP database 파일 업데이트

 


 

GeoIP.dat 파일을 배포하는 maxmind (https://www.maxmind.com/) 사에서 레거시 파일 형태인 GeoIP.dat 파일을 2019-01-02 일로 부터 배포를 중단하였다.

기존에 apache 혹은 nginx 그리고 iptables 등에서 사용중인 국가별 구분 및 제한을 을 지속적으로 사용 하기 위해서는

GeoIP의 지속적인 업데이트가 필요로 한다.

– 주기적으로 ip는 로테이션이 되기 때문에 dat 파일이 갱신되지 않은채 1년 정도가 지나면 신뢰도가 떨어진다.

다만 과거 형태 .dat 파일만 배포 중단이며 .mmdb 및 .csv 형태의 배포는 지속되고 있다.

 

때문에 배포되는 csv 파일을 이용 하여 dat 파일을 직접 생성해 주는 방향으로 진행할 수 있다.

이미 github 에서 csv를 이용한 dat 파일을 만드는 게 몇몇 올라와 있다. 이중 https://github.com/sherpya/geolite2legacy 을 이용하여 생성할 수 있는 스크립트를 작성 하였다 ‘ㅅ’a

GeoLiteCity.dat 는 최상단의 config CITYDATA 를 Y 로 지정하면 생성한다. (일반적으로 불필요 하며, 생성시 2GB 이상의 메모리를 사용 한다.)

cron 등록은 /etc/cron.daily/ 혹은 /etc/cron.weekly/ 에 파일을 만들어 두면 anacron 이 알아서 주 or 일에 돌려주겠지요..