1. 程式人生 > >iptables防火墻(一)

iptables防火墻(一)

表名 基本語法 51cto 防火墻規則 處理 cde process 命令 語法

linux的防火墻體系主要工作在網絡層,針對TCP/IP數據包實施過濾和限制,屬於典型的包過濾防火墻(或稱為網絡層防火墻)。
(1)在許多安全技術資料中,netfilter和iptables都用來指linux防火墻,它們之間的區別如下:
netfilter
位於Linux內核中的包過濾功能體系
稱為Linux防火墻的“內核態”
iptables
位於/sbin/iptables,用來管理防火墻規則的工具
稱為Linux防火墻的“用戶態”
iptables防火墻默認的規則表,鏈結構
技術分享圖片
(2)規則鏈
規則的作用:對數據包進行過濾或處理
鏈的作用:容納各種防火墻規則
鏈的分類依據:處理數據包的不同時機
(3)默認包括5種規則鏈
INPUT:處理入站數據包
OUTPUT:處理出站數據包
FORWARD:處理轉發數據包
POSTROUTING鏈:在進行路由選擇後處理數據包
PREROUTING鏈:在進行路由選擇前處理數據包
(4)規則表
表的作用:容納各種規則鏈
表的劃分依據:防火墻規則的作用相似
(5)默認包括4個規則表
raw表:確定是否對該數據包進行狀態跟蹤
mangle表:為數據包設置標記
nat表:修改數據包中的源、目標IP地址或端口
filter表:確定是否放行該數據包(過濾)
(6)數據包過濾的匹配流程
1) 規則表之間的順序
raw?mangle?nat?filter
2)規則鏈之間的順序
入站:PREROUTING?INPUT
出站:OUTPUT?POSTROUTING
轉發:PREROUTING?FORWARD?POSTROUTING
3)規則鏈內的匹配順序
按順序依次檢查,匹配即停止(LOG策略例外)
若找不到相匹配的規則,則按該鏈的默認策略處理
4)匹配流程示意圖
技術分享圖片
iptables基本語法
語法構成
技術分享圖片
註意事項
1)不指定表名時,默認指filter表
2)不指定鏈名時,默認指表內的所有鏈
3)除非設置鏈的默認策略,否則必須指定匹配條件
4)選項、鏈名、控制類型使用大寫字母,其余均為小寫
數據包的常見控制類型
1)ACCEPT:允許通過
2)DROP:直接丟棄,不給出任何回應
3)REJECT:拒絕通過,必要時會給出提示
4)LOG:記錄日誌信息,然後傳給下一條規則繼續匹配
iptables命令的常用管理選項
添加新的規則
-A:在鏈的末尾追加一條規則
-I:在鏈的開頭(或指定序號)插入一條規則
技術分享圖片
查看規則列表
-L:列出所有的規則條目
-n:以數字形式顯示地址、端口等信息
-v:以更詳細的方式顯示規則信息
--line-numbers:查看規則時,顯示規則的序號
技術分享圖片
技術分享圖片
刪除、清空規則
-D:刪除鏈內指定序號(或內容)的一條規則
-F:清空所有的規則
技術分享圖片
設置默認策略
-P:為指定的鏈設置默認規則
技術分享圖片
規則的匹配條件
(1)通用匹配
可直接使用,不依賴於其他條件或擴展
包括網絡協議、IP地址、網絡接口等條件
常見的通用匹配條件
協議匹配:-p 協議名
技術分享圖片
地址匹配:-s 源地址、-d 目的地址
技術分享圖片
接口匹配:-i 入站網卡、-o 出站網卡
技術分享圖片
(2)隱含匹配
要求以特定的協議匹配作為前提
包括端口、TCP標記、ICMP類型等條件
常用的隱含匹配條件
端口匹配:--sport 源端口、--dport 目的端口
技術分享圖片
TCP標記匹配:--tcp-flags 檢查範圍 被設置的標記
技術分享圖片
ICMP類型匹配:--icmp-type ICMP類型
技術分享圖片
(3)顯式匹配
要求以“-m 擴展模塊”的形式明確指出類型
包括多端口、MAC地址、IP範圍、數據包狀態等條件
常用的顯式匹配條件
多端口匹配:-m multiport --sports 源端口列表
-m multiport --dports 目的端口列表
技術分享圖片
IP範圍匹配:-m iprange --src-range IP範圍
技術分享圖片
MAC地址匹配:-m mac --mac-source MAC地址
技術分享圖片
狀態匹配:-m state --state 連接狀態
技術分享圖片

iptables防火墻(一)