Firewalld 防火牆常用命令彙總

2021-10-14 04:41:07 字數 3801 閱讀 5781

三、firewalld區域的概念

六、firewalld防火牆的配置方法

七、常用的 firewall-cmd 命令選項

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

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

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

不中斷現有連線

不能修改服務配置

中斷現有連線

可以修改服務配置

1)使用firewall-cmd命令列工具。(常用)

2)使用firewall-config圖形工具。

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

systemctl start firewalld.service

--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=:為指定的區域刪除繫結的網路介面

--get-zone-of-source=[/] :顯示指定源位址繫結的區域

--zone=-add-source=[/] :為指定源位址繫結區域

--zone=-change-source=[/] :為指定的區域更改繫結的源位址

--zone=-remove-source=[/] :為指定的區域刪除繫結的源位址

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

[--zone=] --list-al1 :顯示所有指定區域的所有規則,省略--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 --get-default-zone

–runtime-to-permanent :將當前的執行時配置寫入規則配置檔案中,使之成為永久性配置。

配置firewalld防火牆

public 只容許訪問本機的sshd等少數幾個服務 trusted 容許任何訪問 block 阻塞任何來訪請求 drop 丟棄任何來訪的資料報 新增防火牆規則的位置包括 執行時 runtime 當前有效,過載防火牆後失效 永久 permanent 靜態配置,需要過載防火牆才能生效 本地埠 埠1 埠...

配置firewalld防火牆

題 請按下列要求在 system1 和 system2 上設定防火牆系統 允許 group8.example.com 域的客戶對 system1 和 system2 進行 ssh 訪問。禁止 my133t.org 域的客戶對 system1 和 system2 進行 ssh 訪問。備註 my133t...

firewalld防火牆設定

centos7 rhel7系統預設的iptables管理工具是firewalld,不再是以往的iptables services,命令用起來也是不一樣了,當然你也可以選擇解除安裝firewalld,安裝iptables services firewalld 服務管理 1.安裝firewalld yu...