Iptables(1) - 基礎概念
阿新 • • 發佈:2018-07-16
組成 自定義 用戶空間 input 啟用 命令 code 匹配 filter 一、Iptables
iptables是防火墻, 它是Netfilter框架的實現, 在報文流經的五個位置設置鉤子函數(hook function)對報文進行檢查並做出相應處理.
防火墻工作於主機或網絡的邊界, 對於進出本主機或網絡的報文根據事先定義好的檢查規則作匹配檢查, 對於能夠被規則匹配到的報文做出相應處理. 防火墻分為主機防火墻和網絡防火墻.
iptables命令工作在用戶空間.
1.1 iptables的表
iptables根據其具有的功能劃分出四個表:
- filter: 過濾, 因過濾功能被稱為防火墻
- nat(Network Address Translation): 網絡地址轉換
- mangle: 拆解報文, 做出修改, 封裝報文
- raw: 關閉nat表上啟用的連接追蹤機制
1.2 iptables的鏈(內置)
iptables有五個鏈(鉤子函數):
- PREROUTING
- INPUT
- FORWARD
- OUTPUT
- POSTROUTING
1.2.1 流量流入
PREROUTING --> INPUT
1.2.2 流量流出
OUTPUT --> POSTROUTING
1.2.3 轉發
PREROUTING --> FORWARD POSTROUTING
1.3 各表實現的位置
- filter: INPUT, FORWARD, OUTPUT
- nat: PREROUTING(dnat), OUTPUT(snat), POSTROUTING(snat)
- mangle: PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING
- rwa: PREROUTING, OUTPUT
1.4 路由發生的位置
- 報文進入本機後, 判斷目標主機
- 報文發出前, 判斷僅有哪個接口送往下一條
1.5 iptables的四表五鏈
- 添加規則時的考量點
- 要實現哪種功能: 判斷添加在哪張表上
- 報文流經的路徑: 判斷添加在哪個鏈上
- 鏈: 鏈上規則的次序, 即為檢查的次序; 因此隱含一定的法則
- 同類規則(訪問同一應用): 匹配範圍小的放上面
- 不同類規則(訪問不同應用): 匹配到報文頻率較大的放上面
- 將那些可由一條規則表述的多個規則合並為一個
- 設置默認策略
功能優先級次序: row --> mangle --> nat --> filter
1.6 iptables的規則
iptables的規則組成部分如下:
- 報文的匹配條件: 根據協議報文特征指定匹配條件
- 基本匹配條件
- 擴展匹配條件
- 匹配到之後的處理動作
- 內建處理機制
- 自定義處理機制
NOTE: 報文不會經過自定義鏈, 只能在內置鏈上通過規則進行應用後生效.
1.7 保存及重載規則
-
保存
$ iptables-save > /PATH/TO/SOMEFILE
- 重載
$ iptables-restore < /PATH/TO/SOMEFIE
Iptables(1) - 基礎概念