您好,登錄后才能下訂單哦!
(1)支持網絡區域所定義的網絡連接以及接口安全的動態防火墻管理工具。
(2)支持IPv4、IPv6防火墻設置以及以太網橋接
(3)支持服務或應運程序直接添加防火墻規則口
(4)擁有兩種配置模式
運行時配置
永久配置
(1)位于linux內核中的包過濾功能體系
(2)稱為Linux防火墻的“內核態”
(1)Centos7默認的管理防火墻規則的工具(Firewalld)
(2)稱為linux防火墻的“用戶態”
Firewalld | iptables | |
---|---|---|
配置文件 | /usr/lib/firewalld/、/etc/firewalld/ | /etc/sysconfig/iptables |
對規則的修改 | 不需要全部刷新策略,不丟失現行連接 | 需要全部刷新策略,丟失連接 |
防火墻類型 | 動態防火墻(靈活) | 靜態防火墻 |
區域 | 描述 |
---|---|
drop(丟失) | 任何接收的網絡數據包都被丟棄,沒有任何回復。僅能有發送出去的網絡練連接 |
block(限制) | 任何接收的網絡連接都被IPv4的icmp-host-prohibited信息和icmp6-adm-prohibited信息所拒絕 |
public (公共) | 在公共區域內使用,不能相信網絡內的其他計算機不會對您的計算機造成危害,只能接收經過選取的連接 |
external (外部) | 特別是為路由器啟用了偽裝功能的外部網。您不能信任來自網絡的其他計算,不能相信它們不會對您的計算機造成危害,只能接收經過選擇的連接 |
dmz (非軍事區) | 用于您的非軍事區內的電腦,此區域內可公開訪問,可以有限地進入您的內部網絡,僅僅接收經過選擇的連接 |
work (工作) | 用于工作區。您可以基本相信網絡內的其他電腦不會危害您的電腦。僅僅接收經過選擇的連接用于家庭網絡。 |
home (家庭) | 您可以基本信任網絡內的其他計算機不會危害您的計算機。僅僅接收經過選擇的連接 |
internal (內部) | 用于內部網絡。您可以基本上信任網絡內的其他計算機不會威脅您的計算機。僅僅接受經過選擇的連接 |
trusted (信任) | 可接受所有的網絡連接 |
(1)區域如同進入主機的安全門,每個區域都具有不同限制程度的規則
(2)可以使用一個人或多個區域,但是任何一個活躍區域至少需要關聯源地址或接口
(3)默認情況下,public區域是默認區域,包含所有接口(網卡)
檢查數據來源的源地址
(1)若源地址關聯到特定的區域,則執行該區域所指定的規則
(2)若源地址未關聯到特定的區域,則使用傳入網絡接口的區域并執行該區域所指定的規則。
(3)若網絡接口未關聯到特定的區域,則使用默認區域并執行該區域所指定的規則
(1)實時生效,并持續至Firewalld重新啟動或重新加載配置
(2)不中斷現有連接
(3)不能修改服務配置
(1)不立即生效。除非Firewalld重新啟動或重新加載配置
(2)中斷現有連接
(3)可以修改服務配置
更改永久配置并生效
(1)“服務” 子選項卡
(2)“端口”子選項卡
(3)“協議”子選項卡
(4)“源端口”子選項卡
(5)“偽裝”子選項卡
(6)“端口轉發”子選項卡
(7)“ICMP過濾器”子選項卡
(1)“模塊”子選項卡
(2)“目標地址”子選項卡
啟動 firewalld
[root@localhost ~]# systemctl start firewalld
設置 firewalld 為開機自啟動
[root@localhost ~]# systemctl enable firewalld
如果 firewalld 正在運行,通過 systemctl status firewalld 或 firewall-cmd 命令 可以查看其運行狀態
[root@localhost ~]# systemctl status firewalld
firewall-cmd 預定義信息主要包括三種:可用的區域、可用的服務以及可用的 ICMP 阻
塞類型
顯示預定義的區域
[root@localhost ~]# firewall-cmd --get-zones
顯示預定義的服務
[root@localhost ~]# firewall-cmd --get-services
顯示預定義的 ICMP 類型
[root@localhost ~]# firewall-cmd --get-icmptypes
firewall-cmd --get-icmptypes 命令的執行結果中各種阻塞類型的含義分別如下所示。
(1) destination-unreachable:目的地址不可達。
(2)echo-reply:應答回應(pong)。
(3) parameter-problem:參數問題。
(4) redirect:重新定向。
(5) router-advertisement:路由器通告。
(6) router-solicitation:路由器征尋。
(7)source-quench:源端抑制。
(8) time-exceeded:超時。
(9) timestamp-reply:時間戳應答回應。
(10) timestamp-request:時間戳請求。
使用 firewall-cmd 命令可以實現獲取和管理區域,為指定區域綁定網絡接口等功能
(1)--get-default-zone 顯示網絡連接或接口的默認區域
(2)--set-default-zone=<zone> 設置網絡連接或接口的默認區域
(3)--get-active-zones 顯示已激活的所有區域
(4)--get-zone-of-interface=<interface> 顯示指定接口綁定的區域
(5)--zone=<zone> --add-interface=<interface> 為指定接口綁定區域
(6)--zone=<zone> --change-interface=<interface> 為指定的區域更改綁定的網絡接口
(7)--zone=<zone> --remove-interface=<interface> 為指定的區域刪除綁定的網絡接口
(8)--list-all-zones 顯示所有區域及其規則
(9)[--zone=<zone>] --list-all 顯示所有指定區域的所有規則,省略--zone=<zone>時表示僅 對默認區域操作
1)顯示當前系統中的默認區域。
[root@localhost ~]# firewall-cmd --get-default-zone
2)顯示默認區域的所有規則
[root@localhost ~]# firewall-cmd --list-all
3)顯示網絡接口 ens33 對應區域
[root@localhost ~]# firewall-cmd --get-zone-of-interface=ens33
4)將網絡接口 ens33 對應區域更改為 internal 區域。
[root@localhost ~]# firewall-cmd --zone=internal --change-interface=ens33
5)顯示所有激活區域。
[root@localhost ~]# firewall-cmd --get-active-zones
為 了 方 便 管 理 , firewalld 預 先 定 義 了 很 多 服 務 , 存 放 在 /usr/lib/firewalld/services/ 目錄中,服務通過單個的 XML 配置文件來指定。這些配置文件則按以下格式命名:service-name.xml,每個文件對應一項具體的網絡服務,如 ssh 服
務等。與之對應的配置文件中記錄了各項服務所使用的 tcp/udp 端口。在最新版本的 firewalld 中默認已經定義了 70 多種服務供我們使用,對于每個網絡區域,均可以配置允 許訪問的服務。當默認提供的服務不適用或者需要自定義某項服務的端口時,我們需要將 service 配置文件放置在 /etc/firewalld/services/ 目錄中。service 配置具有以下優點。
(1) 通過服務名字來管理規則更加人性化。
(2) 通過服務來組織端口分組的模式更加高效,如果一個服務使用了若干個網絡端口,則服 務的配置文件就相當于提供了到這些端口的規則管理的批量操作快捷方式。
1、[--zone=<zone>] --list-services 顯示指定區域內允許訪問的所有服務
2、[--zone=<zone>] --add-service=<service> 為指定區域設置允許訪問的某項服務
3、[--zone=<zone>] --remove-service=<service> 刪除指定區域已設置的允許訪問的某項服務
4、[--zone=<zone>] --list-ports 顯示指定區域內允許訪問的所有端口號
5、[--zone=<zone>] --add-port=<portid>[-<portid>]/<protocol>
為指定區域設置允許訪問的某個/某段端口號 (包括協議名)
6、[--zone=<zone>] --remove-port=<portid>[-<portid>]/<protocol>
刪除指定區域已設置的允許訪問的端口號(包括 協議名)
7、[--zone=<zone>] --list-icmp-blocks 顯示指定區域內拒絕訪問的所有 ICMP 類型
8、[--zone=<zone>] --add-icmp-block=<icmptype> 為指定區域設置拒絕訪問的某項 ICMP 類型
9、[--zone=<zone>] --remove-icmp-block=<icmptype> 刪除指定區域已設置的拒絕訪問的某項 ICMP 類 型,省略--zone=<zone>時表示對默認區域操作
(1)為默認區域設置允許訪問的服務。
顯示默認區域內允許訪問的所有服務:
[root@localhost ~]# firewall-cmd --list-services
設置默認區域允許訪問 http 服務success
[root@localhost ~]# firewall-cmd --add-service=http
設置默認區域允許訪問 https 服務
[root@localhost ~]#firewall-cmd --add-service=https
(2)為 internal 區域設置允許訪問的服務。
設置 internal 區域允許訪問 mysql 服務
[root@localhost ~]# firewall-cmd --zone=internal --add-service=mysql
設置 internal 區域不允許訪問 samba-client 服務
[root@localhost~]#firewall-cmd --zone=internal --remove-service=samba-client
顯示 internal 區域內允許訪問的所有服務
[root@localhost ~]# firewall-cmd --zone=internal --list-services
在進行服務配置時,預定義的網絡服務可以使用服務名配置,服務所涉及的端口就會自
動打開。但是,對于非預定義的服務只能手動為指定的區域添加端口。例如,執行以下操作
即可實現在 internal 區域打開 443/TCP 端口。
[root@localhost ~]# firewall-cmd --zone=internal --add-port=443/tcp
若想實現在 internal 區域禁止 443/TCP 端口訪問,可執行以下命令。
[root@localhost ~]#firewall-cmd --zone=internal --remove-port=443/tcp
前面提到 firewall-cmd 命令工具有兩種配置模式:運行時模式(Runtime mode)表示 當前內存中運行的防火墻配置,在系統或 firewalld 服務重啟、停止時配置將失效;永久模 式(Permanent mode)表示重啟防火墻或重新加載防火墻時的規則配置,是永久存儲在配置 文件中的。
firewall-cmd 命令工具與配置模式相關的選項有三個。
(1) --reload:重新加載防火墻規則并保持狀態信息,即將永久配置應用為運行時配置。
(2) --permanent:帶有此選項的命令用于設置永久性規則,這些規則只有在重新啟動 firewalld 或重新加載防火墻規則時才會生效;若不帶有此選項,表示用于設置運行時 規則。
(3)--runtime-to-permanent:將當前的運行時配置寫入規則配置文件中,使之成為永久性
(1)Firewalld會優先使用/etc/fireewalld/中的配置,如果不存在配置做文件,則使用/usr/bin/firewalld/中的配置
(2)/etc/firewalld/:用戶自定義配置文件,需要時可通過從/usr/bin/firewalld/中拷貝
(3)/usr/bin/firewalld/:默認配置文件,不建議修改,若恢復至默認配置,可直接刪除/etc/firewalld/中的配置
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。