LINUX에서 IP및 도메인 차단은 2가지를 사용합니다.
route명령과 iptables를 이용하는 방법.
route는 실행후 곧바로 적용
iptables은 차단/해제 시마다 서비스 재가동 시켜야 한다.
lokkit를 이용한 포트 차단
lokkit을 이용하면 gui방식으로 쉽게 방화벽 구성이 가능하다.
security level을 enabled로 놓고 customize에서 원하는 포트만 체크하여 open한다.
route를 이용한 ip/도메인 차단
route : rounting table을 설정한다.
route(라우팅 테이블 추가/삭제하기)
차단하기(리눅스)
route add -host 도메인(ip) reject
해제하기(리눅스)
route del -host 도메인(ip) reject
현재관리ip리스트보기(리눅스)
route
iptables 프로그램을 이용한 IP 차단
iptables는 Kernel 2.4.x 기반의 리눅스 설치시에 설치되며 /sbin 디렉토리 아래에 있다.
차단하기(리눅스)
iptables -A INPUT -s 27.251.65.195 -j DROP
//211.255.32.38 아이피는 서버에 접근할수 없다.
iptables -A INPUT -t filter -s 27.251.65.195/24 -j DROP
//211.218.150.0~255 까지 256개의 IP를 한꺼번에차단합니다.
※ 설정후 iptables 프로그램을 리스타트 하지 안해도 적용된다.
해제하기(리눅스)
iptables -A INPUT -s 211.255.32.38 -j ACCEPT
※ 이해가 안되는 부분이 A아이피를 차단한후 A아이피를 다시 해제해도 A아이피는 계속
차단된다. 왜그럴까?
※ 더웃긴건 A아이피를 해체한후 A아이피를 다시 차단해도 A아이피는 접속이 가능하다.
※ 그 이유는 iptables은 위에 있는 정책이 우선이기 때문이다.
3. iptables 프로그램으로 아이피 대역대 차단하는 방법
http://whois.apnic.net 에서 아이피찍어보시면 할당된 아이피대역이 나옵니다.222.51.178.135 는 222.32.0.0 - 222.63.255.255 이렇게 할당되어 있는데
아랫쪽에 친절하게 route: 222.32.0.0/11 라고 알려주네요.
/sbin/iptables -A INPUT -s 222.32.0.0/11 -j DROP
쉘상에서 이렇게 입력하시면
222.51.178.0 ~ 222.51.178.255 아이피대역은 아예 차단시켜버립니다.
현재관리ip리스트보기(리눅스) iptables -L
//# 현재 차단하거나 허용된 아이피 리스트가 나온다.
iptables -F
//# 현재 차단하거나 허용된 아이피 리스트를 모두 지우고 초기화 한다.
IP를 차단하는 방법의 단점 :
접속시도를 하는 IP가 많을 경우에는 관리가 복잡해 질 수 있습니다.
또는 꼭 접속해야 하는 IP가 막히는 상황이 발생할 수도 있습니다.