iptables概述 iptables詳解--轉
【參考文章】:iptables詳解-朱雙印個人日誌
【參考文章】:linux iptables詳解--個人筆記
【參考文章】:iptables詳解--轉
1. 基本概念
Linux真正的防火牆安全框架是 netfilter ,它位於Linux的核心空間。
iptables本質是一個命令列工具,位於使用者空間,它相當於一個代理,將使用者的安全設定執行到對應的安全框架 netfilter 中。
2. 工作方式
iiptables的工作方式是根據配置的規則去處理資料包。規則儲存在核心空間的資訊包過濾表中,規則裡面包括了源地址,源埠,目的地址,目的埠,傳輸協議,應用層協議等。當資料包與規則匹配時,iptables就根據規則處理資料包,如放行(accept),拒絕(reject)和丟棄(drop)等。配置防火牆的主要方式就是新增,修改,刪除這些規則。
3. 資料包經過防火牆的流程
1、當主機收到一個數據包後,資料包先在核心空間中處理,若發現目的地址是自身,則傳到使用者空間中交給對應的應用程式處理;若發現目的不是自身,則會將包丟棄或進行轉發。
2、iptables實現防火牆功能的原理是:在資料包經過核心的過程中有五處關鍵地方,分別是 PREROUTING、INPUT、OUTPUT、FORWARD、POSTROUTING,稱為鉤子函式,iptables可以在這5處地方寫規則,對經過的資料包進行處理,規則一般的定義為 “如果資料包頭符合這樣的條件,就這樣處理資料包”。
3、iptables中定義有5條鏈,說白了就是上面說的5個鉤子函式,因為每個鉤子函式中可以定義多條規則,每當資料包到達一個鉤子函式時,iptables就會從鉤子函式中第一條規則開始檢查,看該資料包是否滿足規則所定義的條件。如果滿足,系統就會根據該條規則所定義的方法處理該資料包;否則iptables將繼續檢查下一條規則,如果該資料包不符合鉤子函式中任一條規則,iptables就會根據該函式預先定義的預設策略來處理資料包
4、iptables中定義有表,分別表示提供的功能,有filter表(實現包過濾)、nat表(實現網路地址轉換)、mangle表(實現包修改)、raw表(實現資料跟蹤),這些表具有一定的優先順序:raw-->mangle-->nat-->filter
4. iptables規則
基本語法:iptables [-t 表] [操作命令] [鏈] [規則匹配器] [-j 目標動作]
5. iptables常用命令
5.1 服務相關
service iptables start // 啟動
service iptables restart // 重啟
service iptables stop // 關閉
5.2 規則儲存設定
iptables -L -n // 檢視當前規則
/etc/init.d/iptables save // 儲存規則到 /etc/sysconfig/iptables
iptables-save > 檔案路徑 // 儲存規則到指定檔案
iptables-resotre < 檔案路徑 // 從指定檔案載入規則
service iptables save // 儲存規則