iptables的基礎知識-iptables中的ICMP
iptables的基礎知識-iptables中的ICMP:
在iptables看來,只有四種ICMP分組,以下分組類型可以被歸為NEW、ESTABLISHED
ECHO請求(ping,8)和ECHO應答(ping,0)
時間戳請求(13)和應答(14)
信息請求(15)和應答(16)
地址掩碼請求(17)和應答(18)
這些ICMP分組類型中,請求分組屬于NEW,應答分組屬于ESTABLISHED。而其它類型的ICMP分組不基于請求/應答方式,一律被歸入RELATED。
我們先看一個簡單的iptables例子:
- iptables -A OUTPUT -p icmp -m state --state NEW,ESTABLISHED, RELATED -j ACCEPT
- iptables -A INPUT -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT
這鏈條規(guī)則進行如下的iptables過濾:
一個ICMP echo請求是一個NEW連接。因此,允許ICMP echo請求通過OUTPUT鏈。
當請求的應答返回,由于iptables兩個方向上都發(fā)包了,此時連接的狀態(tài)是ESTABLISED,因此允許通過INPUT鏈。而INPUT鏈沒有NEW狀態(tài),因此不允許echo請求通過INPUT鏈。也就是說,這兩條規(guī)則允許內(nèi)部主機ping外部主機,而不允許外部主機ping內(nèi)部主機。
一個重定向ICMP(5)分組不是基于請求/應答方式的,因此屬于RELATED。INPUT和OUTPUT鏈都允許RELATED狀態(tài)的連接,因此重定向(5)分組可以通過INPUT和OUTPUT鏈。
上一節(jié):iptables中TCP三次握手 下一節(jié):iptables中包的轉(zhuǎn)發(fā)過程。
【編輯推薦】