天天看點

iptables 表和鍊的對應關系

filter表

主要用于對資料包進行過濾,根據具體的規則決定是否放行該資料包(如DROP、ACCEPT、REJECT、LOG)。filter 表對應的核心子產品為iptable_filter,包含三個規則鍊:

INPUT鍊:INPUT針對那些目的地是本地的包;

FORWARD鍊:FORWARD過濾所有不是本地産生的并且目的地不是本地(即本機隻是負責轉發)的包;

OUTPUT鍊:OUTPUT是用來過濾所有本地生成的包;

nat表

主要用于修改資料包的IP位址、端口号等資訊(網絡位址轉換,如SNAT、DNAT、MASQUERADE、REDIRECT)。屬于一個流的包(因為包 的大小限制導緻資料可能會被分成多個資料包)隻會經過這個表一次。如果第一個包被允許做NAT或Masqueraded,那麼餘下的包都會自動地被做相同的操作,也就是說,餘下的包不會再通過這個表。表對應的核心子產品為 iptable_nat,包含三個鍊:

PREROUTING鍊:作用是在包剛剛到達防火牆時改變它的目的位址;

OUTPUT鍊:改變本地産生的包的目的位址;

POSTROUTING鍊:在包就要離開防火牆之前改變其源位址;

(centos7中還有INPUT,centos6中沒有)

mangle表

主要用于修改資料包的TOS(Type Of Service,服務類型)、TTL(Time To Live,生存周期)指以及為資料包設定Mark标記,以實作Qos(Quality Of Service,服務品質)調整以及政策路由等應用,由于需要相應的路由裝置支援,是以應用并不廣泛。

包含五個規則鍊:PREROUTING,POSTROUTING,INPUT,OUTPUT,FORWARD。

raw表

是自1.2.9以後版本的iptables新增的表,主要用于決定資料包是否被狀态跟蹤機制處理。在比對資料包時,raw表的規則要優先于其他表。

包含兩條規則鍊——OUTPUT、PREROUTING

iptables 表和鍊的對應關系

繼續閱讀