본문 바로가기
Linux

CentOS_Geoip 설치 및 사용법

by 씨엔아이소프트 2017. 9. 6.
반응형
    GeoIP 설치 및 사용법

    1)테스트 환경
    * iptables >= 1.4.3
    * kernel-source >= 2.6.29
    * libmnl
    * Linux kernel >= 2.6.3

    2)패키지 설치
    yum install gcc gcc-c++ make automake unzip zip xz kernel-devel-`uname -r` iptables* kernel-* libmnl*

    rpm -i http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
    yum install perl-Text-CSV_XS

    wget http://www.maxmind.com/download/geoip/database/GeoIPCountryCSV.zip
    unzip GeoIPCountryCSV.zip
    GeoIPCountryWhois.csv 파일 생성됨

    wget http://people.netfilter.org/peejix/geoip/tools/csv2bin-20041103.tar.gz
    tar zxvfp csv2bin-20041103.tar.gz
    cd csv2bin
    make
    ./csv2bin ../GeoIPCountryWhois.csv

    * 커널부분을 업데이트 하면 재부팅해서 새로운 커널로 올라와야 xtables-addon 이 설치가 된다.
    재부팅을 하지 않은상태로 아래 내용을 진행하면 커널소스를 찾지 못한다는 내용으로 진행이 불가하다.

    reboot


    xtables-addons.sourceforge.net/
    최신버전 다운로드 할것


    wget http://downloads.sourceforge.net/project/xtables-addons/Xtables-addons/1.37/xtables-addons-1.37.tar.xz


    unxz xtables-addons-1.37.tar.xz
    tar xvfp xtables-addons-1.37.tar
    cd xtables-addons-1.37/
    ./configure
    make && make install


    cd geoip/
    ./xt_geoip_build ../../GeoIPCountryWhois.csv
    mkdir -p /usr/share/xt_geoip/
    cp -r {BE,LE} /usr/share/xt_geoip/



    3)확인
    iptables -I INPUT -m geoip --src-cc CN -j DROP

    iptables -L 명령어로 확인해서 geoip가 정상적으로 올라와서 중국의 ip를 drop 시키고 있다면 성공

    iptables 명령어로 룰을 넣게되면 꼭 /etc/init.d/iptables save 를 사용해서 룰을 /etc/sysconfig/iptables 에 저장해두길 바란다.




    * 참고사항
    # 일본과 미국에서의 웹 접속을 차단하고 다른 곳에서의 접속은 허용하고자할때

    iptables -A INPUT -p tcp --dport 80 -m geoip --src-cc JP,US -j DROP

    iptables -A INPUT -p tcp --dport 80 -j ACCEPT


    # 한국에서의 ftp만 허용하고 나머지 국가에서의 접속은 차단하고자할때

    iptables -A INPUT -p tcp --dport 21 -m geoip ! --src-cc KR -j DROP


[원본] http://skibis.tistory.com/11


반응형

댓글