一、簡單介紹
Firewalld是CentOS系統(tǒng)自帶的一種動態(tài)防火墻管理工具。是一個前端工具,用于管理Linux系統(tǒng)上的netfilter防火墻規(guī)則。Firewalld提供了一種簡化和易于使用的方法來配置和管理防火墻。
二、特點(diǎn)和功能:
2.1、區(qū)域(Zone):
Firewalld使用區(qū)域來定義不同的網(wǎng)絡(luò)環(huán)境,如公共網(wǎng)絡(luò)、內(nèi)部網(wǎng)絡(luò)和信任網(wǎng)絡(luò)等。每個區(qū)域都有自己的防火墻規(guī)則集合,可以根據(jù)網(wǎng)絡(luò)環(huán)境的不同選擇適當(dāng)?shù)膮^(qū)域。預(yù)定義的區(qū)域包括公共(public)、私有(private)、可信(trusted)、工作(work)和家庭(home)。
2.2、運(yùn)行時和永久配置:
Firewalld支持運(yùn)行時和永久配置。運(yùn)行時配置的更改在重新啟動后會被重置,而永久配置則會持久保存并在系統(tǒng)重新啟動后生效。
2.3、服務(wù)和端口:
Firewalld可以通過定義服務(wù)和端口來管理訪問控制。服務(wù)是一組預(yù)定義的規(guī)則,用于允許或拒絕特定的網(wǎng)絡(luò)服務(wù)。端口規(guī)則允許或拒絕特定的端口號。
2.4、動態(tài)更新:
Firewalld支持動態(tài)更新防火墻規(guī)則,這意味著您可以在運(yùn)行時添加、刪除或修改規(guī)則,而無需重新加載整個防火墻配置。
2.5、連接跟蹤:
Firewalld使用連接跟蹤來跟蹤網(wǎng)絡(luò)連接狀態(tài)。它可以自動識別和允許與現(xiàn)有連接相關(guān)的回復(fù)流量。
2.6、D-Bus接口:
Firewalld提供了一個D-Bus接口,允許其他應(yīng)用程序通過API與其交互,從而實(shí)現(xiàn)更高級的防火墻配置和管理。
總體而言,F(xiàn)irewalld提供了一種靈活而強(qiáng)大的方式來管理CentOS系統(tǒng)上的防火墻。它使管理員能夠輕松配置和調(diào)整防火墻規(guī)則,以保護(hù)系統(tǒng)免受未經(jīng)授權(quán)的訪問和網(wǎng)絡(luò)攻擊。
三、如何設(shè)置規(guī)則
例子:使用Firewalld設(shè)置防火墻規(guī)則,以限制對nginx服務(wù)器8088端口的訪問,只允許IP為192.168.2.100的運(yùn)維服務(wù)器訪問,同時對其他端口不做任何限制。
3.1、首先,確認(rèn)防火墻服務(wù)已經(jīng)啟動并正在運(yùn)行,如果服務(wù)未啟動,請啟動服務(wù);
#檢查防火墻狀態(tài)
systemctl status firewalld
#啟動防火墻服務(wù)
systemctl start firewalld
#檢查是否設(shè)置開機(jī)啟動
systemctl is-enabled firewalld
#設(shè)置開機(jī)啟動
systemctl enable firewalld
3.2、新建防火墻規(guī)則的服務(wù),添加端口的TCP訪問規(guī)則;
#創(chuàng)建一個名為 "nginxserver" 的新服務(wù),并設(shè)置其描述為 "nginx Service"。
firewall-cmd --permanent --new-service=nginxserver --set-description="nginx Service"
#將端口8088/tcp 添加到 "nginxserver" 服務(wù)的防火墻規(guī)則中。這將允許通過8088端口進(jìn)行TCP通信。
firewall-cmd --permanent --service=nginxserver --add-port=8088/tcp
#重新加載防火墻配置,以使新的服務(wù)和規(guī)則生效。
firewall-cmd --reload
#查詢所有已定義的服務(wù)
firewall-cmd --get-services
#查詢特定服務(wù)的具體信息
firewall-cmd --info-service=nginxserver
#刪除特定服務(wù)的規(guī)則
firewall-cmd --permanent --delete-service=nginx-http
firewall-cmd --reload
3.3、新建一個防火墻區(qū)域,將IP地址添加到區(qū)域的源地址列表中,將服務(wù)添加到區(qū)域的服務(wù)列表中;
#創(chuàng)建一個名為 "opsserver" 的新區(qū)域,并設(shè)置其描述為 "Ops Server Zone"。這將在防火墻中創(chuàng)建一個新的區(qū)域。
firewall-cmd --permanent --new-zone=opsserver --set-description="Ops Server Zone"
#將IP地址 192.168.2.100 添加到 "opsserver" 區(qū)域的源列表中。這意味著只有來自該IP地址的流量才能通過該區(qū)域。
firewall-cmd --permanent --zone=opsserver --add-source=192.168.2.100
#將"nginxserver" 服務(wù)添加到 "opsserver" 區(qū)域的源列表中
firewall-cmd --permanent --zone=opsserver --add-service=nginxserver
#重新加載firewalld配置,以使新的服務(wù)和規(guī)則生效。
firewall-cmd --reload
#查詢已定義的區(qū)域
firewall-cmd --get-zones
#查詢特定區(qū)域的具體信息
firewall-cmd --zone=opsserver --list-all
#刪除特定區(qū)域的規(guī)則
firewall-cmd --permanent --delete-zone=
firewall-cmd --reload
#刪除特定區(qū)域中的規(guī)則內(nèi)容
firewall-cmd --zone=<區(qū)域名稱> --remove-<規(guī)則類型>=<規(guī)則內(nèi)容>
其中,將 <區(qū)域名稱> 替換為要刪除規(guī)則的區(qū)域名稱,<規(guī)則類型> 替換為要刪除的規(guī)則類型(例如rich-rule、service、port等),<規(guī)則內(nèi)容> 替換為要刪除的規(guī)則內(nèi)容。
注意:
①確保你有足夠的權(quán)限執(zhí)行上述命令,否則可能需要使用 sudo
②以上命令中使用了 `--permanent` 選項(xiàng),以確保規(guī)則在系統(tǒng)重啟后仍然有效。如果您想要在不重啟系統(tǒng)的情況下立即應(yīng)用規(guī)則,請省略 `--permanent` 選項(xiàng)。
3.4、現(xiàn)在,只有來自 IP 地址為 192.168.2.100 的運(yùn)維服務(wù)器的流量可以訪問端口 8088,其他所有流量都將被阻止。對于其他端口,沒有任何限制。
①當(dāng)IP為192.168.2.100時,nginx訪問正常,可以ping通,并且端口訪問正常;
②當(dāng)IP為192.168.2.13時,無法ping通nginx服務(wù)器,并且端口無法訪問,但是其他端口不受限制,可以正常訪問;
3.5、如果要設(shè)置僅可通過192.168.2.100訪問nginx服務(wù)器的8088端口,而其他所有端口和IP都禁止訪問,那么可以將默認(rèn)的 Firewalld 區(qū)域設(shè)置為 "drop",在 "drop" 區(qū)域中,所有入站和出站的網(wǎng)絡(luò)連接都將被丟棄,而不會給任何響應(yīng)。
#將默認(rèn)的防火墻區(qū)域設(shè)置為 "drop",即丟棄所有連接。
firewall-cmd --set-default-zone=drop
firewall-cmd --reload
如何需要限制其他端口和IP訪問,只需要替換上面例子中的IP地址和端口號為你實(shí)際使用的值即可。
四、簡單的規(guī)則設(shè)置
在上面的方法中,我們通過新建規(guī)則中的服務(wù)和區(qū)域?qū)崿F(xiàn)對特定服務(wù)的訪問控制,并根據(jù)網(wǎng)絡(luò)環(huán)境的安全性要求來限制不同區(qū)域的訪問權(quán)限。
當(dāng)然,如果不需要復(fù)雜的控制也可直接在public區(qū)域中添加要限制的端口和IP地址就可以了。
4.1、檢查默認(rèn)的區(qū)域,如果默認(rèn)的Zone不是Public,則需切換到Public Zone;
#查詢默認(rèn)的區(qū)域
firewall-cmd --get-default-zone
#將默認(rèn)區(qū)域設(shè)置為public
firewall-cmd --set-default-zone=public
4.2、添加限制端口及IP的規(guī)則
#添加允許訪問端口8088的規(guī)則,只允許IP為192.168.2.100的訪問
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.2.100" port protocol="tcp" port="8088" accept'
#重新加載防火墻配置:
firewall-cmd --reload
4.3、驗(yàn)證規(guī)則是否生效:
firewall-cmd --list-all
通過以上步驟同樣可以實(shí)現(xiàn)限制對端口8088的訪問,只允許IP為192.168.2.100的運(yùn)維服務(wù)器訪問,并不對其他端口做任何限制。
五、查詢防火墻配置
#查看當(dāng)前生效的防火墻規(guī)則
firewall-cmd --list-all
這將顯示當(dāng)前活動區(qū)域的所有規(guī)則,包括允許的端口、源地址等信息。
#查看特定區(qū)域的規(guī)則
firewall-cmd --zone=--list-all
將``替換為你要查看規(guī)則的區(qū)域名稱,例如`public`、`restricted`等。
#查看特定端口的規(guī)則
firewall-cmd --zone=--list-ports
將``替換為你要查看規(guī)則的區(qū)域名稱。這將顯示指定區(qū)域中允許的端口列表。
#查看特定服務(wù)的規(guī)則
firewall-cmd --zone=--list-services
將``替換為你要查看規(guī)則的區(qū)域名稱。這將顯示指定區(qū)域中允許的服務(wù)列表。
通過以上命令將顯示與防火墻規(guī)則相關(guān)的信息,包括允許的端口、源地址、服務(wù)等。另外,也可以直接查看配置文件,F(xiàn)irewalld的配置目錄為/etc/firewalld/。
六、最后要說的
因?yàn)槭沁厡W(xué)邊寫的這篇文章,所以內(nèi)容很簡陋僅有一個例子,但也希望通過這一遍文章能夠讓你對firewalld防火墻配置有一點(diǎn)點(diǎn)了解,如果要熟練的掌握還需要深入的學(xué)習(xí)和不斷的練習(xí),文章中如有錯誤請您留言指出,感謝感謝。
審核編輯:劉清
-
CMD命令
+關(guān)注
關(guān)注
0文章
28瀏覽量
8352 -
CentOS
+關(guān)注
關(guān)注
0文章
79瀏覽量
13829 -
TCP通信
+關(guān)注
關(guān)注
0文章
146瀏覽量
4295
原文標(biāo)題:Centos7如何配置firewalld防火墻規(guī)則
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
Linux系統(tǒng)iptables和firewall防火墻的配置方法
![Linux系統(tǒng)iptables和firewall<b class='flag-5'>防火墻</b>的<b class='flag-5'>配置</b>方法](https://file1.elecfans.com/web2/M00/8C/E1/wKgaomS0qT6AMTzuAAAZrmA7NU0823.png)
Linux系統(tǒng)firewalld防火墻實(shí)戰(zhàn)指南
![Linux系統(tǒng)<b class='flag-5'>firewalld</b><b class='flag-5'>防火墻</b>實(shí)戰(zhàn)指南](https://file1.elecfans.com/web2/M00/A8/63/wKgaomUs-MWAAh2mAACli-YVKQE237.png)
Linux防火墻的配置方法(firewalld服務(wù))
發(fā)現(xiàn) STM32 防火墻的安全配置
防火墻的配置
![<b class='flag-5'>防火墻</b>的<b class='flag-5'>配置</b>](https://file1.elecfans.com//web2/M00/A4/66/wKgZomUMNAuAfKghAAAwOPPR2p0104.jpg)
Cent OS 7 上的防火墻設(shè)置教程來了
![Cent OS <b class='flag-5'>7</b> 上的<b class='flag-5'>防火墻</b>設(shè)置教程來了](https://file.elecfans.com/web1/M00/50/B2/pIYBAFr5MHWAC2iCAAAWDvlSx94216.png)
什么是防火墻?防火墻如何工作?
如何列出和刪除防火墻規(guī)則UFW
Linux防火墻配置(iptables和firewalld)
淺析Centos7 防火墻技術(shù)示例
![淺析<b class='flag-5'>Centos7</b> <b class='flag-5'>防火墻</b>技術(shù)示例](https://file1.elecfans.com/web2/M00/C4/C1/wKgaomXuz06ALb0GAABKvpmihr0283.png)
評論