티스토리 뷰
왜 설치 하는가?
geoip 는 해당 국가별로 IP정보를 가지고 있는 일종의 DB이다 iptables과 연동하여 나라별로 설정이 가능하다 예를 들면 한국만 허용, 미국은 허용, 북한은 차단?, 일본은 차단, 이런식의 설정이 가능하다다 ipset 은 아이피들의 집합적인 개념이다 WHITE_IP = (자기집 아이피, 사무실아이피, 친척아이피) BLACK_IP = (해커아이피, 192.168.0.1, 192.168.10.10) 위와 같이 네임셋 (WHITE_IP, BLACK_IP) 라는 이름으로 지정하여 네임셋에 아이피들을 넣거나 삭제하거나 리스트를 보거나 어떠한 액션을 취할수 있다. ex) 아래와 같이 방화벽 설정이 가능하다 iptables -A INPUT -m set --set WHITE_IP -j ACCEPT iptables -A INPUT -m set --set BLACK_IP -j DROP 보안적인면으로 봤을때 특별히 보안이 세다 라는 느낌은 아니며 가용성이 뛰어나다 라고 설명될수 있을거 같다. |
설치 환경
OS : Centos 6.0 (2.6.32-71.29.1.el6.i686) 혹은 CentOS 5.6 Core 32bit / 커널 2.6.38.7 kernel Upgrade / iptables 1.4.3 compile kernel : 2.6.38.8 up compile (cent os 6.0 기본 커널 및 2.6.38 에서도 연동됨) iptables 1.4.7 rpm 버젼 xtables-addons 1.3.8 ipset 4.5 |
개요
patch-o-matric-ng 프로젝트는 더 이상 개발되지 않음 프로젝트가 xtables-addons 이란 이름으로 다시 시작한듯 함 설치 참조 : http://www.howtoforge.com/xtables-addons-on-centos-6-and-iptables-geoip-filtering 설치 참조 : http://blog.pages.kr/210 |
시스템 기본적으로 설치할 패키지 (최소설치를 음음하였다. 아마 기본패키지가 설치 안되어 있을수도 있음)
yum install openssh-clients gcc iptables-devel make kernel-devel unzip wget perl-CPAN irqbalance ntsysv vim pci* ncurses* ipvsadm bridge-utils gcc-c++ |
iptables 1.4.3 설치 (1.4.4 이상 설치해봤는데 에러뜸)
: iptables 는 기본 rpm으로 써보고 컴파일이 잘 안되면 소스설치 해보자
wget http://www.netfilter.org/projects/iptables/files/iptables-1.4.3.tar.bz2 ./configure && make && make install |
xtables 설치
: 현재 Centos6 커널 (2.6.32-431.23.3.el6.x86_64) 에서는 xtables-addons-1.42 까지 설치가 되고 이상 버젼에서는 에러 발생)
설치전 vim mconfig 열어서 아래와 같이 필요한 모듈만 설치하도록 수정해줌 configure: error: Package requirements (xtables >= 1.4.3) were not met: 에러 발생시는 우선 |
Text-CSV-XS 라는거 같은데 geoip 설치할때 필요함 geoip DB는 화일화 할때 필요한듯
wget http://search.cpan.org/CPAN/authors/id/H/HM/HMBRAND/Text-CSV_XS-0.83a.tgz wget http://pkgs.fedoraproject.org/lookaside/pkgs/perl-Text-CSV_XS/Text-CSV_XS-0.83a.tgz/f9e6db6e4221d67658a26484d9214ecc/Text-CSV_XS-0.83a.tgz perl Makefile.PL && make && make install |
libmnl (ipset 컴파일 설치 할때 필요한듯?)
http://www.netfilter.org/projects/libmnl/index.html wget ftp://ftp.netfilter.org/pub/libmnl/libmnl-1.0.1.tar.bz2 tar xvfj libmnl-1.0.1.tar.bz2 ./configure && make && make install |
다운로드
소스 설치시 옵션 설정
vim Makefile 아래구문 최대치로 잡아주기 ifndef IP_NF_SET_MAX ifndef IP_NF_SET_HASHSIZE IP_NF_SET_HASHSIZE=1024 |
그냥 yum install ipset 하면 된다 Centos 6 이상 지원하는듯...
geoip 국가 DB 설치
cd xtables-addons-1.38/geoip Maxmind 에서 GEOIP DB 다운 및 설치 스크립트 실행 국가정보 DB를 디폴트 경로에 저장 아래와 같이 명령 날려보고 에러없으면 GEOIP 무사 패치는 완료하듯? iptables -I INPUT -m geoip --src-cc CN -j DROP |
다 설치하고 난뒤는 CentOs 6.X부터는 아래 값이 다 0인데 1로 바꿔주면 됨 0으로 되어있으면 패킷필터링이나 네트워크 불안정...
/etc/sysctl.conf # Disable netfilter on bridges. net.bridge.bridge-nf-call-arptables = 1 |
관련페이지 & 참고페이지
'Linux' 카테고리의 다른 글
imuxsock begins to drop messages from pid, imuxsock lost 134 messages from pid (0) | 2015.06.10 |
---|---|
리눅스 kernel BYPASS (0) | 2015.06.04 |
유닉스 타임 (Unix time) (0) | 2015.06.04 |
리눅스 기본 개념들 정리 (0) | 2015.06.04 |
리눅스 데몬들 정리 (0) | 2015.06.04 |
- Total
- Today
- Yesterday
- WAF
- 리눅스
- MySQL
- mariadb
- mod_security
- pptp
- GeoIP
- ntp
- HAProxy
- cURL
- softether
- L2TP
- yum
- Apache
- kvm
- IPSEC
- 베이어다이나믹
- ssh
- php
- gitlab
- iptables
- glusterfs
- centOS7
- centos8
- virtualbox
- 인증서
- NGINX
- OpenVPN
- SSL
- galera
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |