반응형
- 커널 버전 확인
# uname -r
2.6.32-754.35.1.el6.x86_64
# rpm -q kernel-devel
kernel-devel-2.6.32-754.35.1.el6.x86_64
kernel-devel-2.6.32-754.el6.x86_64
일치하지 않으면
# yum install kernel-devel-`uname -r`
- 관련 라이브러리 설치
# yum install iptables-devel perl-CPAN wget libmnl* perl-NetAddr-IP perl-Text-CSV_XS xz -y
- xtables-addons 다운로드 및 설치 (2.1버전은 커널버전때문에 호환x)
# cd /usr/local/src/
# wget https://inai.de/files/xtables-addons/xtables-addons-1.37.tar.xz
# tar xvf xtables-addons-1.37.tar.xz
- mconfig 설정 수정
# vi xtables-addons-1.37/mconfig
#build_RAWNAT=m 주석처리 (NAT 테이블에서 추가적인 기능을 제공하는 RAWNAT 모듈)
#build_SYSRQ=m 주석처리 (시스템 호출과 관련된 모듈)
#build_length2=m 주석처리 (패킷 길이에 따라 매칭하는 IPTables 모듈)
#build_TARPIT=m 주석처리 (악성 트래픽을 방어하기 위한 TARPIT 모듈)
:wq
- xtables-addons 컴파일
# cd xtables-addons-1.37
# ./configure
# make && make install
- so파일 생성 확인 및 복사
# ll /lib64/xtables/libxt_geoip.so
# ll /lib64/xtables/libipt_geoip.so
** libipt_geoip.so 파일이 없다면 **
# cp /lib64/xtables/libxt_geoip.so /lib64/xtables/libipt_geoip.so
- 모듈 확인
# lsmod | grep geoip
xt_geoip 3561 1
compat_xtables 5903 1 xt_geoip
- 폴더 생성 후 geoip설정(csv는 가져오기 첨부파일 참조)
# mkdir -p /usr/share/xt_geoip/
# cp /home/test/GeoIP-legacy.csv /usr/share/xt_geoip/
# /usr/local/src/xtables-addons-1.37/geoip/xt_geoip_build -D /usr/share/xt_geoip/ /usr/share/xt_geoip/GeoIP-legacy.csv
- iptables 설정
** iptables
특정 국가 제외 전체 차단 (한국제외 모든국가 차단)
# vi /etc/sysconfig/iptables
-A INPUT -p tcp -m tcp -m geoip ! --src-cc KR -j DROP
특정 국가 제외 특정 포트 차단 (한국제외 7129포트 차단)
-A INPUT -p tcp -m geoip ! --src-cc KR --dport 7129 -j DROP
- 설정 후 iptables 재시작
iptables syntax체크 (이상없으면 아무것도 안뜸)
# iptables-restore -t /etc/sysconfig/iptables
iptables 재시작
#service iptables restart
반응형
'리눅스' 카테고리의 다른 글
APM 연동(apache+php+mysql) (0) | 2025.01.09 |
---|