iptables의 DROP과 REJECT 의 차이를 알고싶습니다.

kkhigh의 이미지

안녕하세요..

iptables 을 사용하려 합니다. 옵션 중에 DROP 과 REJECT 가 있더군요..

각각의 쓰임새에 대해서는 이해를 했는데..

DROP과 REJECT 의 차이를 정확히 알고 싶어 글을 올립니다.

간단히 말씀드리자면.. 예를들어

icmp의 경우.. DROP 옵션으로 상대방에게 'Request Timed out' 을 돌려줄수있을텐데

굳이 REJECT 를 옵션을 써서 'Destination port unreachable'을 돌려줄 필요가 있을까요.?

굳이 REJECT 옵션을 쓰는 이유가 멀까요? 궁금합니다..

eunjea의 이미지

막는 것은 기본적으로 같습니다만,
drop은 무응답, reject는 "당신이 보낸 패킷 리젝팅 했쏘~" 라고 응답합니다.
즉, 상황에 따라 달리 쓸 수 있는데 무차별 패킷 공격 같은 것에는 drop이 낫겠죠.

박영선의 이미지

drop = blackhole

reject = mirror

^^;;

kkhigh의 이미지

REJECT 를 하는 구체적인 예가 없을까요...?

어떤 상황에서 쓰여야할지 감이 안오네요..

^^

타인의 지혜로는 멀리까지 갈 수 없다!!
말하지 말아라!! 오늘 공부하지 않으면서 내일이 있다고..

박영선의 이미지

직접 테스트해보세요...

icmp allow
icmp drop
icmp reject

세가지로 셋팅해놓고 핑때려보세요.

감이올껍니다.

Quote:
http://wiki.kldp.org/Translations//html/Packet_Filtering-KLDP/Packet_Filtering-KLDP-7.html

REJECT
이 모듈은 'DROP'과 같은 효과를 나타낸다. 다만, 'port unreachable' 이라는 에러 메세지를 ICMP 로 보낸다. 주의할 것은 ICMP 에러 메세지는 다음의 경우 보내 지지 않는다 ( RFC 1122 를 보라) :

검사된 패킷이 ICMP 에러메세지이거나나 알수 없는 ICMP 형태인 경우
검사된 패킷이 헤더가 없는 분절인 경우
너무 많은 ICMP 에러 메세지를 그 목적지로 보낸 경우.
REJECT 는 '--reject-with'라는 옵션을 가지는데 이것은 사용할 응답 패킷을 변경한다. 자세한 것은 메뉴얼 페이지를 보라.

^^;;