主頁(yè) > 知識(shí)庫(kù) > Linux netfilter/iptables知識(shí)點(diǎn)詳解

Linux netfilter/iptables知識(shí)點(diǎn)詳解

熱門標(biāo)簽:檢查注冊(cè)表項(xiàng) 使用U盤裝系統(tǒng) 百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 硅谷的囚徒呼叫中心 智能手機(jī) 網(wǎng)站建設(shè) 阿里云 美圖手機(jī)

Netfilter

Netfilter是Linux內(nèi)核中的一個(gè)數(shù)據(jù)包處理模塊,它可以提供數(shù)據(jù)包的過(guò)濾、轉(zhuǎn)發(fā)、地址轉(zhuǎn)換NAT功能。Iptables是一個(gè)工具,可以用來(lái)在Netfilter中增加、修改、刪除數(shù)據(jù)包處理規(guī)則。

Netfilter是位于網(wǎng)卡和內(nèi)核協(xié)議棧之間的一堵墻,是一種免費(fèi)的軟件防火墻。

Netfilter中有三個(gè)主要的概念:規(guī)則、表、鏈,等級(jí)依次遞增。

  • 規(guī)則是對(duì)特定報(bào)文的處理說(shuō)明,包括匹配字段和action。
  • 鏈?zhǔn)且唤M規(guī)則的集合。
  • 表是鏈中相同功能的規(guī)則集合。

規(guī)則

鏈可以看作網(wǎng)卡和內(nèi)核協(xié)議棧之前的多道關(guān)卡,對(duì)于不通類型的報(bào)文,走不通的關(guān)卡進(jìn)行處理,即匹配不通的鏈。

  • 由網(wǎng)卡上送到內(nèi)核協(xié)議棧的報(bào)文:PREROUTING -> INPUT
  • 由網(wǎng)卡出來(lái)不能上送到內(nèi)核協(xié)議棧的報(bào)文:PREROUTING -> FORWARD -> POSTROUTING
  • 由內(nèi)核協(xié)議棧送往網(wǎng)卡的報(bào)文:OUTPUT -> POSTROUTING

為了管理方便,鏈中相同功能的規(guī)則被組織在了一張表中,iptables已經(jīng)為我們定義了四張表。

表的優(yōu)先級(jí)次序(由高到低):raw -> mangle -> nat -> filter

表鏈關(guān)系

一張鏈中可以有多張表,但是不一定擁有全部的表。

數(shù)據(jù)包的處理是根據(jù)鏈來(lái)進(jìn)行的,但是實(shí)際的使用過(guò)程中,是通過(guò)表來(lái)作為操作入口,來(lái)對(duì)規(guī)則進(jìn)行定義的。

iptables

iptables介紹

linux的包過(guò)濾功能,即linux防火墻,它由netfilter 和 iptables 兩個(gè)組件組成。

netfilter 組件也稱為內(nèi)核空間,是內(nèi)核的一部分,由一些信息包過(guò)濾表組成,這些表包含內(nèi)核用來(lái)控制信息包過(guò)濾處理的規(guī)則集。

iptables 組件是一種工具,也稱為用戶空間,它使插入、修改和除去信息包過(guò)濾表中的規(guī)則變得容易。

iptables基礎(chǔ)

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

當(dāng)客戶端訪問(wèn)服務(wù)器的web服務(wù)時(shí),客戶端發(fā)送報(bào)文到網(wǎng)卡,而tcp/ip協(xié)議棧是屬于內(nèi)核的一部分,所以,客戶端的信息會(huì)通過(guò)內(nèi)核的TCP協(xié)議傳輸?shù)接脩艨臻g中的web服務(wù)中,而此時(shí),客戶端報(bào)文的目標(biāo)終點(diǎn)為web服務(wù)所監(jiān)聽的套接字(IP:Port)上,當(dāng)web服務(wù)需要響應(yīng)客戶端請(qǐng)求時(shí),web服務(wù)發(fā)出的響應(yīng)報(bào)文的目標(biāo)終點(diǎn)則為客戶端,這個(gè)時(shí)候,web服務(wù)所監(jiān)聽的IP與端口反而變成了原點(diǎn),我們說(shuō)過(guò),netfilter才是真正的防火墻,它是內(nèi)核的一部分,所以,如果我們想要防火墻能夠達(dá)到"防火"的目的,則需要在內(nèi)核中設(shè)置關(guān)卡,所有進(jìn)出的報(bào)文都要通過(guò)這些關(guān)卡,經(jīng)過(guò)檢查后,符合放行條件的才能放行,符合阻攔條件的則需要被阻止,于是,就出現(xiàn)了input關(guān)卡和output關(guān)卡,而這些關(guān)卡在iptables中不被稱為"關(guān)卡",而被稱為"鏈"。

到此這篇關(guān)于Linux netfilter/iptables知識(shí)點(diǎn)詳解的文章就介紹到這了,更多相關(guān)Linux - netfilter/iptables內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:黃山 湖北 山南 懷化 煙臺(tái) 湘潭 賀州 通遼

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux netfilter/iptables知識(shí)點(diǎn)詳解》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266