태그 보관물: ip차단

iptables에서 geoip이용하기

WP security Live traffic으로 보니 쓸대 없이 중국놈들이 자꾸 접속시도를 하는 것을 발견하게 되었다.

이 짱깨들을 효율적으로 막기위해 아래와 같이 geoip를 통해 국내 ip를 제외한 모든 ip를 막을 수 밖에 없었다.

찾아 보니 완전 무식하게 ip대역을 전부 iptables에 등록하여 막는 방법도 있는데, 아무래도 서버 부하도 있고 하니, 이 방법이 훨씬 좋은것 같다.

원본 참조글 : http://www.howtoforge.com/xtables-addons-on-centos-6-and-iptables-geoip-filtering

 

시작하기전에 진행할 사항

xtables addons 설치 도중 커널소스가 필요하기 때문에  커널 소스가 있는지 확인한다. 없다면 아래와 같이 패키지 설치할 때 kernel-devel도 함께 설치한다.

 

1. 필요한 패키지 설치

 

 

2. perl-Text-CSB_XS 설치를 하기 위해 rpmforge repository를 설치하고, 해당 패키지도 설치한다.

 

3. xtables-addon을 설치한다.

http://sourceforge.net/projects/xtables-addons/files/Xtables-addons/ 여기에서 xtables addon을 다운받는다

나같은 경우는 출처랑 똑같이 1.37로 적용하였다.

 

설치하다보면 나같은 경우 libtool이 없어서 make도중에 에러가 발생했었고, libtool을 설치해줬다.

 

또한 설치 하다보면 아래와 같은 식으로 에러가 나는데, 기본적으로 모든 모듈을 설치하기 때문에 발생하는 일이다.

 

해결을 위해서는 mconfig 라는 파일에서 build_RAWNAT=m 를 주석처리해주면 된다.

하다보면 몇개정도 에러가나는데 그때마다 해당 모듈을 주석처리한다.

 

4. geoip 모듈 설정

geoip 디렉토리로 이동

 

geoipcountry 파일을 다운로드 받는 과정

 

받을 파일을 토대로 뭔가 빌드하는 것 같다.

 

생성된 파일들을 default 경로로 이동 시킨다.

 

5. 국내 IP외 차단

 

6. 크롬의 zenmate를 통해 해외 프록시 서버를 통해 접속 시도 해보니 iptables에 다음과 같이 걸려들었다~