Iptablesa防火牆linux
Netfilter :位於linux內核的包過濾功能體系,稱爲linux防火牆的「內核態」tcp
Iptables:位於/sbin/iptables,用來管理防火牆規則的工具,稱爲linux防火牆的「用戶態」ide
規則鏈工具
規則鏈的做用:對數據包進行過濾或處理spa
鏈的做用:容納各類防火牆規則接口
鏈的分類依據:處理數據包的不一樣時機ip
默認包括5種規則鏈路由
INPUT:處理入站數據包it
OUTPUT:處理出站數據包io
FORWARD:處理轉發數據包
POSTROUTING:在進行路由選擇後處理數據包
PREROUTING:在進行路由選擇前處理數據包
規則表
表的做用:容納各類規則鏈
表的劃分依據:防火牆規則的做用類似
默認包括4個規則表
raw表:肯定是否對該數據包進行狀態跟蹤
mangle表:爲數據包設置標記
nat表:修改數據包中的源,目標ip地址或端口
filter表:過濾數據包
規則表之間的順序:raw--mangle--nat--filter
規則鏈之間的順序:入站:PREROUTING--INPUT 出站:OUTPUT--POSTROUTING 轉發:PREROUTING--FORWARD--POSTROUTING
規則鏈的匹配順序:按順序依次檢查,匹配即中止(LOG策略列外)
若找不到相匹配的規則,則按該鏈的默認策略處理
raw表:PREROUTING OUTPUT
mangle表:5個鏈
nat表:PREROUTING POSTROUTING OUTPUT
filter表:INPUT FORWARD OUTPUT
iptables的基本語法: iptables 【-t 表名】 選項 鏈名 條件 -J 控制類型
注意:不指定表名時。默認指filter表 不指定鏈名時,默認表內的全部鏈 選項,鏈名,控制類型使用大寫字母,其他均爲小寫。
選項彙總:
添加新的規則: -A:在鏈的末尾追加一條規則
-I:在鏈的開頭(或指定序名)插入一條規則
查看規則列表: -L:列出全部規則條目
-n:以數字形式顯示地址
-V:以更詳細的方式顯示規則信息
--line-numbers:查看規則時,顯示規則的序號
刪除,清空規則: -D:刪除鏈內指定序列號(或內容)的一條規則
-F:清空全部的規則
設置默認策略: -P:爲指定鏈設置默認規則
經常使用匹配條件彙總
通用匹配: 協議匹配: -p 協議名
地址匹配, -s 源地址 -d 目標地址
接口匹配 -i 入站網卡 -o 出站網卡
隱含匹配: 端口匹配: --sport 源端口 --dport 目標端口
TCP標記匹配: --tcp-flags 檢查範圍被設置的標記
CMP類型匹配: --icmp -type ICMP 類型
顯示匹配: 多端口匹配: -m multiport --sports | --dports 端口列
Ip範圍匹配: -m iprange --src-range ip範圍
MAC地址匹配: -m mac --mac-source MAC地址
狀態匹配: -m state --state 鏈接狀態