본문 바로가기
Linux

iptables 한국 IP 만 오픈 방법/ NO 커널컴파일

by 씨엔아이소프트 2022. 1. 18.
반응형

저번에는 중국 ip만 차단하는 방법을 알아봐따...이번엔 대한민국 ip 만 열어주고 외국ip는 모조리 막아보겠다.

 

우선 아래 사이트에가서 최신 ip대역 db를 받는다. 아래 사이트는 ip 자료가 자주 업데이트됩니다. 한번씩 업뎃 해주세용.

국가별 최신 IP대역 DB 받는 곳 :

http://geolite.maxmind.com/download/geoip/database/

 

GeoIPCountryCSV.zip  파일을 받아서

 

/root밑에 다운받는다 그리고 압축을 푼다.

 

압축을 풀면 /root/GeoIPCountryWhois.csv    파일이 보인다. 여기까지 확인.

 

그리고 아래파일을 생성한다.

 

# vi /root/only-Korea-IP-Allow.sh

 

-------------------------------------------------------------------------------------

#!/bin/bash

DATA=/root/GeoIPCountryWhois.csv
IPT=/sbin/iptables

for IPRANGE in `egrep "Korea" $DATA | cut -d, -f1,2 | sed -e 's/"//g' | sed -e 's/,/-/g'`
do
        $IPT -A INPUT -p all -m iprange --src-range $IPRANGE -j ACCEPT
done

 

/sbin/iptables -P INPUT DROP

------------------------------------------------------------------------------------

 

스크립트 내용은 한국 ip대역을 모조리 열어주고 그리고 마지막에 INPUT 정책을 막아주는거다.

 

그리고 실행권한을 준다.

# chmod 700 /root/only-Korea-IP-Allow.sh

 

이 스크립트를 실행하기전에 반드시 iptables -F 를 해서 iptables 를 초기화한다.

 

그리고나서

 

# sh only-Korea-IP-Allow.sh 를 실행한다.

 

 

그리고나서 iptables -L 를 실행하면 상태가 보일것이다.

 

추가로 열어줄 외국아이피가있으면   스크립트에서 

/sbin/iptables -P INPUT DROP 전에 ACCEPT로 넣어주면된다.

 

 

혹시나 해서 적습니다. 위에 iptables 설정 초기화 하실때

 

1.  iptables -P INPUT ACCEPT

2.  iptables -F

 

원격에서 iptables -F 만 하시다가 접속 팅깁니다.  IDC들어가야 할지도...ㅋㅋㅋ

 

정지 스크립트.

 

# vi /root/only-Korea-IP-Allow-stop.sh

 

-------------------------------------------------------------------------------------

#!/bin/bash

/sbin/iptables -P INPUT ACCEPT

/sbin/iptables -F

 

------------------------------------------------------------------------------------

 

# sh only-Korea-IP-Allow-stop.sh 를 실행한다.

 

 

또 하나 참고로 yum -y update 할때 당연히 업데이트 안됩니다..

외국ip 모조리 막혀서 외국ip 작업할 일 있을때 만 열어주고 작업후 다시 닫아주세용.ㅋㅋㅋ

 

서버 최적화 설정후 이걸 적용해주시면 아주 유용하겠죠...

반응형

댓글