2021-05-12 14:32:11
Linux iptables:規則原理和基礎
什麼是iptables?
--------------------------------------------------------------------------------
iptables是Linux下功能強大的應用層防火牆工具,但了解其規則原理和基礎後,設定起來也非常簡單。
什麼是Netfilter?
--------------------------------------------------------------------------------
說到iptables必然提到Netfilter,iptables是應用層的,其實質是一個定義規則的設定工具,而核心的封包攔截和轉發是Netfiler。
Netfilter是Linux作業系統核心層內部的一個封包處理模組。
iptables和Netfilter關係圖:
在這張圖可以看出,Netfilter作用於網路層,封包通過網路層會經過Netfilter的五個掛載點(Hook point):PRE_ROUTING、INPUT、OUTPUT、FORWARD、POST_ROUTING。
任何一個封包,只要經過本機,必將經過這五個掛載點的其中一個。
iptables規則原理
--------------------------------------------------------------------------------
iptables的規則組成,又被稱為四表五鏈:
四張表 + 五個掛載點 + 規則<br><br>四張表:filter表、nat表、mangle表、raw表<br><br>五個掛載點:PRE_ROUTING、INPUT、OUTPUT、FORWARD、POST_ROUTING
具體來說,就是iptables每一條允許/拒絕或轉發等規則必須選擇一個掛載點,關聯一張表。
規則代表了對封包的具體操作,掛載點代表了操作的位置,表代表了作用的目的。
iptables的四張表
--------------------------------------------------------------------------------
現在用的比較多的表是前兩個:
1、filter 用於過濾;
2、nat 用於地址轉換;
3、mangle 修改封包;
4、raw 一般是為了不再讓iptables做封包的連結跟蹤處理,跳過其他表,提高效能;
封包在規則表、掛載點的匹配流程圖
--------------------------------------------------------------------------------
以下這張圖是封包經過掛載點的流程圖,在每個掛載點可以看到有哪些表可以用於定義規則:
對於filter表一般只能做在3個鏈上:INPUT、FORWARD、OUTPUT;
對於nat表一般也只能做在3個鏈上:PREROUTING、OUTPUT、POSTROUTING。
--------------------------------------分割線 --------------------------------------
CentOS 7.0關閉預設防火牆啟用iptables防火牆 http://www.linuxidc.com/Linux/2015-05/117473.htm
iptables使用範例詳解 http://www.linuxidc.com/Linux/2014-03/99159.htm
Linux防火牆iptables詳細教學 http://www.linuxidc.com/Linux/2013-07/87045.htm
iptables的備份、恢復及防火牆指令碼的基本使用 http://www.linuxidc.com/Linux/2013-08/88535.htm
Linux下防火牆iptables用法規則詳解 http://www.linuxidc.com/Linux/2012-08/67952.htm
--------------------------------------分割線 --------------------------------------
本文永久更新連結地址:http://www.linuxidc.com/Linux/2015-06/118660.htm
相關文章