這幾學習iptables,踩了一些坑,作下總結。
1、三表
(1)filter:默認表,處理本機數據包,包含input、output和forward
(2)nat:處理源或目的IP/端口轉換,包含prerouting、postrouting、output
(3)mangle:處理高級路由信息,包含prerouting、output、input、forward
2、五鏈
(1)inpput,處理要進入本機的數據包的規則
(2)output:處理由本機產生,要外發的數據包的規則
(3)forward:處理非本機的數據包的規則
(4)prerouting:處理進入netfilter后路由判斷前執行的數據包的規則
(5)postrouting,處理離開netfilter前執行的數據包的規則
3、語法參數
iptables [-t table] command [chain] [match] [-j target]
(1)table:表名,filter、nat、mangle,默認為filter
(2)command:
-A:鏈尾添加規則
-D:鏈中刪除規則,可指定行號
-R:替換規則
-L:顯示規則
-I:插入規則,可指定行號
-X:刪除自定義的規則
-F:清空所有規則或刪除指定的規則
-N:創建新命名的鏈。
-P:設置默認策略
-Z:包字節計數器清零
(3)match
通用匹配
-p:指定協議
-s:指定源地址
-d:指定目的地址
-i:指定數據包進入的網卡
-o:指定數據包出去的網卡
隱含匹配:tcp udp icmp
顯示匹配:(還在學習,后續補充)
(4)target:
ACCEPT:滿足條件的包允許通過
REJECT:滿足條件的包丟棄,且回信息給對方
DROP:滿足條件的包丟棄,不返回信息給對方
REDIRECT:轉發包到另一個端口
MASQUERADE:獲取IP地址作NAT
SNAT:源地址轉換
DNAT:目的地址轉換
(學習中,未完待續,后續補充實戰例子上來)
原創文章,作者:鴻遠,如若轉載,請注明出處:http://www.www58058.com/17878