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