iptables:了解其錶和鏈背後的基本原理

iptables:了解其錶和鏈背後的基本原理

我正在經歷iptables 教程目前在第六章,錶和鏈的遍歷

我無法理解為什麼是上一章所列的表6-1、表6-2、表6-3。

問題:

  1. 是否有更好的書籍或線上資源可以找到更好的解釋?

  2. 我是否應該死記硬背/記住這些表格中涵蓋的各個步驟?

  3. 上面的教學似乎已經有很多年了。iptables裡面所說的一切仍然100%有效嗎?iptables我的系統上的版本是1.4.14.

所有這些問題的出現​​主要是因為到目前為止我「感覺」也許所有iptables應該做的事情都為我們提供了一個最低限度一組鉤子點(例如,前路由鉤子和後路由鉤子),以及執行以下操作的能力隨意的資料包處理(以我們認為合適的任何順序和任意次數 - 自訂狀態機),而不是規定上表中的詳細步驟順序。例如,在表 6-3 後面的圖中,為什麼「filter input」步驟只能出現在「mangle input」之後,而不是之前?而且,為什麼不在之前和之後呢? ETC。

答案1

有更好的書籍或線上資源嗎?

可能嗎?大概?有大量的線上和離線資源可用於學習 Linux 和 iptables。這維基百科有一個很好的概述。這是其他使用和管理指南。這是其他指南與 FrozenTux 的資訊相同,但略有重寫。

我應該死記硬背/記住各個步驟嗎

那要看。你首先為什麼要學習?

需要為了使用 iptables 需要記住所有內容?不。篩選如果您沒有定義任何其他表,則為預設值。如果您想充分利用 iptables,這會有幫助嗎?絕對地。

仍然有效?

是的。

為什麼「過濾輸入」步驟只能在「mangle input」之後而不是之前出現?而且,為什麼不在之前和之後呢?

關鍵是表 6.1 第 8 行和第 9 行中的描述。

這就是為什麼首先命中 mangle 輸入鏈,然後命中過濾器輸入鏈。

同樣,步驟的順序也很重要,因為資料包將傳入機器(正在執行 iptables)。在資料包已被路由並正在傳出之後,您無法對資料包做出「輸入」或傳入決策。

您會注意到表 6.3 不是表 6.2 的延續,相反,它們在第 7 行(路由決策)之前都是相似的,然後第 8 行是不同的路徑或分叉。表 6.2 適用於同一網路內的資料包。表 6.3 適用於離網資料包。

記住 7 層 OSI 模型很重要。每位資料都被打包並重新打包成各種段、資料包和幀。每個網路「躍點」都是任何特定段、資料包或幀被操縱和重寫的另一個機會。

iptables 對重新打包提供了非常精細的控制。您可以為傳入資料包、傳出資料包、僅針對您的網路而不是其他網路的資料包(反之亦然)、您的裝置而不是您的裝置等編寫規則。的各種標頭。 **

** 我知道我自由地混合了「幀」、「段」和「資料包」。對不起,我真的不應該。除非我想表達觀點或進行特定的網絡分析,否則我總是這樣做。

相關內容