firewalld防火牆是centos7系統預設的防火牆管理工具,取代了之前的iptables防火牆,也是工作在網路層,屬於包過濾防火牆。
firewalld和iptables都是用來管理防火牆的工具(屬於使用者態)來定義防火牆的各種規則功能,內部結構都指向netfilter網路過濾子系統(屬於核心態)來實現包過濾防火牆功能。
firewalld提供了支援網路區域所定義的網路連線以及介面安全等級的動態防火牆管理工具。它支援ipv4、ipv6防火牆設定以及乙太網橋(在某些高階服務可能會用到,比如雲計算)並且擁有兩種配置模式:執行時配置與永久配置。
1.iptables主要是基於介面,來設定規則,從而判斷網路的安全性。
firewalld是基於區域,根據不同的區域來設定不同的規則,從而保證網路的安全。與硬體防火牆的設定相類似。
2.iptables在/etc/sysconfig/iptables中儲存配置,
firewalld將配置儲存在/etc/firewalld/ (優先載入)和/usr/lib/firewalld/ (預設的配置檔案)中的各種xml檔案裡。
3.使用iptables每乙個單獨更改意味著清除所有舊有的規則和從/etc/sysconfig/iptables裡讀取所有新的規則。使用firewalld卻不會再建立任何新的規則,僅僅執行規則中的不同之處。因此firewalld可以在執行時間內,改變設定而不丟失現行連線。
4.iptables防火牆型別為靜態防火牆firewalld防火牆型別為動態防火牆
firewalld防火牆為了簡化管理,將所有網路流量分為多個區域(zone) 。然後根據資料報的源ip位址或傳入的網路介面等條件將流量傳入相應區域。每個區域都定義了自己開啟或者關閉的埠和服務列表。
1、trusted (信任區域) :允許所有的傳入流量。
2、public (公共區域) :允許與ssh或dhcpv6-client預定義服務匹配的傳入流量,其餘均拒絕。是新新增網路介面的預設區域。
3、external (外部區域) :允許與ssh預定義服務匹配的傳入流量,其餘均拒絕。
預設將通過此區域**的ipv4傳出流量將進行位址偽裝,可用於為路由器啟用了偽裝功能的外部網路,
4、home (家庭區域) :允許與ssh,ipp-client,mdns、 samba-client或dhcpv6-client預定義服務匹配的傳入流量,其餘均拒絕。
5、internal (內部區域) :預設值時與home區域相同,
6、work (工作區域) :允許與ssh, ipp-client, dhcpv6-client預定義服務匹配的傳入流量,其餘均拒絕。
7、dmz (隔離區域也稱為非軍事區域) :允許與ssh預定義服務匹配的傳入流量,其餘均拒絕
8、block (限制區域) :拒絕所有傳入流量。
9、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=:為指定的區域刪除繫結的網路介面
--zone=--add-source=[/] :為指定源位址繫結區域
--zone=--change-source=[/] :為指定的區域更改繫結的源位址
--zone=--remove-source=[/] :為指定的區域刪除繫結的源位址
--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 --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
Firewalld 防火牆基礎
firewalld簡介 支援網路區域所定義的網路鏈結以及介面安全等級的動態防火牆管理工具 支援ipv4 ipv6防火牆設定以及乙太網橋 支援服務或應用程式直接新增防火牆規則介面 擁有兩種配置模式 執行時配置 永久配置 firewalld和iptables的關係 netfilter 位於linux核心...
防火牆基礎
隔離,嚴格過濾入站,允許出站。防火牆有無數個域,其中又有4個常用的域分別是 1 首先檢視客戶端請求的資料報 源ip 目標ip 資料 中,源ip位址然後檢測自己所有區域中,哪個區域有此源ip位址的規則,然後進入該區域。2 如果條件一不成立,則會進入預設區域 預設區域為public 修改預設埠為bloc...
配置firewalld防火牆
public 只容許訪問本機的sshd等少數幾個服務 trusted 容許任何訪問 block 阻塞任何來訪請求 drop 丟棄任何來訪的資料報 新增防火牆規則的位置包括 執行時 runtime 當前有效,過載防火牆後失效 永久 permanent 靜態配置,需要過載防火牆才能生效 本地埠 埠1 埠...