-A INPUT -j REJECT --reject-with icmp-host-prohibited Iptables 行到底做什么?

-A INPUT -j REJECT --reject-with icmp-host-prohibited Iptables 行到底做什么?

我一直在阅读 RedHatiptables文档,但无法弄清楚以下行的作用:

... -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,则会导致 DROP 而不是 REJECT

相关内容