一、防火牆:內核中具備包過濾體系
內核態:netfiltervim
用戶態:iptables 管理工具網絡
工做在網絡層:能夠對ip地址、端口、協議等信息進行處理tcp
二、規則鏈:規則的集合ide
五種鏈:(必須大寫)工具
INPUT:入站日誌
OUTPUT:出站code
FORWARD:轉發ip
POSTROUTING:路由後轉換路由
PREROUTING:路由前轉換it
三、規則表:規則鏈的集合
有4個表:
Raw:狀態跟蹤
Mangle:設置標記
Nat:地址轉換
Filter:包過濾
四、規則的匹配順序:
按順序依次檢查,匹配即中止(LOG策略除外),無匹配項,執行默認策略。
五、iptables語法:
Iptables -t 表名 命令選項 鏈名 條件選項 -j 控制類型
1) 不指定表名,爲filter表
2) 命令選項、鏈名、控制類型必須大寫,其餘必須小寫
3) 條件選項能夠設置多項
六、控制類型:
1)ACCEPT:容許
2)REJECT:拒絕,返回信息
3)DROP:丟棄,無信息
4)LOG:記錄日誌,傳給下一條規則
5)SNAT:源地址轉換
6)DNAT:目標地址轉換
7)MASQUERADE:ip假裝,源地址轉換
8)REDIRECT:重定向
七、命令選項:
-A:追加到末尾
-I:插入(默認插入到第一條)
-L:查看
-D:刪除(必須加序號)
-F:清空,但默認策略不清空
-P:默認策略,只有ACCEPT或DROP兩種
-R:替換
-X:刪除自定義鏈
-N:新建自定義鏈
-n:以數字方式顯示
--line-number:添加序號
八、條件選項:
1)通用匹配:不依賴於任何條件可直接使用
-s:源地址 -d:目標地址
-p:協議 -i:入口
-o:出口 !:取反
2)隱含匹配:依賴指定的協議
--sport:源端口 --dport:目標端口
--tcp—flags:TCP標記
--icmp-type:icmp類型,有兩種:
Echo-request(可用8代替) 請求
Echo-reply(可用0代替) 迴應
開啓轉發功能:
永久有效:vim /etc/sysctl.conf
Net.ipv4.ip_forward=1
生效:sysctl -p
臨時轉發,當即生效
Sysctl -w net.ipv4.ip_forward=1
Echo 「1」 > /proc/sys/net/ipv4/ip_forward
4) 顯示配置:依賴於指定的功能模塊,必須明確指定模塊名稱纔可使用
多端口匹配:-m multiport --sports 源端口列表
-m multiport --dports 目的端口列表
IP範圍匹配:-m iprange --src-range ip範圍
MAC地址匹配:-m mac --mac-source MAC地址
狀態匹配:-m state --state 鏈接狀態