溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux防火墻基礎(chǔ)(Firewalld命令的使用)

發(fā)布時間:2020-07-15 16:04:12 來源:網(wǎng)絡(luò) 閱讀:456 作者:wx5d3a7feeb53cc 欄目:云計算

Firewalld概述

Firewalld簡介

(1)支持網(wǎng)絡(luò)區(qū)域所定義的網(wǎng)絡(luò)連接以及接口安全的動態(tài)防火墻管理工具。
(2)支持IPv4、IPv6防火墻設(shè)置以及以太網(wǎng)橋接
(3)支持服務(wù)或應(yīng)運程序直接添加防火墻規(guī)則口
(4)擁有兩種配置模式
運行時配置
永久配置

Firewalld和iptables的關(guān)系

Linux防火墻基礎(chǔ)(Firewalld命令的使用)

netfilter

(1)位于linux內(nèi)核中的包過濾功能體系
(2)稱為Linux防火墻的“內(nèi)核態(tài)”

Firewalld/iptables

(1)Centos7默認(rèn)的管理防火墻規(guī)則的工具(Firewalld)
(2)稱為linux防火墻的“用戶態(tài)”

Firewalld和iptables的區(qū)別

Firewalld iptables
配置文件 /usr/lib/firewalld/、/etc/firewalld/ /etc/sysconfig/iptables
對規(guī)則的修改 不需要全部刷新策略,不丟失現(xiàn)行連接 需要全部刷新策略,丟失連接
防火墻類型 動態(tài)防火墻(靈活) 靜態(tài)防火墻

Firewalld網(wǎng)絡(luò)區(qū)域

區(qū)域介紹
區(qū)域 描述
drop(丟失) 任何接收的網(wǎng)絡(luò)數(shù)據(jù)包都被丟棄,沒有任何回復(fù)。僅能有發(fā)送出去的網(wǎng)絡(luò)練連接
block(限制) 任何接收的網(wǎng)絡(luò)連接都被IPv4的icmp-host-prohibited信息和icmp6-adm-prohibited信息所拒絕
public (公共) 在公共區(qū)域內(nèi)使用,不能相信網(wǎng)絡(luò)內(nèi)的其他計算機不會對您的計算機造成危害,只能接收經(jīng)過選取的連接
external (外部) 特別是為路由器啟用了偽裝功能的外部網(wǎng)。您不能信任來自網(wǎng)絡(luò)的其他計算,不能相信它們不會對您的計算機造成危害,只能接收經(jīng)過選擇的連接
dmz (非軍事區(qū)) 用于您的非軍事區(qū)內(nèi)的電腦,此區(qū)域內(nèi)可公開訪問,可以有限地進入您的內(nèi)部網(wǎng)絡(luò),僅僅接收經(jīng)過選擇的連接
work (工作) 用于工作區(qū)。您可以基本相信網(wǎng)絡(luò)內(nèi)的其他電腦不會危害您的電腦。僅僅接收經(jīng)過選擇的連接用于家庭網(wǎng)絡(luò)。
home (家庭) 您可以基本信任網(wǎng)絡(luò)內(nèi)的其他計算機不會危害您的計算機。僅僅接收經(jīng)過選擇的連接
internal (內(nèi)部) 用于內(nèi)部網(wǎng)絡(luò)。您可以基本上信任網(wǎng)絡(luò)內(nèi)的其他計算機不會威脅您的計算機。僅僅接受經(jīng)過選擇的連接
trusted (信任) 可接受所有的網(wǎng)絡(luò)連接

Firewalld網(wǎng)絡(luò)區(qū)域

區(qū)域介紹

(1)區(qū)域如同進入主機的安全門,每個區(qū)域都具有不同限制程度的規(guī)則
(2)可以使用一個人或多個區(qū)域,但是任何一個活躍區(qū)域至少需要關(guān)聯(lián)源地址或接口
(3)默認(rèn)情況下,public區(qū)域是默認(rèn)區(qū)域,包含所有接口(網(wǎng)卡)

Firewalld數(shù)據(jù)處理流程

檢查數(shù)據(jù)來源的源地址
(1)若源地址關(guān)聯(lián)到特定的區(qū)域,則執(zhí)行該區(qū)域所指定的規(guī)則
(2)若源地址未關(guān)聯(lián)到特定的區(qū)域,則使用傳入網(wǎng)絡(luò)接口的區(qū)域并執(zhí)行該區(qū)域所指定的規(guī)則。
(3)若網(wǎng)絡(luò)接口未關(guān)聯(lián)到特定的區(qū)域,則使用默認(rèn)區(qū)域并執(zhí)行該區(qū)域所指定的規(guī)則

Firewalld防火墻的配置方法

運行時配置

(1)實時生效,并持續(xù)至Firewalld重新啟動或重新加載配置
(2)不中斷現(xiàn)有連接
(3)不能修改服務(wù)配置

永久配置

(1)不立即生效。除非Firewalld重新啟動或重新加載配置
(2)中斷現(xiàn)有連接
(3)可以修改服務(wù)配置

Firewalld-config圖形工具
運行時配置/永久配置

Linux防火墻基礎(chǔ)(Firewalld命令的使用)

重新加載防火墻

更改永久配置并生效
Linux防火墻基礎(chǔ)(Firewalld命令的使用)

關(guān)聯(lián)網(wǎng)卡到指定區(qū)域
“區(qū)域”選項卡

(1)“服務(wù)” 子選項卡
(2)“端口”子選項卡
(3)“協(xié)議”子選項卡
(4)“源端口”子選項卡
(5)“偽裝”子選項卡
(6)“端口轉(zhuǎn)發(fā)”子選項卡
(7)“ICMP過濾器”子選項卡
Linux防火墻基礎(chǔ)(Firewalld命令的使用)

“服務(wù)”選項卡

(1)“模塊”子選項卡
(2)“目標(biāo)地址”子選項卡

修改默認(rèn)區(qū)域
連接狀態(tài)
Firewalld-cmd命令行工具
1)啟動、停止、查看 firewalld 服務(wù)

啟動 firewalld

[root@localhost ~]# systemctl start firewalld 

設(shè)置 firewalld 為開機自啟動

[root@localhost ~]# systemctl enable firewalld 

如果 firewalld 正在運行,通過 systemctl status firewalld 或 firewall-cmd 命令 可以查看其運行狀態(tài)

[root@localhost ~]# systemctl status firewalld

Linux防火墻基礎(chǔ)(Firewalld命令的使用)

2)獲取預(yù)定義信息

firewall-cmd 預(yù)定義信息主要包括三種:可用的區(qū)域、可用的服務(wù)以及可用的 ICMP 阻
塞類型
顯示預(yù)定義的區(qū)域

[root@localhost ~]# firewall-cmd --get-zones 

Linux防火墻基礎(chǔ)(Firewalld命令的使用)
顯示預(yù)定義的服務(wù)

[root@localhost ~]# firewall-cmd --get-services 

Linux防火墻基礎(chǔ)(Firewalld命令的使用)
顯示預(yù)定義的 ICMP 類型

[root@localhost ~]# firewall-cmd --get-icmptypes

Linux防火墻基礎(chǔ)(Firewalld命令的使用)
firewall-cmd --get-icmptypes 命令的執(zhí)行結(jié)果中各種阻塞類型的含義分別如下所示。
(1) destination-unreachable:目的地址不可達。
(2)echo-reply:應(yīng)答回應(yīng)(pong)。
(3) parameter-problem:參數(shù)問題。
(4) redirect:重新定向。
(5) router-advertisement:路由器通告。
(6) router-solicitation:路由器征尋。
(7)source-quench:源端抑制。
(8) time-exceeded:超時。
(9) timestamp-reply:時間戳應(yīng)答回應(yīng)。
(10) timestamp-request:時間戳請求。

3)區(qū)域管理

使用 firewall-cmd 命令可以實現(xiàn)獲取和管理區(qū)域,為指定區(qū)域綁定網(wǎng)絡(luò)接口等功能
(1)--get-default-zone 顯示網(wǎng)絡(luò)連接或接口的默認(rèn)區(qū)域
(2)--set-default-zone=<zone> 設(shè)置網(wǎng)絡(luò)連接或接口的默認(rèn)區(qū)域
(3)--get-active-zones 顯示已激活的所有區(qū)域
(4)--get-zone-of-interface=<interface> 顯示指定接口綁定的區(qū)域
(5)--zone=<zone> --add-interface=<interface> 為指定接口綁定區(qū)域
(6)--zone=<zone> --change-interface=<interface> 為指定的區(qū)域更改綁定的網(wǎng)絡(luò)接口
(7)--zone=<zone> --remove-interface=<interface> 為指定的區(qū)域刪除綁定的網(wǎng)絡(luò)接口
(8)--list-all-zones 顯示所有區(qū)域及其規(guī)則
(9)[--zone=<zone>] --list-all 顯示所有指定區(qū)域的所有規(guī)則,省略--zone=<zone>時表示僅 對默認(rèn)區(qū)域操作
1)顯示當(dāng)前系統(tǒng)中的默認(rèn)區(qū)域。

[root@localhost ~]# firewall-cmd --get-default-zone 

Linux防火墻基礎(chǔ)(Firewalld命令的使用)
2)顯示默認(rèn)區(qū)域的所有規(guī)則

[root@localhost ~]# firewall-cmd --list-all 

Linux防火墻基礎(chǔ)(Firewalld命令的使用)
3)顯示網(wǎng)絡(luò)接口 ens33 對應(yīng)區(qū)域

[root@localhost ~]# firewall-cmd --get-zone-of-interface=ens33

Linux防火墻基礎(chǔ)(Firewalld命令的使用)
4)將網(wǎng)絡(luò)接口 ens33 對應(yīng)區(qū)域更改為 internal 區(qū)域。

[root@localhost ~]# firewall-cmd --zone=internal --change-interface=ens33 

Linux防火墻基礎(chǔ)(Firewalld命令的使用)
5)顯示所有激活區(qū)域。

[root@localhost ~]# firewall-cmd --get-active-zones 

Linux防火墻基礎(chǔ)(Firewalld命令的使用)

4)服務(wù)管理

為 了 方 便 管 理 , firewalld 預(yù) 先 定 義 了 很 多 服 務(wù) , 存 放 在 /usr/lib/firewalld/services/ 目錄中,服務(wù)通過單個的 XML 配置文件來指定。這些配置文件則按以下格式命名:service-name.xml,每個文件對應(yīng)一項具體的網(wǎng)絡(luò)服務(wù),如 ssh 服
務(wù)等。與之對應(yīng)的配置文件中記錄了各項服務(wù)所使用的 tcp/udp 端口。在最新版本的 firewalld 中默認(rèn)已經(jīng)定義了 70 多種服務(wù)供我們使用,對于每個網(wǎng)絡(luò)區(qū)域,均可以配置允 許訪問的服務(wù)。當(dāng)默認(rèn)提供的服務(wù)不適用或者需要自定義某項服務(wù)的端口時,我們需要將 service 配置文件放置在 /etc/firewalld/services/ 目錄中。service 配置具有以下優(yōu)點。
(1) 通過服務(wù)名字來管理規(guī)則更加人性化。
(2) 通過服務(wù)來組織端口分組的模式更加高效,如果一個服務(wù)使用了若干個網(wǎng)絡(luò)端口,則服 務(wù)的配置文件就相當(dāng)于提供了到這些端口的規(guī)則管理的批量操作快捷方式。
1、[--zone=<zone>] --list-services 顯示指定區(qū)域內(nèi)允許訪問的所有服務(wù)
2、[--zone=<zone>] --add-service=<service> 為指定區(qū)域設(shè)置允許訪問的某項服務(wù)
3、[--zone=<zone>] --remove-service=<service> 刪除指定區(qū)域已設(shè)置的允許訪問的某項服務(wù)
4、[--zone=<zone>] --list-ports 顯示指定區(qū)域內(nèi)允許訪問的所有端口號
5、[--zone=<zone>] --add-port=<portid>[-<portid>]/<protocol>
為指定區(qū)域設(shè)置允許訪問的某個/某段端口號 (包括協(xié)議名)
6、[--zone=<zone>] --remove-port=<portid>[-<portid>]/<protocol>
刪除指定區(qū)域已設(shè)置的允許訪問的端口號(包括 協(xié)議名)
7、[--zone=<zone>] --list-icmp-blocks 顯示指定區(qū)域內(nèi)拒絕訪問的所有 ICMP 類型
8、[--zone=<zone>] --add-icmp-block=<icmptype> 為指定區(qū)域設(shè)置拒絕訪問的某項 ICMP 類型
9、[--zone=<zone>] --remove-icmp-block=<icmptype> 刪除指定區(qū)域已設(shè)置的拒絕訪問的某項 ICMP 類 型,省略--zone=<zone>時表示對默認(rèn)區(qū)域操作
(1)為默認(rèn)區(qū)域設(shè)置允許訪問的服務(wù)。
顯示默認(rèn)區(qū)域內(nèi)允許訪問的所有服務(wù):

[root@localhost ~]# firewall-cmd --list-services

Linux防火墻基礎(chǔ)(Firewalld命令的使用)
設(shè)置默認(rèn)區(qū)域允許訪問 http 服務(wù)success

[root@localhost ~]# firewall-cmd --add-service=http 

Linux防火墻基礎(chǔ)(Firewalld命令的使用)
設(shè)置默認(rèn)區(qū)域允許訪問 https 服務(wù)

[root@localhost ~]#firewall-cmd --add-service=https

Linux防火墻基礎(chǔ)(Firewalld命令的使用)
(2)為 internal 區(qū)域設(shè)置允許訪問的服務(wù)。
設(shè)置 internal 區(qū)域允許訪問 mysql 服務(wù)

[root@localhost ~]# firewall-cmd --zone=internal --add-service=mysql

Linux防火墻基礎(chǔ)(Firewalld命令的使用)
設(shè)置 internal 區(qū)域不允許訪問 samba-client 服務(wù)

[root@localhost~]#firewall-cmd --zone=internal --remove-service=samba-client

Linux防火墻基礎(chǔ)(Firewalld命令的使用)
顯示 internal 區(qū)域內(nèi)允許訪問的所有服務(wù)

[root@localhost ~]# firewall-cmd --zone=internal --list-services

Linux防火墻基礎(chǔ)(Firewalld命令的使用)

5)端口管理

在進行服務(wù)配置時,預(yù)定義的網(wǎng)絡(luò)服務(wù)可以使用服務(wù)名配置,服務(wù)所涉及的端口就會自
動打開。但是,對于非預(yù)定義的服務(wù)只能手動為指定的區(qū)域添加端口。例如,執(zhí)行以下操作
即可實現(xiàn)在 internal 區(qū)域打開 443/TCP 端口。

[root@localhost ~]# firewall-cmd --zone=internal --add-port=443/tcp 

Linux防火墻基礎(chǔ)(Firewalld命令的使用)
若想實現(xiàn)在 internal 區(qū)域禁止 443/TCP 端口訪問,可執(zhí)行以下命令。

[root@localhost ~]#firewall-cmd --zone=internal --remove-port=443/tcp 

Linux防火墻基礎(chǔ)(Firewalld命令的使用)

6)兩種配置模式

前面提到 firewall-cmd 命令工具有兩種配置模式:運行時模式(Runtime mode)表示 當(dāng)前內(nèi)存中運行的防火墻配置,在系統(tǒng)或 firewalld 服務(wù)重啟、停止時配置將失效;永久模 式(Permanent mode)表示重啟防火墻或重新加載防火墻時的規(guī)則配置,是永久存儲在配置 文件中的。
firewall-cmd 命令工具與配置模式相關(guān)的選項有三個。
(1) --reload:重新加載防火墻規(guī)則并保持狀態(tài)信息,即將永久配置應(yīng)用為運行時配置。
(2) --permanent:帶有此選項的命令用于設(shè)置永久性規(guī)則,這些規(guī)則只有在重新啟動 firewalld 或重新加載防火墻規(guī)則時才會生效;若不帶有此選項,表示用于設(shè)置運行時 規(guī)則。
(3)--runtime-to-permanent:將當(dāng)前的運行時配置寫入規(guī)則配置文件中,使之成為永久性

/etc/firewalld/中的配置文件

(1)Firewalld會優(yōu)先使用/etc/fireewalld/中的配置,如果不存在配置做文件,則使用/usr/bin/firewalld/中的配置
(2)/etc/firewalld/:用戶自定義配置文件,需要時可通過從/usr/bin/firewalld/中拷貝
(3)/usr/bin/firewalld/:默認(rèn)配置文件,不建議修改,若恢復(fù)至默認(rèn)配置,可直接刪除/etc/firewalld/中的配置

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI