溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux中netfilter/iptables知識點的示例分析

發布時間:2021-05-10 14:47:56 來源:億速云 閱讀:182 作者:小新 欄目:服務器

這篇文章主要介紹Linux中netfilter/iptables知識點的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

Netfilter

Netfilter是Linux內核中的一個數據包處理模塊,它可以提供數據包的過濾、轉發、地址轉換NAT功能。Iptables是一個工具,可以用來在Netfilter中增加、修改、刪除數據包處理規則。

Netfilter是位于網卡和內核協議棧之間的一堵墻,是一種免費的軟件防火墻。

Netfilter中有三個主要的概念:規則、表、鏈,等級依次遞增。

  • 規則是對特定報文的處理說明,包括匹配字段和action。

  • 鏈是一組規則的集合。

  • 表是鏈中相同功能的規則集合。

規則

鏈可以看作網卡和內核協議棧之前的多道關卡,對于不通類型的報文,走不通的關卡進行處理,即匹配不通的鏈。

  • 由網卡上送到內核協議棧的報文:PREROUTING -> INPUT

  • 由網卡出來不能上送到內核協議棧的報文:PREROUTING -> FORWARD -> POSTROUTING

  • 由內核協議棧送往網卡的報文:OUTPUT -> POSTROUTING

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

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

表鏈關系

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

數據包的處理是根據鏈來進行的,但是實際的使用過程中,是通過表來作為操作入口,來對規則進行定義的。

iptables

iptables介紹

linux的包過濾功能,即linux防火墻,它由netfilter 和 iptables 兩個組件組成。

netfilter 組件也稱為內核空間,是內核的一部分,由一些信息包過濾表組成,這些表包含內核用來控制信息包過濾處理的規則集。

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

iptables基礎

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

當客戶端訪問服務器的web服務時,客戶端發送報文到網卡,而tcp/ip協議棧是屬于內核的一部分,所以,客戶端的信息會通過內核的TCP協議傳輸到用戶空間中的web服務中,而此時,客戶端報文的目標終點為web服務所監聽的套接字(IP:Port)上,當web服務需要響應客戶端請求時,web服務發出的響應報文的目標終點則為客戶端,這個時候,web服務所監聽的IP與端口反而變成了原點,我們說過,netfilter才是真正的防火墻,它是內核的一部分,所以,如果我們想要防火墻能夠達到"防火"的目的,則需要在內核中設置關卡,所有進出的報文都要通過這些關卡,經過檢查后,符合放行條件的才能放行,符合阻攔條件的則需要被阻止,于是,就出現了input關卡和output關卡,而這些關卡在iptables中不被稱為"關卡",而被稱為"鏈"。

以上是“Linux中netfilter/iptables知識點的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女