iptables ACCEPT DROP REJECT 說明
1、ACCEPT
一旦包滿足了指定的匹配條件,就會被 ACCEPT,並且不會再去匹配當前鏈中的其他規則或同一個表內的其他規則,但它還要通過其他表中的鏈。
2、DROP
如果包符合條件,這個 target 就會把它丟掉,也就是說包的生命到此結束,不會再向前走一步,效果就是包被阻塞了。
在某些情況下,這個 target 會引起意外的結果,因為它不會向發送者返回任何信息,也不會向路由器返回信息,這就可能會使連接的另一方的 sockets 因苦等回音而亡。
解決這個問題的較好的辦法是使用REJECT(因為它在丟棄包的同時還會向發送者返回一個錯誤信息,這樣另一方就能正常結束),尤其是在阻止端口掃描工具獲得更多的信息時,可以隱蔽被過濾掉的端口等等(因為掃描工具掃描一個端口時,如果沒有返回信息,一般會認為端口未打開或被防火牆等設備過濾掉了)。
還要注意如果包在子鏈中被 DROP 了,那么它在主鏈里也不會再繼續前進,不管是在當前的表還是在其他表里。
3、REJECT
REJECT 和 DROP 基本一樣,區別在於它除了阻塞包之外,還向發送者返回錯誤信息。
現在,此target還只能用在 INPUT、FORWARD、OUTPUT 和它們的子鏈里,而且包含 REJECT 的鏈也只能被它們調用,否則不能發揮作用。
它只有一個選項,是用來控制返回的錯誤信息的種類的。