1. 安裝和啟動 firewalld

在 CentOS 系統(tǒng)中,firewalld 通常是默認(rèn)安裝的。如果你的系統(tǒng)中沒有安裝,可以使用以下命令進(jìn)行安裝:

sudo yum install firewalld

安裝完成后,可以使用以下命令啟動 firewalld 服務(wù):

sudo systemctl start firewalld

如果需要設(shè)置開機(jī)自啟,可以執(zhí)行以下命令:

sudo systemctl enable firewalld

2. 配置防火墻規(guī)則

firewalld 提供了許多預(yù)定義的服務(wù),可以通過啟用這些服務(wù)來快速配置防火墻規(guī)則。例如,可以通過以下命令開啟 HTTP 服務(wù):

sudo firewall-cmd --permanent --add-service=http

除了使用預(yù)定義的服務(wù),我們也可以手動添加端口規(guī)則。例如,開放 22 端口(SSH):

sudo firewall-cmd --permanent --add-port=22/tcp

修改完成后,需要重新加載防火墻配置:

sudo firewall-cmd --reload

3. 管理防火墻區(qū)域

firewalld 支持多個預(yù)定義的區(qū)域,每個區(qū)域都有不同的默認(rèn)規(guī)則。通常情況下,我們可以使用以下命令查看當(dāng)前使用的區(qū)域:

sudo firewall-cmd --get-active-zones

如果需要切換區(qū)域,可以使用以下命令:

sudo firewall-cmd --set-default-zone=trusted

4. 添加自定義規(guī)則

除了使用預(yù)定義的服務(wù)和端口規(guī)則,我們還可以添加自定義規(guī)則。例如,允許 192.168.1.0/24 網(wǎng)段訪問 80 端口:

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="80" accept'

添加完成后,需要重新加載防火墻配置:

sudo firewall-cmd --reload

5. 查看和監(jiān)控防火墻狀態(tài)

可以使用以下命令查看防火墻狀態(tài):

sudo firewall-cmd --state

如果需要查看當(dāng)前生效的規(guī)則,可以使用以下命令:

sudo firewall-cmd --list-all

我們也可以通過日志文件來監(jiān)控防火墻的活動情況,日志文件位于 /var/log/firewalld.log。

6. 備份和恢復(fù)防火墻配置

為了保護(hù)防火墻配置,我們可以定期備份配置文件??梢允褂靡韵旅顚?dāng)前配置導(dǎo)出為 XML 文件:

sudo firewall-cmd --export > firewall-config.xml

如果需要恢復(fù)配置,可以使用以下命令導(dǎo)入 XML 文件:

sudo firewall-cmd --reload --import-xml=firewall-config.xml

綜上所述,通過對 CentOS 防火墻的深入了解和配置,我們可以有效地保護(hù)服務(wù)器免受外部攻擊,確保服務(wù)器的安全性和可靠性。希望本文對您的 CentOS 服務(wù)器管理有所幫助。