服务器设置和教程 · 6 10 月, 2024

CentOS 7 之防火牆命令詳解

CentOS 7 之防火牆命令詳解

在伺服器管理中,防火牆是保護系統安全的重要工具。CentOS 7 使用了 firewalld 作為其預設的防火牆管理工具,這是一個動態的防火牆管理器,能夠簡化防火牆的配置和管理。本文將詳細介紹 CentOS 7 中的防火牆命令及其使用方法。

1. 安裝和啟用 firewalld

在 CentOS 7 中,firewalld 通常預設已安裝。如果尚未安裝,可以使用以下命令進行安裝:

sudo yum install firewalld

安裝完成後,可以使用以下命令啟用 firewalld

sudo systemctl start firewalld

為了確保 firewalld 在系統啟動時自動啟動,可以使用以下命令:

sudo systemctl enable firewalld

2. 查看防火牆狀態

要檢查 firewalld 的運行狀態,可以使用以下命令:

sudo systemctl status firewalld

此外,您還可以使用以下命令查看當前的防火牆規則:

sudo firewall-cmd --list-all

3. 基本命令

3.1 開放端口

要開放特定端口,例如 80 端口(HTTP),可以使用以下命令:

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent

執行完上述命令後,必須重新載入防火牆以使更改生效:

sudo firewall-cmd --reload

3.2 關閉端口

如果需要關閉某個端口,例如 80 端口,可以使用以下命令:

sudo firewall-cmd --zone=public --remove-port=80/tcp --permanent

同樣,執行完後需要重新載入防火牆:

sudo firewall-cmd --reload

3.3 開放服務

除了開放端口,您還可以直接開放服務,例如 HTTP 和 HTTPS:

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent

3.4 列出所有開放的端口和服務

要查看所有已開放的端口和服務,可以使用以下命令:

sudo firewall-cmd --list-all

4. 高級配置

4.1 使用區域

firewalld 支持多個區域,每個區域可以有不同的規則。您可以使用以下命令查看可用的區域:

sudo firewall-cmd --get-zones

要將某個接口分配到特定區域,可以使用以下命令:

sudo firewall-cmd --zone=home --change-interface=eth0

4.2 設定時間限制

您還可以為某些規則設定時間限制,例如開放某個端口僅在特定時間內有效。這需要使用 rich rules 來實現,具體命令如下:

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

5. 總結

在 CentOS 7 中,firewalld 提供了一個靈活且易於管理的防火牆解決方案。通過上述命令,您可以輕鬆地配置和管理防火牆規則,從而保護您的伺服器安全。無論是開放端口、關閉端口還是使用區域,firewalld 都能滿足您的需求。

如果您正在尋找高效的 VPS 解決方案,Server.HK 提供多種選擇,適合各種需求。無論是 香港伺服器 還是其他類型的 云伺服器,我們都能為您提供穩定的服務。