iptables에서 패킷을 REJECT로 처리할 때, 해당 패킷이 단순히 차단되는 것이 아니라 송신자에게 거부 응답이 전송됩니다. 이 거부 응답은 프로토콜에 따라 다르며, 각기 다른 형태로 나타납니다. 다음은 프로토콜별로 REJECT 액션을 적용했을 때 발생하는 응답의 유형을 정리한 것입니다:
REJECT로 차단되면, 송신자에게 TCP RST 패킷이 전송됩니다. TCP RST 패킷을 수신한 송신자는 해당 연결이 즉시 종료되었음을 인식하고 더 이상 연결을 시도하지 않습니다.REJECT로 차단되면, 송신자에게 ICMP Port Unreachable 패킷이 전송됩니다. 이는 해당 포트로의 접근이 불가능하다는 것을 의미합니다.REJECT로 차단되면, 송신자에게 ICMP Destination Unreachable 패킷이 전송됩니다. 이는 목적지에 도달할 수 없다는 응답입니다.REJECT 규칙을 적용하면, 기본적으로 ICMP Protocol Unreachable 패킷이 전송됩니다. 이는 해당 프로토콜을 처리할 수 없다는 의미입니다.REJECT 액션에 추가적으로 --reject-with 옵션을 사용하여 사용자 지정 거부 응답을 설정할 수 있습니다. 예를 들어, --reject-with tcp-reset 또는 --reject-with icmp-host-prohibited와 같은 형태로 응답 유형을 명시적으로 지정할 수 있습니다.icmp-net-unreachableicmp-host-unreachableicmp-port-unreachableicmp-admin-prohibited이처럼 iptables의 REJECT 액션은 단순히 패킷을 드롭하는 것과 달리, 송신자에게 명시적인 거부 응답을 전송하여 패킷이 차단되었음을 알립니다. 이를 통해 송신자는 해당 요청이 차단되었음을 즉시 알 수 있습니다.