Dav*_*vid 40 linux networking iptables icmp
我一直在阅读 redhat iptables 文档,但无法弄清楚以下几行的作用:
... -j REJECT **--reject-with icmp-host-prohibited**
... -j REJECT **--reject-with icmp-host-prohibited**
Run Code Online (Sandbox Code Playgroud)
Chr*_*own 44
在REJECT目标拒绝数据包。如果您没有指定要拒绝的 ICMP 消息,默认情况下服务器将发回 ICMP 端口不可达(类型 3,代码 3)。
--reject-with修改此行为以将特定 ICMP 消息发送回源主机。您可以在以下位置找到有关--reject-with和可用拒绝消息的信息man iptables:
拒绝
这用于响应匹配的数据包发送回错误数据包:否则它相当于 DROP 所以它是一个终止 TARGET,结束规则遍历。此目标仅在 INPUT、FORWARD 和 OUTPUT 链以及仅从这些链调用的用户定义链中有效。以下选项控制返回的错误数据包的性质:
Run Code Online (Sandbox Code Playgroud)--reject-with type给定的类型可以是:
- icmp-net-unreachable
- icmp-host-unreachable
- icmp 端口不可达
- icmp-proto-unreachable
- icmp-net-禁止
- icmp-host-prohibited 或
- icmp-admin-禁止 (*)
它返回适当的 ICMP 错误消息(端口不可达是默认值)。选项 tcp-reset 可用于仅匹配 TCP 协议的规则:这会导致发回 TCP RST 数据包。这主要用于阻止将邮件发送到损坏的邮件主机(否则将不会接受您的邮件)时经常发生的 ident (113/tcp) 探测。
(*) 对不支持它的内核使用 icmp-admin-prohibited 将导致简单的 DROP 而不是 REJECT