¿Qué hace -A INPUT -j RECHAZO --reject-with icmp-host-prohibida línea Iptables hace exactamente?

35

He estado leyendo la documentación de redhat iptables pero no puedo entender qué hacen las siguientes líneas:

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

Respuestas:

37

El REJECTobjetivo rechaza el paquete. Si no especifica con qué mensaje ICMP rechazar, el servidor enviará por defecto el puerto ICMP inalcanzable (tipo 3, código 3).

--reject-withmodifica este comportamiento para enviar un mensaje ICMP específico al host de origen. Puede encontrar información --reject-withy los mensajes de rechazo disponibles en man iptables:

RECHAZAR

Esto se utiliza para devolver un paquete de error en respuesta al paquete coincidente: de lo contrario, es equivalente a DROP, por lo que es un OBJETIVO de finalización, que finaliza el recorrido de la regla. Este objetivo solo es válido en las cadenas INPUT, FORWARD y OUTPUT, y en las cadenas definidas por el usuario que solo se llaman desde esas cadenas. La siguiente opción controla la naturaleza del paquete de error devuelto:

--reject-with type

El tipo dado puede ser:

  • icmp-net-inalcanzable
  • icmp-host-inalcanzable
  • icmp-port-inalcanzable
  • icmp-proto-inalcanzable
  • icmp-net-prohibido
  • icmp-host-prohibido o
  • icmp-admin-prohibido (*)

que devuelven el mensaje de error ICMP apropiado (el puerto no accesible es el predeterminado). La opción tcp-reset se puede usar en reglas que solo coinciden con el protocolo TCP: esto hace que se envíe un paquete TCP RST. Esto es principalmente útil para bloquear las sondas de identificación (113 / tcp) que ocurren con frecuencia cuando se envía correo a servidores de correo defectuosos (que de otro modo no aceptarán su correo).

(*) El uso de icmp-admin-prohibido con núcleos que no lo admitan resultará en una GOTA simple en lugar de RECHAZAR

Chris Down
fuente