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

CentOS 7 中 firewall 防火牆詳解和配置以及切換為 iptables 防火牆

CentOS 7 中 Firewall 防火牆詳解和配置以及切換為 iptables 防火牆

在 CentOS 7 中,防火牆是保護伺服器安全的重要組件。隨著網絡攻擊的日益增多,正確配置防火牆變得尤為重要。本文將詳細介紹 CentOS 7 中的防火牆配置,並指導如何切換至 iptables 防火牆。

CentOS 7 中的防火牆概述

CentOS 7 預設使用 firewalld 作為防火牆管理工具。firewalld 提供了一個動態的防火牆管理方式,允許用戶在不重啟防火牆的情況下進行配置。它使用區域和服務的概念來簡化防火牆規則的管理。

firewalld 的基本概念

  • 區域(Zones): 定義了不同的網絡信任級別。每個區域可以有不同的規則。
  • 服務(Services): 預定義的應用程序或協議,firewalld 允許用戶輕鬆地開放或關閉這些服務。

firewalld 的安裝與啟用

在 CentOS 7 中,firewalld 通常是預裝的。如果需要安裝,可以使用以下命令:

sudo yum install firewalld

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

sudo systemctl start firewalld

要確保 firewalld 在系統啟動時自動啟動,可以使用:

sudo systemctl enable firewalld

firewalld 的基本配置

以下是一些基本的 firewalld 配置命令:

  • 查看當前區域:
  • sudo firewall-cmd --get-active-zones
  • 查看某個區域的規則:
  • sudo firewall-cmd --zone=public --list-all
  • 開放端口(例如 80 端口):
  • sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
  • 重新載入防火牆以應用更改:
  • sudo firewall-cmd --reload

切換至 iptables 防火牆

雖然 firewalld 提供了方便的管理方式,但有些用戶可能更喜歡使用傳統的 iptables。以下是如何在 CentOS 7 中切換至 iptables 的步驟:

停用 firewalld

首先,需要停用 firewalld:

sudo systemctl stop firewalld
sudo systemctl disable firewalld

安裝 iptables-services

接下來,安裝 iptables-services 包:

sudo yum install iptables-services

啟用 iptables

啟用 iptables 並設置為開機自啟:

sudo systemctl start iptables
sudo systemctl enable iptables

配置 iptables 規則

可以使用以下命令來查看當前的 iptables 規則:

sudo iptables -L -n -v

要添加規則,例如開放 80 端口,可以使用:

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

最後,保存 iptables 規則以便於重啟後仍然生效:

sudo service iptables save

總結

在 CentOS 7 中,firewalld 和 iptables 都是強大的防火牆管理工具。根據用戶的需求,可以選擇使用 firewalld 的動態管理特性,或是使用 iptables 的傳統方式進行更細緻的控制。無論選擇哪種方式,正確的防火牆配置都是確保伺服器安全的關鍵。

如果您正在尋找高效的 香港VPS 解決方案,Server.HK 提供多種選擇,滿足不同用戶的需求。無論是防火牆配置還是伺服器管理,我們都能為您提供支持。