GeoIP 자동 업데이트 구성


GeoIP 데이터베이스 파일을 이용하면 접근한
IP 주소의 국가, 도시 등의 정보를 얻을 수 있다. 먼저 이 파일을 다운로드 해보자.
또한, 갱신되는 파일을 
주기적으로 업데이트해 줄 필요가 있으므로 자동으로 업데이트 가능하도록 해보자.

GeoIP update 설치
geoipupdate 다운로드 링크에서 geoipupdate-3.1.1.tar.gz  파일을 다운로드하여 해당 경로에서 아래 명령들을 순차적으로 수행한다.

$ tar -zxvf geoipupdate-3.1.1.tar.gz
$ cd geoipupdate-3.1.1
$ ./configure
$ make
$ make install

명령 실행중 curl 이나 zlib이 설치되어 있지 않으면 에러가 발생한다. 해당 경우, 설치 후 명령을 다시 수행하면 된다.
# curl 설치
$ yum install curl-devel

# zlib 설치
$ yum install zlib-devel 

GeoIP.conf 설정
GeoIP.conf 파일에 계정 정보와 필요한 에디션을 설정한다.
유료 이용자에게는 GeoIP2와 GeoIP Legacy DB를 지원하고, 무료 이용자에게는 GeoLite2 DB만 지원한다. (유료 이용 라이센스 발급)

/usr/local/etc/GeoIP.conf

# Paid
AccountID YOUR_ACCOUNT_ID_HERE
LicenseKey YOUR_LICENSE_KEY_HERE
EditionIDs YOUR_EDITION_IDS_HERE
# Free
AccountID 0
LicenseKey 000000000000
EditionIDs GeoLite2-City GeoLite2-Country 

GeoIP update 실행

$ /usr/local/bin/geoipupdate 

위 명령을 수행하면 /usr/local/share/GeoIP 경로에 설정한 Edition이 생성된다.
예를 들어, EditionIDs GeoIP2-City 이면 GeoIP2-City.mmdb 파일이 생성된다.
(단, 방화벽을 사용하는 경우에는 DNS와 443 포트를 열어줘야 한다.)

실행 스크립트를 crontab에 설정하여 주기적으로 동작시키고 결과 값을 메일로 전송할 수 있다.
# top of crontab
MAILTO=mirotic91@tistory.com
2 22 * * 4 /usr/local/bin/geoipupdate2
# end of crontab

GeoIP 자동 업데이트
자동으로 업데이트 받는 shell을 간단히 작성했다. 실행하면 최신 GeoIP2-City.mmdb 파일을 원하는 경로로 이동시킨다.
배포 스크립트에 아래 shell 실행문을 추가해주면 최신 GeoIP를 유지할 수 있다.
#!/bin/bash
/usr/local/bin/geoipupdate
DOWNLOAD_DIR=/usr/local/share/GeoIP
TARGET_DIR=/DATA/GeoIP

mv -f $DOWNLOAD_DIR/GeoIP2-City.mmdb $TARGET_DIR/
chown -R tomcat:tomcat $TARGET_DIR

참고 링크 - https://dev.maxmind.com/geoip/geoipupdate/

'Development > Etc' 카테고리의 다른 글

ssh 접속 불가 현상 해결  (0) 2018.07.22

ssh 접속 불가 현상 해결

ssh 명령을 통해 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행할 수 있다.

최초 아래와 같이 명령을 실행하면 해당 서버에 연결되며 인증키를 발급 받는다.
이후 연결시에는 발급된 인증키를 통해 연결된다.

$ ssh root@11.222.33.4

그러나 다음과 같은 오류가 발생하며 접속되지 않는 경우도 있다.
WARNING : REMOTE HOST IDENTIFICATION HAS CHANGED!

원인은 
11.222.33.4 이라는 IP로 기존에 접속한 적이 있는 서버와 이미 공유키를 교환한 상태에서 
11.222.33.4 이라는 서버가 변경되었기 때문이다.

문제가 되는 키를 초기화 해주는 명령이 필요하다.
$ ssh-keygen -R 11.222.33.4

명령을 실행하면 .ssh/known_hosts 파일이 업데이트된다.

그리고 나서 다시 접속 명령을 수행하면 새로운 키가 생성되어 접속할 수 있게 된다.
The authenticity of host '11.222.33.4 (11.222.33.4)' can't be established.
ECDSA key fingerprint is SHA256:sakjfhsdjfhweasfasdffiwfksfasfjksfhdk
Are you sure you want to continue connecting (yes/no)? yes


'Development > Etc' 카테고리의 다른 글

GeoIP 자동 업데이트 구성  (0) 2019.01.16

+ Recent posts