1.簡介
iptables是基于軟件的形式實現的一種防火墻程序
Firewall:工作在主機或網絡邊緣,對進出的報文俺實現定義的規則進行處理的一組硬件或軟件的組合,設置可能是兩者的組合
主機防火墻:工作在主機邊緣,只能對一臺主機起到保護的作用
網絡防火墻:工作于網絡邊緣,可以對多臺主機起到保護的作用
iptables/netfilter:基于網絡層的防火墻,用于連接追蹤和狀態檢測,其中iptales是防火墻規則的編寫工具,工作在用戶空間中。而netfilter則是一個網絡過濾器,是一個框架,工作在內核空間中。
2.iptables的表和鏈
iptables有四表和五鏈,他們分別是
四表:filter net mangle raw
五鏈:PREROUTING INPUT FORWARD OUTPUT POSTROUTING
表和鏈的對應關系:
filter INPUT FORWARD OUTPUT
nat PREROUTING OUTPUT POSTROUTING
mangle PREROUTING INPUT FORWARD OUTPUT POSTOUTING
raw:
表的優先級:raw mangle net filter
建議:將控制強的規則放在前面,應用訪問頻繁的也要放在前面
3.iptables的格式
檢查條件,處理機制
通:白名單,默認為堵,只對能識別的進行放行
堵:黑名單,默認為通,只對能識別的進行攔截
4.處理機制分為:
DROP(丟棄)
REJECT(直接拒絕)
ACCEPT(允許)
SNAT(源地址轉換)
DNAT(目標地址轉換)
RETURN(由自定義的鏈返回主鏈)
LOG(只記錄日志)
5.如何寫規則,filter表可以省略不寫
創建一條自定義的空規則鏈
iptables [-t table] -N chain
清除一條自定義的空規則鏈
iptables [-t table] -N chain
修改自定義鏈的名稱
iptables [-t table] -E old-chain-name new-chain-name
為鏈指定默認的策略,修改默認的屬性
iptables [-t table] -P chain-name target
清空鏈中的規則
iptables [-t table] -F chain-name
插入規則:
iptables [-t table] -I chain[rulenum] rule-specifiction
替換指定的規則:
iptables [-t table] -R chain rulenum rule-specifiction
刪除指定的規則:
iptables [-t table] -D chain rulenum
直顯示指定臉上的規則添加命令:
iptables [-t table] -S [chain [rulenum]]
顯示表中的所有規則
iptables [-t table] -L options
-n:數字格式顯示ip和port
-v:顯示詳細信息,顯示的格式如下
pkts:packets 被本規則所有匹配到的報文個數
下一篇:Linux用戶管理