CENTOS 6 이상
=> xtables-addons 의 요구사항이 iptables 1.4.3 이상 커널-devel 2.6.32 이상임
설치된 리눅스 버전 확인을 하자.!
1 |
~]# cat /etc/redhat-release |
http://pkgs.repoforge.org/rpmforge-release 에서 CentOS 6 x64 비공식 Repository 를 추가한다.
위 사이트에서 최신 버전 및 맞는 버전을 찾아 아래의 명령어로 설치한다.
1 |
~]# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm |
YUM 을 이용하여 필수 라이브러리를 설치하자 ‘ㅅ’a
1 |
~]# yum install kernel-devel-`uname -r` iptables-devel perl-Text-CSV_XS |
GEOIP 도 설치하쟈.
1 2 |
~]# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm ~]# yum -y install GeoIP-devel GeoIP |
그다음 적당한 곳에 xtables-addons 을 다운 받아 압축해제 하고 설치 진행을 한다.
1 2 3 4 |
~]# tar xfp xtables-addons-1.47.1.tar.xz ~]# cd xtables-addons-1.47.1/ ~]# ./configure ~]# make && make install |
그다음은 설치된 xtables 에서 사용할 GEOIP 데이터를 만들어야 한다.
xtables 맥스마인드에서 기본 제공하는 GeoIP.dat, GeoIPv6.dat 를 이용하지 못하므로 만들어 줘야 한다.
데이터 베이스 위치는 /usr/share/xt_geoip/LE , /usr/share/xt_geoip/BE 폴더 이다.
만드는 툴은 설치본에서 geoip 폴더안의 xt_geoip_build 스크립트를 이용한다.
1 2 3 |
~]# cd geoip ~]# wget "http://geolite.maxmind.com/download/geoip/database/GeoIPCountryCSV.zip" ~]# wget "http://geolite.maxmind.com/download/geoip/database/GeoIPv6.csv.gz" |
만들때 문제가 있다. 각 csv 로 생성할때 GeoIPCountryWhois.csv 으로 만들면 v6 데이터가 안나온다 ‘ㅅ’a
GeoIPv6.csv로 만들면 v4 데이터가 안나온다 ‘ㅅ’a
그래서 아래와 같이 만들고 해당것을 옴기는 작업을 한다.
1 2 3 4 5 6 7 8 |
~]# unzip GeoIPCountryCSV.zip ; unzip GeoIPv6.csv.gz ~]# mkdir /usr/share/xt_geoip/LE ; mkdir /usr/share/xt_geoip/BE ~]# ./xt_geoip_build GeoIPCountryWhois.csv ~]# mv -f ./LE/*.iv4 /usr/share/xt_geoip/LE/ ~]# mv -f ./BE/*.iv4 /usr/share/xt_geoip/BE/ ~]# ./xt_geoip_build GeoIPv6.csv ~]# mv -f ./LE/*.iv6 /usr/share/xt_geoip/LE/ ~]# mv -f ./BE/*.iv6 /usr/share/xt_geoip/BE/ |
==============================================================================
캄파일 트러블 슈팅.
1. 컴파일 해도 인식이 안되는 경우
1 ~]# ls -l /lib/modules/`uname -r`/build/위명령어로 링크가 깨진경우 – 이는 현재 설치된 kernel 과 kernel-devel 버전이 맞지 않을 경우 나올 수 있다.
맞추어 주도록 하자. 맞춘후에는 리부팅이 필요하다.2. xtables-addons 를 configure 후에 오류 발생시.
1234567891011 /usr/local/src/xtables-addons-1.47.1/extensions/compat_xtables.c: In function 'xtnu_ipv6_find_hdr':/usr/local/src/xtables-addons-1.47.1/extensions/compat_xtables.c:633: error: toofew arguments to function 'ipv6_find_hdr'make[4]: *** [/usr/local/src/xtables-addons-1.47.1/extensions/compat_xtables.o] Error 1make[3]: *** [_module_/usr/local/src/xtables-addons-1.47.1/extensions] Error 2make[3]: Leaving directory `/usr/src/kernels/2.6.32-431.1.2.0.1.el6.x86_64'make[2]: *** [modules] Error 2make[2]: Leaving directory `/usr/local/src/xtables-addons-1.47.1/extensions'make[1]: *** [all-recursive] Error 1make[1]: Leaving directory `/usr/local/src/xtables-addons-1.47.1'make: *** [all] Error 2이러한 에러가 발생했다면 아래 파일을 수정해야 한다.
1 ~]# vi /lib/modules/`uname -r`/build/include/linux/autoconf.h이는 최초 커널에서 나오는 문제는 아니고 커널 업데이트를 한 경우 발생할 수 있다.
#define CONFIG_IP6_NF_IPTABLES_MODULE 1 부분을 찾아서 /* */ 으로 주석처리를 한뒤에 컴파일 한다.