[unix] icmp-host로 금지 된 iptables 라인을 사용하여 입력 한 -j 거부-거절을 정확히 수행하는 것은 무엇입니까?

나는 redhat iptables 문서를 읽었지만 다음 줄이 무엇을하는지 알 수 없습니다.

... -j REJECT **--reject-with icmp-host-prohibited**
... -j REJECT **--reject-with icmp-host-prohibited**



답변

REJECT대상 패킷을 거부한다. 거부 할 ICMP 메시지를 지정하지 않으면 서버는 기본적으로 ICMP 포트에 연결할 수 없습니다 (유형 3, 코드 3).

--reject-with특정 ICMP 메시지를 소스 호스트로 다시 보내도록이 동작을 수정합니다. 다음에서 정보 --reject-with및 사용 가능한 거부 메시지를 찾을 수 있습니다 man iptables.

받지 않다

이는 일치하는 패킷에 대한 응답으로 오류 패킷을 다시 보내는 데 사용됩니다. 그렇지 않으면 DROP과 동일하므로 종료 규칙 통과 인 종료 TARGET입니다. 이 대상은 INPUT, FORWARD 및 OUTPUT 체인 및 해당 체인에서만 호출되는 사용자 정의 체인에서만 유효합니다. 다음 옵션은 반환 된 오류 패킷의 특성을 제어합니다.

--reject-with type

주어진 유형은 다음과 같습니다.

  • icmp-net-unreachable
  • icmp-host-unreachable
  • ICMP 포트에 연결할 수 없음
  • icmp-proto-reachable
  • icmp-net 금지
  • icmp-host 금지 또는
  • icmp 관리자 금지 (*)

적절한 ICMP 오류 메시지를 반환합니다 (포트에 연결할 수 없음이 기본값 임). tcp-reset 옵션은 TCP 프로토콜과 만 일치하는 규칙에 사용할 수 있습니다. 이렇게하면 TCP RST 패킷이 다시 전송됩니다. 이것은 주로 손상된 메일 호스트에 메일을 보낼 때 자주 발생하는 ID (113 / tcp) 프로브를 차단하는 데 유용합니다 (그렇지 않으면 메일을 수락하지 않음).

(*) 지원하지 않는 커널에서 icmp-admin-prohibited를 사용하면 REJECT 대신 일반 DROP이 발생합니다.


답변