Firewalld簡介
支持網絡區域所定義的網絡鏈接以及接口安全等級的動態防火墻管理工具
支持IPv4、IPv6防火 墻設置以及以太網橋
支持服務或應用程序直接添加防火墻規則接口
擁有兩種配置模式
運行時配置
永久配置
Firewalld和iptables的關系
netfilter
netfilter是Linux2.4.x之后新一代的Linux防火墻機制,是linux內核的一個子系統
netfilter采用模塊化設計,具有良好的可擴充性
位于Linux內核中的包過濾功能體系
稱為Linux防火墻的“內核態”
Firewalld/iptables
CentOS7默認的管理防火墻規則的工具(Firewalld)
稱為Linux防火墻的“用戶態”
Firewalld和iptables的區別
配置文件
/usr/lib/firewalld<br/>/etc/firewalld/
/etc/sysconfig/iptables
對規則的修改
不需要全部刷新策略,不丟失現行連接
需要全部刷新策略,丟失連接
靜態防火墻
動態防火墻(靈活)
靜態防火墻
Firewalld網絡區域
區域介紹
drop(丟棄)
任何接收的網絡數據包都被丟棄,沒有任何回復。僅能有發送出去的網絡連接
block(限制)
任何接收的網絡連接都被lPv4的icmp-host-prohibited信息和IPv6的icmp6-adm-prohibited信息所拒絕
public(公共)
在公共區域內使用,不能相信網絡內的其他計算機不會對您的計算機造成危害,只能接收經過選取的連接
external(外部)
特別是為路由器啟用了偽裝功能的外部網。您不能信任來自網絡的其他計算,不能相信它們不會對您的計算機造成危害,只能接收經過選擇的連接
dmz(非軍事區)
用于您的非軍事區內的電腦,此區域內可公開訪問,可以有限地進入您的內部網絡,僅僅接收經過選擇的連接
work(工作)
用于工作區。您可以基本相信網絡內的其他電腦不會危害您的電腦。僅僅接收經過選擇的連接
home(家庭)
用于家庭網絡。您可以基本信任網絡內的其他計算機不會危害您的計算機。僅僅接收經過選擇的連接
internal(內部)
用于內部網絡。您可以基本上信任網絡內的其他計算機不會威脅您的計算機。僅僅接受經過選擇的連接
trusted(信任)
可接受所有的網絡連接
Firewalld數據處理流程
檢查數據來源的源地址
若源地址關聯到特定的區域,則執行該區域所指定的規則
若源地址未關聯到特定的區域,則使用傳入網絡接口的區域并執行該區域所指定的規則
若網絡接口未關聯到特定的區域,則使用默認區域并執行該區域所指定的規則
Firewalld防火墻的配置方法
運行時配置
實時生效,并持續至Firewalld重新啟動或重新加載配置
不中斷現有連接
不能修改服務配置
永久配置
不立即生效,除非Firewalld重新啟動或重新加載配置
中斷現有連接
可以修改服務配置
Firewall-config圖形工具
運行時配置/永久配置
重新加載防火墻
更改永久配置并生效
關聯網卡到指定區域
修改默認區域
連接狀態
“區域”選項卡
“服務”子選項卡
“端口”子選項卡
“協議”子選項卡
“源端口”子選項卡,
“偽裝”子選項卡
“端口轉發”子選項卡
"ICMP過濾器”子選項卡
"服務”選項卡
“模塊”子選項卡
“目標地址”子選項卡
Firewall-cmd命令行工具
啟動、停止、查看 firewalld 服務
systemctl start firewalld //啟動 firewalld
systemctl enable firewalld //設置 firewalld 為開機自啟動
systemctl status firewalld //查看 firewalld 狀態信息
firewall-cmd --state //查看 firewalld 狀態信息
systemctl stop firewalld //停止 firewalld
systemctl disable firewalld //設置 firewalld 開機不自啟動
獲取預定義信息
firewall-cmd 預定義信息主要包括三種:可用的區域、可用的服務以及可用的 ICMP 阻塞類型
firewall-cmd --get-zones //顯示預定義的區域
firewall-cmd --get-service //顯示預定義的服務
firewall-cmd --get-icmptypes //顯示預定義的 ICMP 類型
firewall-cmd --get-icmptypes 命令的執行結果中各種阻塞類型的含義
destination-unreachable:目的地址不可達。
echo-reply:應答回應(pong)。
parameter-problem:參數問題。
redirect:重新定向。
router-advertisement:路由器通告。
router-solicitation:路由器征尋。
source-quench:源端抑制。
time-exceeded:超時。
timestamp-reply:時間戳應答回應。
timestamp-request:時間戳請求。
區域管理
使用 firewall-cmd 命令可以實現獲取和管理區域,為指定區域綁定網絡接口等功能。
--get -default -zone
顯示網絡連接或接口的默認區域
--set -default -zone=<zone>
設置網絡連接或接口的默認區域
--get -active -zones
顯示已激活的所有區域
--get- zone -of -interface=<interface>
顯示指定接口綁定的區域
--zone=<zone> --add-interface=<interface>
為指定接口綁定區域
--zone=<zone> --change-interface=<interface>
為指定的區域更改綁定的網絡接口
--zone=<zone> --remove-interface=<interface>
為指定的區域刪除綁定的網絡接口
--list-all-zones
顯示所有區域及其規則
[--zone=<zone>] --list-a
顯示所有指定區域的所有規則,省略--zone=<zone>時表示僅
服務管理
firewalld預先定義了 很 多 服 務 ,存放在/usr/lib/firewalld/services/ 目錄中,服務通過單個的 XML 配置文件來指定,這些配置文件則按以下格式命名:service-name.xml,每個文件對應一項具體的網絡服務,當默認提供的服務不適用或者需要自定義某項服務的端口時,我們需要將 service配置文件放置在 /etc/firewalld/services/ 目錄中。service 配置優點:通過服務名字來管理規則更加人性化、通過服務來組織端口分組的模式更加高效,如果一個服務使用了若干個網絡端口,則服 務的配置文件就相當于提供了到這些端口的規則管理的批量操作快捷方式。
firewall-cmd 命令區域中服務管理的常用選項說明:
[--zone=<zone>] --list-services
顯示指定區域內允許訪問的所有服務
[--zone=<zone>] --add-service=<service>
為指定區域設置允許訪問的某項服務
[--zone=<zone>] --remove-service=<service>
刪除指定區域已設置的允許訪問的某項服務
[--zone=<zone>] --list-ports
顯示指定區域內允許訪問的所有端口號
[--zone=<zone>] --add-port=<portid>[-<portid>]/<protocol>
為指定區域設置允許訪問的某個/某段端口號 (包括協議名)
[--zone=<zone>] --remove-port=<portid>[-<portid>]/<protocol>
刪除指定區域已設置的允許訪問的端口號(包括協議名)
[--zone=<zone>] --list-icmp-blocks
顯示指定區域內拒絕訪問的所有 ICMP 類型
[--zone=<zone>] --add-icmp-block=<icmptype>
為指定區域設置拒絕訪問的某項 ICMP 類型
[--zone=<zone>] --remove-icmp-block=<icmptype>
刪除指定區域已設置的拒絕訪問的某項 ICMP 類 型,省略--zone=<zone>時表示對默認區域操作
端口管理
在進行服務配置時,預定義的網絡服務可以使用服務名配置,服務所涉及的端口就會自 動打開。但是,對于非預定義的服務只能手動為指定的區域添加端口。
firewall-cmd --zone=internal --add-port=443/tcp //再internal區域打開443端口
firewall-cmd --zone=internal --remove-port=443/tcp //再internal區域禁用443端口
兩種配置模式
firewall-cmd 命令工具有兩種配置模式:運行時模式(Runtime mode)表示 當前內存中運行的防火墻配置,在系統或 firewalld 服務重啟、停止時配置將失效、永久模 式(Permanent mode)表示重啟防火墻或重新加載防火墻時的規則配置,是永久存儲在配置 文件中的。
firewall-cmd 命令工具與配置模式相關的選項有三個:
--reload
重新加載防火墻規則并保持狀態信息,即將永久配置應用為運行時配置
--permanent
帶有此選項的命令用于設置永久性規則,這些規則只有在重新啟動 firewalld 或重新加載防火墻規則時才會生效;若不帶有此選項,表示用于設置運行時規則
--runtime-to-permanent
將當前的運行時配置寫入規則配置文件中,使之成為永久性
/etc/firewalld/中的配置文件
Firewalld會優先使用/etc/firewalld/中的配置,如果不存在配置文件,則使用/usr/lib/firewalld/中的配置
/etc/firewalld/:用戶自定義配置文件,需要時可以通過從/usr/lib/firewalld/中拷貝
/usr/lib/firewalld/:默認配置文件,不建議修改,若恢復至默認配置,可直接刪除/etc/firewalld/中的配置
更多關于云服務器,域名注冊,虛擬主機的問題,請訪問三五互聯官網:m.shinetop.cn