RedHat 문서를 읽었지만 iptables
다음 줄의 기능을 알 수 없습니다.
... -j REJECT --reject-with icmp-host-prohibited
답변1
대상이 REJECT
패킷을 거부했습니다. 거부할 ICMP 메시지를 지정하지 않으면 서버는 기본적으로 연결할 수 없는 ICMP 포트(유형 3, 코드 3)를 다시 보냅니다.
--reject-with
특정 ICMP 메시지를 원본 호스트로 다시 보내려면 이 동작을 수정하세요. 거부 메시지 --reject-with
및 사용 가능한 거부 메시지 에 대한 정보는 다음에서 확인할 수 있습니다.man iptables
:
거부하다
일치하는 패킷에 대한 응답으로 오류 패킷을 다시 보내는 데 사용됩니다. 그렇지 않으면 DROP과 동일하므로 TARGET 종료, 규칙 통과 종료입니다. 이 대상은 INPUT, FORWARD 및 OUTPUT 체인 내에서만 유효하며 이러한 체인에서만 호출되는 사용자 정의 체인입니다. 다음 옵션은 반환되는 오류 패킷의 특성을 제어합니다.
--reject-with type
주어진 유형은 다음과 같습니다:
- ICMP 네트워크에 연결할 수 없습니다
- ICMP 호스트에 연결할 수 없습니다
- ICMP 포트에 연결할 수 없습니다
- ICMP 프로토콜에 연결할 수 없습니다
- ICMP 네트워크 금지
- ICMP 호스트가 금지되었거나
- icmp 관리 금지(*)
적절한 ICMP 오류 메시지를 반환합니다(기본값은 포트에 연결할 수 없음). tcp-reset 옵션은 TCP 프로토콜과만 일치하는 규칙에 사용할 수 있습니다. 이렇게 하면 TCP RST 패킷이 다시 전송됩니다. 이는 손상된 메일 호스트에 메일을 보낼 때 자주 발생하는 ident(113/tcp) 프로브를 방지하는 데 주로 사용됩니다(그렇지 않으면 메일이 허용되지 않습니다).
(*) 커널이 icmp-admin-prohibited를 지원하지 않으면 REJECT 대신 DROP이 발생합니다.