linux的Firewalld防火牆概述

2021-10-20 05:55:36 字數 4538 閱讀 3406

1.3 firewalld 區域的概念

1.4 firewalld資料處理流程

二、firewalld防火牆的配置

2.3 服務管理

2.4 埠管理

firewalld防火牆是centos7系統預設的防火牆管理工具,取代了之前的iptables防火牆,也是工作在網路層,屬於包過濾防火牆

firewalld和iptables都是用來管理防火牆的工具(屬於使用者態)來定義防火牆的各種規則功能,內部結構都指向netfilter網路過濾子系統(屬於核心態)來實現包過濾防火牆功能。

firewalld提供了支援網路區域所定義的網路連線以及介面安全等級的動態防火牆管理工具。

它支援ipv4、 ipv6防火牆設定以及乙太網橋(在某些高階服務可能會用到,比如雲計算),並且擁有兩種配置模式:執行時配置與永久配置。

iptables主要是基於介面,來設定規則,從而判斷網路的安全性。

firewalld是基於區域,根據不同的區域來設定不同的規則,從而保證網路的安全。與硬體防火牆的設定相類似。

iptables 在 /etc/sysconfig/iptables 中儲存配置,

firewalld 將配置儲存在 /etc/firewalld/(優先載入)和 /usr/lib/firewalld/(預設的配置檔案)中的各種 xml 檔案裡。

使用 iptables 每乙個單獨更改意味著清除所有舊有的規則和從/etc/sysconfig/iptables 裡讀取所有新的規則

使用 firewalld 卻不會再建立任何新的規則,僅僅執行規則中的不同之處。因此firewalld 可以在執行時間內,改變設定而不丟失現行連線。

iptables防火牆型別為靜態防火牆

firewalld防火牆型別為動態防火牆

firewalld防火牆為了簡化管理,將所有網路流量分為多個區域(zone)。然後根據資料報的源ip位址或傳入的網路介面等條件將流量傳入相應區域。每個區域都定義了自己開啟或者關閉的埠和服務列表。

firewalld防火牆預定義了9個區域

區域名稱

作用trusted(信任區域)

允許所有的傳入流量。

public(公共區域)

允許與ssh或dhcpv6-client預定義服務匹配的傳入流量,其餘均拒絕。是新新增網路介面的預設區域。

external(外部區域)

允許與 ssh 預定義服務匹配的傳入流量,其餘均拒絕。 預設將通過此區域**的ipv4傳出流量將進行位址偽裝,可用於為路由器啟用了偽裝功能的外部網路。

home(家庭區域)

允許與ssh、ipp-client、mdns、samba-client或dhcpv6-client預定義服務匹配的傳入流量,其餘均拒絕。

internal(內部區域)

預設值時與home區域相同。

work(工作區域)

允許與 ssh、ipp-client、dhcpv6-client 預定義服務匹配的傳入流量,其餘均拒絕。

dmz(隔離區域也稱為非軍事區域)

允許與 ssh 預定義服務匹配的傳入流量,其餘均拒絕。

block(限制區域)

拒絕所有傳入流量。

drop(丟棄區域)

丟棄所有傳入流量,並且不產生包含 icmp的錯誤響應。

最終乙個區域的安全程度是取決於管理員在此區域中設定的規則。

區域如同進入主機的安全門,每個區域都具有不同限制程度的規則,只會允許符合規則的流量傳入。

可以根據網路規模,使用乙個或多個區域,但是任何乙個 活躍區域 至少需要關聯 源位址或介面。

預設情況下,public區域是預設區域,包含所有介面(網絡卡)

firewalld對於進入系統的資料報,會根據資料報的源ip位址或傳入的網路介面等條件,將資料流量轉入相應區域的防火牆規則。對於進入系統的資料報,首先檢查的就是其源位址。

firewalld檢查資料報的源位址的規則:

1.若源位址關聯到特定的區域(即源位址或介面繫結的區域有衝突),則執行該區域所制定的規則。

2.若源位址未關聯到特定的區域(即源位址或介面繫結的區域沒有衝突),則使用傳入網路介面的區域並執行該區域所制定的規則。

3.若網路介面也未關聯到特定的區域(即源位址或介面都沒有繫結特定的某個區域),則使用預設區域並執行該區域所制定的規則。

使用firewall-cmd 命令列工具。

使用firewall-config 圖形工具。

編寫/etc/firewalld/中的配置檔案。

systemctl start firewalld.service        #開啟防火牆服務
常用的firewall-cmd 命令選項

--get-default-zone :顯示當前預設區域

--set-default-zone=

:設定預設區域

--get-active-zones :顯示當前正在使用的區域及其對應的網絡卡介面

--get-zones :顯示所有可用的區域

--get-zone-of-inte***ce=

:顯示指定介面繫結的區域

--zone=

--add-inte***ce=

:為指定介面繫結區域

--zone=

--change-inte***ce=

:為指定的區域更改繫結的網路介面

--zone=

--remove-inte***ce=

:為指定的區域刪除繫結的網路介面

--list-all-zones :顯示所有區域及其規則

[--zone=

] --list-all :顯示所有指定區域的所有規則,省略--zone=

時表示僅對預設區域操作

[--zone=

] --list-services :顯示指定區域內允許訪問的所有服務

[--zone=

] --add-service=

:為指定區域設定允許訪問的某項服務

[--zone=

] --remove-service=

:刪除指定區域已設定的允許訪問的某項服務

[--zone=

] --list-ports :顯示指定區域內允許訪問的所有埠號

[--zone=

] --add-port=

[-]/ :為指定區域 設定允許訪問的某個/某段埠號(包括協議名)

[--zone=

] --remove-port=

[-]/ :刪除指定區域已設定的允許訪問的埠號(包括協議名)

[--zone=

] --list-icmp-blocks :顯示指定區域內拒絕訪問的所有 icmp 型別

[--zone=

] --add-icmp-block=

:為指定區域設定拒絕訪問的某項 icmp 型別

[--zone=

] --remove-icmp-block=

:刪除指定區域已設定的拒絕訪問的某項icmp型別

firewall-cmd --get-icmptypes :顯示所有 icmp 型別

firewall-cmd --get-default-zone
firewall-cmd --list-all
firewall-cmd --get-active-zones
firewall-cmd --set-default-zone=home

firewall-cmd --list-all

--runtime-to-permanent:將當前的執行時配置寫入規則配置檔案中,使之成為永久性配置。
firewall-cmd --zone=internal --add-port=443/tcp

firewall-cmd --list-all --zone=internal

firewall-cmd --zone=internal --remove-port=443/tcp
firewall-cmd --add-port=2048-2050/udp

firewall-cmd --list-all

Linux學習之firewalld的基本使用命令

啟動 systemctl start firewalld 檢視狀態 systemctl status firewalld 停止 systemctl disable firewalld 禁用 systemctl stop firewalld 檢視版本 firewall cmd version 檢視幫助...

Linux用firewalld操作埠

修改 1 firewalld的基本使用 啟動 systemctl start firewalld 關閉 systemctl stop firewalld 檢視狀態 systemctl status firewalld 開機禁用 systemctl disable firewalld 開機啟用 sys...

Linux系統Firewalld基本使用

啟動 systemctl start firewalld 關閉 systemctl stop firewalld 檢視狀態 systemctl status firewalld 開機禁用 systemctl disable firewalld 開機啟用 systemctl enable firewa...