태그 Archives: Linux

xtables-addons 설치 (GeoIP-iptables, CentOS6)

CENTOS 6 이상
=> xtables-addons 의 요구사항이 iptables 1.4.3 이상 커널-devel 2.6.32 이상임

설치된 리눅스 버전 확인을 하자.!

 

 

http://pkgs.repoforge.org/rpmforge-release 에서 CentOS 6 x64 비공식 Repository 를 추가한다.
위 사이트에서 최신 버전 및 맞는 버전을 찾아 아래의 명령어로 설치한다.

 

 

YUM 을 이용하여 필수 라이브러리를 설치하자 ‘ㅅ’a

GEOIP 도 설치하쟈.

 

그다음 적당한 곳에 xtables-addons 을 다운 받아 압축해제 하고 설치 진행을 한다.

 

그다음은 설치된 xtables 에서 사용할 GEOIP 데이터를 만들어야 한다.

xtables 맥스마인드에서 기본 제공하는 GeoIP.dat, GeoIPv6.dat 를 이용하지 못하므로 만들어 줘야 한다.

데이터 베이스 위치는 /usr/share/xt_geoip/LE ,  /usr/share/xt_geoip/BE 폴더 이다.

만드는 툴은 설치본에서 geoip 폴더안의 xt_geoip_build 스크립트를 이용한다.

 

만들때 문제가 있다. 각 csv 로 생성할때 GeoIPCountryWhois.csv 으로 만들면 v6 데이터가 안나온다 ‘ㅅ’a

GeoIPv6.csv로 만들면 v4 데이터가 안나온다 ‘ㅅ’a

그래서 아래와 같이 만들고 해당것을 옴기는 작업을 한다.

 

==============================================================================

캄파일 트러블 슈팅.

1. 컴파일 해도 인식이 안되는 경우

위명령어로 링크가 깨진경우 – 이는 현재 설치된 kernel 과 kernel-devel 버전이 맞지 않을 경우 나올 수 있다.
맞추어 주도록 하자. 맞춘후에는 리부팅이 필요하다.

2. xtables-addons 를 configure 후에 오류 발생시.

이러한 에러가 발생했다면 아래 파일을 수정해야 한다.

이는 최초 커널에서 나오는 문제는 아니고 커널 업데이트를 한 경우 발생할 수 있다.
#define CONFIG_IP6_NF_IPTABLES_MODULE 1 부분을 찾아서 /* */ 으로 주석처리를 한뒤에 컴파일 한다.

Linux IO 튜닝

파일을 읽을때 리눅스는 access 타임을 write 를 한다.

때문에 파일을 읽을때 단순히 read 가 하는게 아니라 일부 write를 하고 read 를 한다.

아래와 같이 stat 명령어로 파일의 자세한 정보를 보면 확인할 수 있다.

 

이 access write 기능을 끔으로서 read 성능을 대폭으로 끌어올릴 수 있다. (약 2.5배 에서 3배)

바로 nodiratime 과 noatime 옵션 이다.

 

/etc/fstab 에서 아래와 같이 수정을 한다.

/etc/fstab 에 입력된 정보로 재부팅 하지 않고 적용하는 명령어는 다음과 같다.

 

dicard 옵션(저널링 off)는 이 게시물에서 설명.
http://www.enteroa.com/2014/09/24/Linux-에서-TRIM-활성화/

 

임의 마운트 시에는 아래와 같은 명령어로 마운트 한다.

 

 

Linux 에서 TRIM 활성화

Red Hat Enterprise Linux 6 / CentOS 6 이상 지원.

사실 저널링 off 에 의한 trim 활성화 부분이기 때문에 더 이전커널도 지원하지만

파티션이 ext4 가 아닐경우 지원이 안된다. 때문에 RHEL6 이상 / CENTOS 6 이상에서 지원한다.

(물론 이말은 이전 커널이더라도 추가한 디스크를 ext4로 붙일경우 지원한다는 소리도 된다.)

 

리눅스 설치시 포맷을 ext4로 한다. ‘ㅅ’a

혹여 새로운 디스크를 ext4로 잡아야 한다면.

* 먼저 파티션을 만들어 줘야 겠지요 ‘ㅅ’a

/ fdisk 사용법은 기초부분이니 자세한 설명은 생략한다. /

 

* mkfs 로 ext4 형식으로 밀어(?)준다.

* discard 옵션지정을 하여 마운트 한다. ‘ㅅ’a

 

/etc/fstab에서의 등록은 다음과 같이 추가 한다.

옵션중 noatime, nodiratime 에 대한 설명은 요글을 참조 ‘ㅅ’a http://www.enteroa.com/2014/09/25/linux-io-튜닝

 

/etc/fstab 에 입력된 정보로 재부팅 하지 않고 적용하는 명령어는 다음과 같다.