iptables介紹(偷了個懶,復(fù)制)

iptables簡介

netfilter/iptables(簡稱為iptables)組成Linux平臺下的包過濾防火墻,與大多數(shù)的Linux軟件一樣,這個包過濾防火墻是免費的,它可以代替昂貴的商業(yè)防火墻解決方案,完成封包過濾、封包重定向和網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)等功能。

iptables基礎(chǔ)

規(guī)則(rules)其實就是網(wǎng)絡(luò)管理員預(yù)定義的條件,規(guī)則一般的定義為“如果數(shù)據(jù)包頭符合這樣的條件,就這樣處理這個數(shù)據(jù)包”。規(guī)則存儲在內(nèi)核空間的信息 包過濾表中,這些規(guī)則分別指定了源地址、目的地址、傳輸協(xié)議(如TCP、UDP、ICMP)和服務(wù)類型(如HTTP、FTP和SMTP)等。當數(shù)據(jù)包與規(guī) 則匹配時,iptables就根據(jù)規(guī)則所定義的方法來處理這些數(shù)據(jù)包,如放行(accept)、拒絕(reject)和丟棄(drop)等。配置防火墻的 主要工作就是添加、修改和刪除這些規(guī)則。

iptables和netfilter的關(guān)系:

這是第一個要說的地方,Iptables和netfilter的關(guān)系是一個很容易讓人搞不清的問題。很多的知道iptables卻不知道netfilter。其實iptables只是Linux防火墻的管理工具而已,位于/sbin/iptables。真正實現(xiàn)防火墻功能的是netfilter,它是Linux內(nèi)核中實現(xiàn)包過濾的內(nèi)部結(jié)構(gòu)。

iptables的規(guī)則表和鏈:

表(tables)提供特定的功能,iptables內(nèi)置了4個表,即filter表、nat表、mangle表和raw表,分別用于實現(xiàn)包過濾,網(wǎng)絡(luò)地址轉(zhuǎn)換、包重構(gòu)(修改)和數(shù)據(jù)跟蹤處理。

鏈(chains)是數(shù)據(jù)包傳播的路徑,每一條鏈其實就是眾多規(guī)則中的一個檢查清單,每一條鏈中可以有一 條或數(shù)條規(guī)則。當一個數(shù)據(jù)包到達一個鏈時,iptables就會從鏈中第一條規(guī)則開始檢查,看該數(shù)據(jù)包是否滿足規(guī)則所定義的條件。如果滿足,系統(tǒng)就會根據(jù) 該條規(guī)則所定義的方法處理該數(shù)據(jù)包;否則iptables將繼續(xù)檢查下一條規(guī)則,如果該數(shù)據(jù)包不符合鏈中任一條規(guī)則,iptables就會根據(jù)該鏈預(yù)先定 義的默認策略來處理數(shù)據(jù)包。

規(guī)則表:

1.filter表——三個鏈:INPUT、FORWARD、OUTPUT

作用:過濾數(shù)據(jù)包內(nèi)核模塊:iptables_filter.

2.Nat表——三個鏈:PREROUTING、POSTROUTING、OUTPUT

作用:用于網(wǎng)絡(luò)地址轉(zhuǎn)換(IP、端口) 內(nèi)核模塊:iptable_nat

3.Mangle表——五個鏈:PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD

作用:修改數(shù)據(jù)包的服務(wù)類型、TTL(生存時間)、并且可以配置路由實現(xiàn)QOS(服務(wù)質(zhì)量)內(nèi)核模塊:iptable_mangle(別看這個表這么麻煩,咱們設(shè)置策略時幾乎都不會用到它)

4.Raw表——兩個鏈:OUTPUT、PREROUTING

作用:決定數(shù)據(jù)包是否被狀態(tài)跟蹤機制處理內(nèi)核模塊:iptable_raw

(這個是REHL4沒有的,不過不用怕,用的不多)

規(guī)則鏈:1.INPUT——進來的數(shù)據(jù)包應(yīng)用此規(guī)則鏈中的策略

2.OUTPUT——外出的數(shù)據(jù)包應(yīng)用此規(guī)則鏈中的策略

3.FORWARD——轉(zhuǎn)發(fā)數(shù)據(jù)包時應(yīng)用此規(guī)則鏈中的策略

4.PREROUTING——對數(shù)據(jù)包作路由選擇前應(yīng)用此鏈中的規(guī)則

(記??!所有的數(shù)據(jù)包進來的時侯都先由這個鏈處理)

5.POSTROUTING——對數(shù)據(jù)包作路由選擇后應(yīng)用此鏈中的規(guī)則

(所有的數(shù)據(jù)包出來的時侯都先由這個鏈處理)

規(guī)則表之間的優(yōu)先順序:

Raw——mangle——nat——filter

規(guī)則鏈之間的優(yōu)先順序(分三種情況)

第一種情況:入站數(shù)據(jù)流向

從外界到達防火墻的數(shù)據(jù)包,先被PREROUTING規(guī)則鏈處理(是否修改數(shù)據(jù)包地址等),之后會進行路由選擇(判斷該數(shù)據(jù)包應(yīng)該發(fā)往何處),如果數(shù)據(jù)包 的目標主機是防火墻本機(比如說Internet用戶訪問防火墻主機中的web服務(wù)器的數(shù)據(jù)包),那么內(nèi)核將其傳給INPUT鏈進行處理(決定是否允許通 過等),通過以后再交給系統(tǒng)上層的應(yīng)用程序(比如Apache服務(wù)器)進行響應(yīng)。

第二沖情況:轉(zhuǎn)發(fā)數(shù)據(jù)流向

來自外界的數(shù)據(jù)包到達防火墻后,首先被PREROUTING規(guī)則鏈處理,之后會進行路由選擇,如果數(shù)據(jù)包的目標地址是其它外部地址(比如局域網(wǎng)用戶通過網(wǎng) 關(guān)訪問QQ站點的數(shù)據(jù)包),則內(nèi)核將其傳遞給FORWARD鏈進行處理(是否轉(zhuǎn)發(fā)或攔截),然后再交給POSTROUTING規(guī)則鏈(是否修改數(shù)據(jù)包的地 址等)進行處理。

第三種情況:出站數(shù)據(jù)流向

防火墻本機向外部地址發(fā)送的數(shù)據(jù)包(比如在防火墻主機中測試公網(wǎng)DNS服務(wù)器時),首先被OUTPUT規(guī)則鏈處理,之后進行路由選擇,然后傳遞給POSTROUTING規(guī)則鏈(是否修改數(shù)據(jù)包的地址等)進行處理。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • iptables詳解 iptables簡介 netfilter/iptables(簡稱為iptables)組成Li...
    jony456123閱讀 577評論 0 0
  • iptables簡介 netfilter/iptables(簡稱為iptables)組成Linux平臺下的包過濾防...
    yshenhn閱讀 113,754評論 2 78
  • iptabels是與Linux內(nèi)核集成的包過濾防火墻系統(tǒng),幾乎所有的linux發(fā)行版本都會包含iptables的功...
    隨風化作雨閱讀 4,975評論 1 16
  • 目前市面上比較常見的有3、4層的防火墻,叫網(wǎng)絡(luò)層的防火墻,還有7層的防火墻,其實是代理層的網(wǎng)關(guān)。 三層的防火墻會在...
    輝耀輝耀閱讀 2,793評論 0 2
  • 快五點醒來就是不想起床,賴到六點起來站樁。一開始一邊聽著引導(dǎo)語做放松,時不時能感覺到腦子想別的事情了,回過神來繼續(xù)...
    閔靜閱讀 315評論 0 1

友情鏈接更多精彩內(nèi)容