Iptables防火牆(一)

Iptables防火牆()

重點:

lLinux防火牆的表、鏈結構

l使用iptables編寫防火牆規則

6.1Linux防火牆基礎:

Linux包過濾防火牆概述:

Ønetfilter

§位於Linux內核中的包過濾功能體系

§稱爲Linux防火牆的“內核態”

Øiptables

§位於/sbin/iptables,用來管理防火牆規則的工具

§稱爲Linux防火牆的“用戶態”

Ø包過濾的工作層次

§主要是網絡層,針對IP數據包

§體現在對包內的IP地址、端口等信息的處理上

iptables的表、鏈結構:

Ø規則鏈

§規則的作用:對數據包進行過濾或處理

§鏈的作用:容納各種防火牆規則

§鏈的分類依據:處理數據包的不同時機

Ø默認包括5種規則鏈

§INPUT:處理入站數據包

§OUTPUT:處理出站數據包

§FORWARD:處理轉發數據包

§POSTROUTING鏈:在進行路由選擇後處理數據包

§PREROUTING鏈:在進行路由選擇前處理數據

Ø規則表

§表的作用:容納各種規則鏈

§表的劃分依據:防火牆規則的作用相似

Ø默認包括4個規則表

§raw表:確定是否對該數據包進行狀態跟蹤,包含兩個鏈:PREROUTINGOUTPUT

§mangle表:爲數據包設置標記,包含五個鏈:PREROUTINGPOSTROUTINGFORWARDOUTPUTINPUT

§nat表:修改數據包中的源、目標IP地址或端口,包含三個鏈:PREROUTINGPOSTROUTINGOUTPUT

§filter表:確定是否放行該數據包(過濾),包含三個鏈:FORWARDINPUTOUTPUT

Ø默認的表、鏈結構示意圖

數據包過濾的匹配流程:

Ø規則表之間的順序

§rawàmangleànatàfilter

Ø規則鏈之間的順序

§入站:PREROUTINGàINPUT

§出站:OUTPUTàPOSTROUTING

§轉發:PREROUTINGàFORWARDàPOSTROUTING

Ø規則鏈內的匹配順序

§按順序依次檢查,匹配即停止(LOG策略例外)

§若找不到相匹配的規則,則按該鏈的默認策略處理

Ø匹配流程示意圖

6.2編寫防火牆規則

iptables的基本語法

v語法構成

§iptables  [-t 表名]  選項  [鏈名]  [條件]  [-j 控制類型]

幾個注意事項:

§不指定表名時,默認指filter

§不指定鏈名時,默認指表內的所有鏈

§除非設置鏈的默認策略,否則必須指定匹配條件

§選項、鏈名、控制類型使用大寫字母,其餘均爲小寫

iptables的基本語法:

v數據包的常見控制類型

§ACCEPT:允許通過

§DROP:直接丟棄,不給出任何迴應

§REJECT:拒絕通過,必要時會給出提示

§LOG:記錄日誌信息,然後傳給下一條規則繼續匹配(特列:不應用防火牆規則的“匹配即停止”原則)log只是一種輔助動作,並沒有真正的處理數據包

iptables的管理選項:

v添加新的規則

§-A:在鏈的末尾追加一條規則

§-I:在鏈的開頭(或指定序號)插入一條規則

v查看規則列表

§-L:列出所有的規則條目

§-n:以數字形式顯示地址、端口等信息

§-v:以更詳細的方式顯示規則信息

§--line-numbers:查看規則時,顯示規則的序號

v刪除、清空規則

§-D:刪除鏈內指定序號(或內容)的一條規則

§-F:清空所有的規則

§-X:刪除自定義的規則鏈

v設置默認策略

§-P:爲指定的鏈設置默認規則

v常用管理選項彙總

v通用匹配(常規匹配)

§可直接使用,不依賴於其他條件或擴展

§包括網絡協議、IP地址、網絡接口等條件

v隱含匹配

§要求以特定的協議匹配作爲前提(子條件,不可獨立使用)

§包括端口、TCP標記、ICMP類型等條件

v顯式匹配

§要求以“-m 擴展模塊的形式明確指出類型

§包括多端口、MAC地址、IP範圍、數據包狀態等條件

v常見的通用匹配條件

§協議匹配:-p 協議名

§地址匹配:-s 源地址、-d 目的地址

§接口匹配:-i 入站網卡、-o 出站網卡

v常用的隱含匹配條件

§端口匹配:--sport 源端口、--dport 目的端口

§TCP標記匹配:--tcp-flags 檢查範圍被設置的標記(多個標記用逗號隔開)

§ICMP類型匹配:--icmp-type ICMP類型ICMP類型使用字符串或數字代碼表示,如echo-Requst(代碼爲8echo-Reply(代碼爲0Destination-Unreachable(代碼爲3)分別對應ICMP的請求、回顯、目標不可達

v常用的顯式匹配條件

§多端口匹配:-mmultiport --sports 源端口列表

                         -m multiport --dports目的端口列表

    • IP範圍匹配:-m iprange      --src-range IP範圍

    • MAC地址匹配:-m mac      --mac-source MAC地址

    • 狀態匹配:-m state --state 連接狀態

    • 常見的連接狀態包括:NEW(與任何連接無關的ESTABLISHED(響應請求或者已建立連接的)RELATED(與已有連接有相關性的)

  • 常見匹配條件彙總



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章