您好,登錄后才能下訂單哦!
本篇內容主要講解“Iptables防火墻四表五鏈概念及使用技巧是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Iptables防火墻四表五鏈概念及使用技巧是什么”吧!
在防火墻中,用戶想要成功進入內網環境,就需要發送請求報文,請求報文要和防火墻設置的各種規則進行匹配和判斷,最后執行相應的動作(放行或者拒絕),一個防火墻中通常針對不同的來源設置很多種策略,多個策略形成一個鏈,其實也可以理解成是分組的概念,在Iptables防火墻中針對不同的鏈路共分為五種不同的鏈。
如下圖所示,當數據報文進入鏈之后,首先匹配第一條規則,如果第一條規則通過則訪問,如果不匹配,則接著向下匹配,如果鏈中的所有規則都不匹配,那么就按照鏈的默認規則處理數據報文的動作。
Iptables有五種不同的鏈,分別是INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING。
INPUT:從外界進入防火墻的數據包會應用此規則鏈中的策略。
OUTPUT:當前服務器從防火墻外出的數據表會應用此規則鏈中的策略。
FORWARD:轉發數據包時會應用此規則鏈中的策略。
PREROUTING:主機外的報文要進入防火墻,所有的數據包進來的時候都會由PREROUTING鏈進行處理。
POSTROUTING:主機內的報文要從防火墻出去,需要經過POSTROUTING鏈進行處理。
請求報文流入本地要經過的鏈:
請求報文要進入本機的某個應用程序,首先會到達Iptables防火墻的PREROUTING鏈,然后又PREROUTING鏈轉發到INPUT鏈,最后轉發到所在的應用程序上。
PREROUTING--->INPUT--->PROCESS
請求報文從本機流出要經過的鏈:
請求報文讀取完應用程序要從本機流出,首先要經過Iptables的OUTPUT鏈,然后轉發到POSTROUTING鏈,最后從本機成功流出。
PROCESS--->OUTPUT--->POSTROUTING
請求報文經過本機向其他主機轉發時要經過的鏈:
請求報文要經過本機向其他的主機進行換發時,首先進入A主機的PREROUTING鏈,此時不會被轉發到INPUT鏈,因為不是發給本機的請求報文,此時會通過FORWARD鏈進行轉發,然后從A主機的POSTROUTING鏈流出,最后到達B主機的PREROUTING鏈。
PREROUTING--->FORWARD--->POSTROUTING
**Iptables防火墻中表的概念:**在一個鏈中會有很多的防火墻規則,我們將具有同一種類型的規則組成一個集合,這個集合就叫做表,表可以簡單的列成是一些具有同樣類型的規則的分組,例如關于IP地址轉換的策略都放在一個表中、修改數據保報文的策略都放在一個表中。
在Iptables防火墻中包含四種常見的表,分別是filter、nat、mangle、raw。
filter:負責過濾數據包。
filter表可以管理INPUT、OUTPUT、FORWARD鏈。
nat:用于網絡地址轉換。
nat表可以管理PREROUTING、INPUT、OUTPUT、POSTROUTING鏈。
mangle:修改數據包中的內容,例如服務類型、TTL、QOS等等。
mangle表可以管理PREROUTING、INPUT、OUTPUT、POSTROUTING、FORWARD鏈。
raw:決定數據包是否被狀態跟蹤機制處理。
raw表可以管理PREROUTING、OUTPUT鏈。
在Iptables防火墻中,表與鏈之間是存在優先級的關系的,因為每張表的作用都是不同的,一張表會同時存放在多個鏈中,當一條數據報文進入一個鏈后,會按照表的優先級順序依次匹配對應的規則。
Iptables防火墻表的優先級順序:raw--->mangle--->nat--->filter。
如下圖所示,當數據報文進入PREROUTING鏈時,首先規匹配raw表中的規則,然后在匹配mangle表中的規則,最后在匹配nat表的規則,按照優先級順序依次匹配。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-4e31sEnS-1657242939282)(G:\01-運維技術文檔整理\Iptables\01-Iptables防火墻核心理論概念.assets\image-20220428235007852.png)]
從以下三個問題中掌握防火墻表和鏈之間的使用技巧。
首先牢記各個鏈對應的表有那些:
鏈名 | 對應的表名 |
---|---|
INPUT | mangle、nat、filter |
OUTPUT | raw、mangle、Nat、filter |
FORWARD | mangle、filter |
PREROUTING | raw、mangle、nat |
POSTROUTING | mangle、nat |
記憶技巧:進出第一關的鏈都沒有fileter表,第一個進鏈除fileter都包含,input除raw都有、output全有、出鏈只有mangle和nat、forward只有mongle和filter。
來自于10.0.0.1的地址,訪問本機的web服務請求都不允許,應該在哪個表的哪個鏈上設定規則?
源地址為10.0.0.1的IP訪問本機的WEB請求時不允許,屬于數據流入的操作,首先要分析會經過那些Iptables鏈?
源地址到本地服務會經過Iptables的PREROUTING和INPUT鏈,做這種規則時,都會堅定最近位置處做策略,但是也要結合實際的功能,PREROUTING鏈離源地址最近,但是沒有過濾的表,在PREROUTING中的表有mangle、nat,沒有負責做過濾的表,因此就要判斷第二個鏈,也就是INPUT鏈,在INPUT鏈中包含mangle、nat、filter表,在INPUT鏈中添加策略是最合適的。
最終的結果就是在INPUT鏈的filter表中添加具體的策略。
所有由本機發往10.0.0.0/24網段的TCP服務都不允許?
從本機發往其他主機的TCP服務請求,屬于數據流出的操作,會經過PREROUTING鏈和OUTPUT鏈,到達目標地址的數據保溫都拒絕,這種類似的需求,一般都是由過濾表filter來實現,PREROUTING鏈包含的表有mangle、nat這兩張,沒有過濾表,OUTPUT鏈有raw、mangle、Nat、filter四張表,最終的結果就是在OUTPUT鏈的filter表添加具體的策略。
**問題3:**所有來自己本地內部網絡的主機,向互聯網發送web服務器請求都允許?
到達本機的請求報文向互聯網發送請求,屬于數據轉發的操作,會經過PREROUTING、FORWARD和POSTROUTING三個連,這種允許和拒絕都是在filter表中操作的,因此找到含有filter表并且距離目標端最近的鏈中添加合適的規則,最終的結果就是在filter表中添加具體的操作。
1)首先要知道要實現的需求含義,然后根據需求判斷出要在哪一個表中實現該策略。
2)然后摸清楚報文要經過的鏈,堅定在距離源/目的最近的鏈做策略。
3)最后根據鏈包含的表,判斷出要將規則添加到哪一個鏈的表中。
ACCEPT:將數據包放行。
REJECT:拒絕該數據包通行,阻攔數據包。
DROP:丟棄數據包,不給予任何處理。
REDIRECT:重定向。
到此,相信大家對“Iptables防火墻四表五鏈概念及使用技巧是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。