Firewalld簡介
支持網絡區域所定義的網絡鏈接以及接口安全等級的動態防火牆管理工具
支持IPv4、IPv6防火牆設置以及以太網橋
支持服務或應用程序直接添加防火牆規則接口
擁有兩種配置模式
運行時配置
永久配置
Firewalld和iptables的關係
netfilter
位於Linux內核中的包過濾功能體系
稱爲Linux防火牆的"內核態"
Firewalld/iptables
CentOS7默認的管理防火牆規則的工具(Firewalld)
稱爲Linux防火牆的"用戶態"
Firewalld和iptables的區別
什麼是iptables
iptables是Linux的防火牆管理工具而已,真正實現防火牆功能的是Netfilter,我們配置了iptables規則後Netfilter通過這些規則來進行防火牆過濾等操作
Netfilter模塊:
它是主要的工作模塊,位於內核中,在網絡層的五個位置(也就是防火牆四表五鏈中的五鏈)註冊了一些函數,用來抓取數據包;把數據包的信息拿出來逐個匹配鏈位置在對應表中的規則:匹配之後,進行相應的處理ACCEPT、DROP等。
四表五鏈
表就是儲存的規則,共有4個表
filter表 過濾數據包
Nat表 用於網絡地址轉換(IP、端口)
Mangle表 修改數據包的服務類型、TTL、並且可以配置路由實現QOS
Raw表 決定數據包是否被狀態跟蹤機制處理
鏈就是位置,共有5個鏈
進路由(PREROUTING) 進來的數據包應用此規則鏈中的策略
進系統(INPUT) 外出的數據包應用此規則鏈中的策略
轉發(PORWARD) 轉發數據包時應用此規則鏈中的策略
出系統(OUTPUT) 對數據包作路由選擇前應用此鏈中的規則(所有的數據包進來的時候都先由這個鏈處理)
出路由(POSTROUTING) 對數據包作路由選擇後應用此鏈中的規則(所有的數據包出來的時候都先由這個鏈處理)
四表五鏈之間的關係
iptables語法格式
iptables [-t 表名] 選項 [鏈名] [條件] [-j 控制類型]
iptables常用參數
-P 設置默認策略:iptables
-P INPUT (DROP | ACCEPT)
-F 清空規則鏈
-L 查看規則鏈
-A 在規則鏈的末尾加入新規則
-I num 在規則鏈的頭部加入新規則
-D num 刪除某一條規則
-s 匹配來源地址IP/MASK,加歎號"!"表示除這個IP外
-d 匹配目標地址
-i 網卡名稱 匹配從這塊網卡流入的數據
-o 網卡名稱 匹配從這塊網卡流出的數據
-p 匹配協議,如tcp,udp,icmp
--dport num 匹配目標端口號
--sport num 匹配來源端口號
區域介紹
區域如同進入主機的安全門,每個區域都具有不同限制程度的規則
可以使用一個或多個區域,但是任何一個活躍區域至少需要關聯源地址或接口
默認情況下,public區域使默認區域,包含所有接口(網卡)
Firewalld數據處理例程
檢查數據來源的源地址
若源地址關聯到特定的區域,則執行該區域所指定的規則
若源地址未關聯到特定的區域,則使用傳入網絡接口的區域並執行該區域所指定的規則
若網絡接口未關聯到特定的區域,則使用默認區域並執行該區域所指定的規則
運行時配置
實時生效,並持續至Firewalld重新啓動或重新加載配置
不中斷現有連接
不能修改服務配置
永久配置
不立即生效,除非Firewalld重新啓動或重新加載配置
中斷現有連接
可以修改服務配置
Firewalld-config圖形工具
Firewalld-cmd命令行工具
/etc/firewalld/中的配置文件
Firewalld會優先使用/etc/firewalld/中的配置,如果不存在配置文件,則使用/etc/firewalld/中的配置
/etc/firewalld/:用戶自定義配置文件,需要時可通過從/usr/lib/firewalld/中拷貝
/ure/lib/firewalld/:默認配置文件,不建議修改,若恢復至默認配置,可直接刪除/etc/firewalld/中的配置
運行時配置/永久配置
重新加載防火牆
更新永久配置並生效
關聯網卡到指定區域
修改默認區域
連接狀態
"區域"選項卡
"服務"子選項卡
"端口"子選項卡
"協議"子選項卡
"源端口"子選項卡
"僞裝"子選項卡
"端口轉發"子選項卡
"ICMP過濾器"子選項卡
"服務"選項卡
"模塊"子選項卡
"目標地址"子選項卡