日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

Linux系統(tǒng)Iptables規(guī)則執(zhí)行順序詳解

【Linux系統(tǒng)Iptables規(guī)則執(zhí)行順序詳解】預(yù)備知識(轉(zhuǎn)): iptable有三種隊(duì)列(表)規(guī)則 , mangle queue , filter queue , nat queue 。
1 。The first is the mangle table which is responsible for the alteration of quality of service bits in the TCP header.
2 。The second table is the filter queue which is responsible for packet filtering.
* Forward chain: Filters packets to servers protected by the firewall.
* Input chain: Filters packets destined for the firewall.
* Output chain: Filters packets originating from the firewall.
3 。The third table is the nat queue which is responsible for network address translation. It has two built-in chains; these are:
* Pre-routing chain: NATs packets when the destination address of the packet needs to be changed.
* Post-routing chain: NATs packets when the source address of the packet needs to be changed
個人總結(jié):
iptables執(zhí)行規(guī)則時 , 是從從規(guī)則表中從上至下順序執(zhí)行的 , 如果沒遇到匹配的規(guī)則 , 就一條一條往下執(zhí)行 , 如果遇到匹配的規(guī)則后 , 那么就執(zhí)行本規(guī)則 , 執(zhí)行后根據(jù)本規(guī)則的動作(accept, reject, log等) , 決定下一步執(zhí)行的情況 , 后續(xù)執(zhí)行一般有三種情況 。
1 。一種是繼續(xù)執(zhí)行當(dāng)前規(guī)則隊(duì)列內(nèi)的下一條規(guī)則 。比如執(zhí)行過Filter隊(duì)列內(nèi)的LOG后 , 還會執(zhí)行Filter隊(duì)列內(nèi)的下一條規(guī)則 。
2 。一種是中止當(dāng)前規(guī)則隊(duì)列的執(zhí)行 , 轉(zhuǎn)到下一條規(guī)則隊(duì)列 。比如從執(zhí)行過accept后就中斷Filter隊(duì)列內(nèi)其它規(guī)則 , 跳到nat隊(duì)列規(guī)則去執(zhí)行
3 。一種是中止所有規(guī)則隊(duì)列的執(zhí)行 。
iptables 是采用規(guī)則堆棧的方式來進(jìn)行過濾 , 當(dāng)一個封包進(jìn)入網(wǎng)卡 , 會先檢查 Prerouting , 然后檢查目的 IP 判斷是否需要轉(zhuǎn)送出去 , 接著就會跳到 INPUT 或 Forward 進(jìn)行過濾 , 如果封包需轉(zhuǎn)送處理則檢查 Postrouting , 如果是來自本機(jī)封包 , 則檢查 OUTPUT 以及 Postrouting 。過程中如果符合某條規(guī)則將會進(jìn)行處理 , 處理動作除了 ACCEPT、REJECT、DROP、REDIRECT 和 MASQUERADE 以外 , 還多出 LOG、ULOG、DNAT、SNAT、MIRROR、QUEUE、RETURN、TOS、TTL、MARK 等 , 其中某些處理動作不會中斷過濾程序 , 某些處理動作則會中斷同一規(guī)則煉的過濾 , 并依照前述流程繼續(xù)進(jìn)行下一個規(guī)則煉的過濾(注意:這一點(diǎn)與 ipchains 不同) , 一直到堆棧中的規(guī)則檢查完畢為止 。透過這種機(jī)制所帶來的好處是 , 我們可以進(jìn)行復(fù)雜、多重的封包過濾 , 簡單的說 , iptables 可以進(jìn)行縱橫交錯式的過濾(tables)而非煉狀過濾(chains) 。
ACCEPT 將封包放行 , 進(jìn)行完此處理動作后 , 將不再比對其它規(guī)則 , 直接跳往下一個規(guī)則煉(nat:postrouting) 。
REJECT 攔阻該封包 , 并傳送封包通知對方 , 可以傳送的封包有幾個選擇:ICMP port-unreachable、ICMP echo-reply 或是 tcp-reset(這個封包會要求對方關(guān)閉聯(lián)機(jī)) , 進(jìn)行完此處理動作后 , 將不再比對其它規(guī)則 , 直接 中斷過濾程序 。范例如下:
iptables -A FORWARD -p TCP ――dport 22 -j REJECT ――reject-with tcp-reset
DROP 丟棄封包不予處理 , 進(jìn)行完此處理動作后 , 將不再比對其它規(guī)則 , 直接中斷過濾程序 。
REDIRECT 將封包重新導(dǎo)向到另一個端口(PNAT) , 進(jìn)行完此處理動作后 , 將 會繼續(xù)比對其它規(guī)則 。這個功能可以用來實(shí)作通透式 porxy 或用來保護(hù) web 服務(wù)器 。例如:iptables -t nat -A PREROUTING -p tcp ――dport 80 -j REDIRECT ――to-ports 8080
MASQUERADE 改寫封包來源 IP 為防火墻 NIC IP , 可以指定 port 對應(yīng)的范圍 , 進(jìn)行完此處理動作后 , 直接跳往下一個規(guī)則煉(mangle:postrouting) 。這個功能與 SNAT 略有不同 , 當(dāng)進(jìn)行 IP 偽裝時 , 不需指定要偽裝成哪個 IP , IP 會從網(wǎng)卡直接讀取 , 當(dāng)使用撥接連線時 , IP 通常是由 ISP 公司的 DHCP 服務(wù)器指派的 , 這個時候 MASQUERADE 特別有用 。范例如下:

推薦閱讀