Linux
-A INPUT -j REJECT –reject-with icmp-host-prohibited Iptables 行究竟做了什麼?
我一直在閱讀 redhat iptables 文件,但無法弄清楚以下幾行的作用:
... -j REJECT **--reject-with icmp-host-prohibited** ... -j REJECT **--reject-with icmp-host-prohibited**
REJECT
目標拒絕數據包。如果您不指定要拒絕哪個 ICMP 消息,則預設情況下伺服器將發回 ICMP 埠不可達(類型 3,程式碼 3)。
--reject-with
修改此行為以將特定的 ICMP 消息發送回源主機。您可以在以下位置找到有關--reject-with
和可用拒絕消息的資訊man iptables
:拒絕
這用於返回一個錯誤包以響應匹配的數據包:否則它相當於 DROP,因此它是一個終止 TARGET,結束規則遍歷。此目標僅在 INPUT、FORWARD 和 OUTPUT 鏈以及僅從這些鏈呼叫的使用者定義鏈中有效。以下選項控制返回的錯誤數據包的性質:
--reject-with type
給出的類型可以是:
- icmp-net-無法訪問
- icmp 主機無法訪問
- icmp 埠無法訪問
- icmp-proto-無法訪問
- icmp-net-禁止
- icmp-host-prohibited 或
- icmp-admin-禁止 (*)
它返回適當的 ICMP 錯誤消息(埠不可達是預設值)。選項 tcp-reset 可用於僅匹配 TCP 協議的規則:這會導致發回 TCP RST 數據包。這主要用於阻止在向損壞的郵件主機發送郵件時經常發生的 ident (113/tcp) 探測(否則將不接受您的郵件)。
(*) 對不支持它的核心使用 icmp-admin-prohibited 將導致一個普通的 DROP 而不是 REJECT