如何在CentOS 7上停用或關閉Firewalld?


介紹

Firewalld 是CentOS 7中包含的一個動態防火牆管理工具。它取代了之前的iptables服務,成為CentOS 7的預設防火牆工具。

Firewalld旨在簡化防火牆規則的管理,並提供在定義策略和規則集方面更大的靈活性。CentOS 7上Firewalld的主要目的是透過阻止與特定規則或策略不匹配的入站流量來保護您的系統免受未授權訪問。

它還允許您根據對特定網路或介面的信任級別定義具有不同安全級別的不同網路區域。儘管它有很多優點,但有些原因可能會導致有人想要停用或關閉Firewalld。

理解CentOS 7上的Firewalld

Firewalld是一個與CentOS 7捆綁在一起的防火牆管理工具。它旨在為管理員提供一個易於使用的介面,用於管理系統上的防火牆規則。Firewalld使用區域根據其預期用途對傳入流量和服務進行分組。

預設情況下,CentOS 7具有幾個預定義區域:公共區域(public)、外部區域(external)、內部區域(internal)、DMZ區域(dmz)和其他區域。每個區域都有自己的一組預定義規則,這些規則決定如何處理傳入流量。

例如,公共區域允許傳入HTTP和HTTPS流量,同時預設阻止所有其他傳入流量。外部區域類似,但允許其他協議,例如SMTP或POP3電子郵件流量。

Firewalld還擁有一套豐富的服務,可以根據管理員的需求啟用或停用。這些服務本質上是預定義的埠和協議集合,為了方便管理,它們在不同的區域中組合在一起。

Firewalld中的不同區域

如前所述,Firewalld使用區域根據其預期用途對傳入流量進行隔離。以下是CentOS 7中可用不同區域的簡要概述:

  • 公共區域 (Public) − 適用於連線到公共網路(如網際網路)的系統。它允許傳入HTTP和HTTPS流量,同時預設阻止所有其他傳入流量。

  • 外部區域 (External) − 與公共區域類似,但允許其他協議,例如SMTP或POP3電子郵件流量。- **內部區域 (Internal):** 用於區域網系統,它允許所有出站流量和客戶端通常使用的一些常見服務(例如,DNS、DHCP)。

  • DMZ區域 (DMZ) − 適用於託管可從內部和外部網路訪問的伺服器。它允許傳入HTTP、HTTPS、SMTP和SSH流量,同時預設阻止其他所有流量。

  • 工作區域 (Work) − 用於受信任網路環境中的桌面系統,需要啟用某些服務,例如SSH或VNC遠端訪問。要理解Firewalld在CentOS 7上的工作原理,需要掌握其兩個關鍵元件:區域和服務。

停用或關閉CentOS 7上的Firewalld

Firewalld是CentOS 7中重要的安全功能,但在某些情況下,您可能需要暫時或永久停用或關閉它。在本節中,我們將討論三種在CentOS 7上停用或關閉Firewalld的方法。

方法1:使用systemctl命令

systemctl命令是一個系統守護程序控制實用程式,用於在CentOS 7中啟動和停止服務。要永久停用Firewalld服務,請按照以下步驟操作:

  • 以root使用者身份開啟終端視窗。

  • 輸入以下命令:

systemctl stop firewalld          

這將立即停止Firewalld服務。

  • 輸入以下命令:

systemctl disable firewalld          

這將阻止Firewalld服務在系統啟動時自動啟動。

方法2:使用firewall-cmd命令

firewall-cmd命令列工具允許您直接從終端視窗配置和管理Firewalld規則。您可以使用此工具暫時或永久關閉特定區域,方法如下:

  • 以root使用者身份開啟終端視窗。

  • 透過執行以下命令確定要停用的區域:

firewall-cmd --get-active-zones          

這將顯示系統的所有活動區域。

  • 使用以下命令關閉您選擇的區域:

firewall-cmd --zone=public --remove-interface=eth0 --permanent          

將“public”替換為您所需的區域名稱,將“eth0”替換為您的網路介面名稱。

  • 重新載入Firewalld規則以使更改生效:

firewall-cmd --reload          

方法3:刪除Firewalld包

如果您根本不需要Firewalld,則可以從系統中刪除整個包。刪除Firewalld包將永久停用並從CentOS 7中刪除Firewalld。為此,請按照以下步驟操作:

  • 以root使用者身份開啟終端視窗。

  • 輸入以下命令以解除安裝firewall-cmd包:

yum remove firewalld          
  • 確認您要繼續刪除該包。

  • 等待yum完成刪除包。

注意:刪除Firewalld包可能會導致依賴於它的其他服務出現問題。

停用或關閉Firewalld時常見問題的故障排除

檢查firewalld是否正在執行

在CentOS 7系統上停用或關閉Firewalld之前,您首先需要檢查該服務當前是否正在執行。為此,您可以使用以下命令:

systemctl status firewalld           

如果命令的輸出顯示Firewalld當前處於活動狀態並正在執行,則在停用或關閉它之前,需要先停止它。您可以使用`systemctl stop firewalld`命令停止該服務。

如果由於某種原因,即使使用這些命令後Firewalld仍然啟動,請確保`firewalld`未在systemd的啟動序列中啟用,方法是執行:

systemctl disable firewalld           

檢查iptables服務是否正在執行

Firewalld提供了一個高階介面,用於配置防火牆規則和管理網路流量。它作為守護程序在您的系統上執行,並與iptables/netfilter核心模組互動以執行其規則。

如果未安裝和/或啟用`iptables`,則在嘗試停用Firewalld時會遇到問題。使用以下命令檢查iptables服務是否正在執行:

systemctl status iptables          

如果未安裝或啟用,請執行:

yum install iptables-services -y systemctl enable iptables 
systemctl start iptables

啟用`iptables`後,您應該可以毫無問題地停用Firewalld。

驗證埠是否已開啟

在CentOS 7上停用Firewalld時,使用者面臨的另一個常見問題是確保所有必需的埠都已開啟。即使在停用firewallD之後,如果某些埠預設被阻止,某些服務也可能無法正常工作。

要驗證當前在系統上開啟並可訪問的埠,可以使用`nmap`命令:```nmap localhost```

這將為您提供系統上所有開啟埠的列表。如果您發現某些埠未開啟,則需要將它們新增到iptables規則或服務檔案中以允許流量透過。

結論

Firewalld是保護您的網路並保護您的CentOS 7系統免受未授權訪問的重要工具。但是,在某些情況下,您可能需要暫時或永久停用或關閉Firewalld。在本文中,我們討論了三種在CentOS 7上停用或關閉Firewalld的方法:使用systemctl命令、使用firewall-cmd命令以及完全刪除Firewalld包。

更新於:2023年7月10日

瀏覽量:683

啟動您的職業生涯

完成課程獲得認證

開始
廣告