如何在 CentOS 7 上禁用或关闭 Firewalld?如何在 CentOS 7 上禁用或关闭 Firewalld?如何在 CentOS 7 上禁用或关闭 Firewalld?如何在 CentOS 7 上禁用或关闭 Firewalld?
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 CentOS 7 上禁用或关闭 Firewalld?

介绍

Firewalld 是 CentOS 7 中包含的动态防火墙管理工具。它取代了之前的 iptables 服务,成为 CentOS 7 的默认防火墙工具。

Firewalld 旨在使管理防火墙规则变得更加容易,并在定义策略和规则集方面提供更大的灵活性。 CentOS 7 上 Firewalld 的主要目的是通过阻止与特定规则或策略不匹配的入站流量来保护您的系统免受未经授权的访问。

它还允许您根据您对特定网络或接口的信任级别来定义具有不同安全级别的不同网络区域。尽管有好处,但有人可能出于某些原因想要禁用或关闭 Firewalld。

了解 CentOS 7 上的 Firewalld

Firewalld 是与 CentOS 7 捆绑在一起的防火墙管理工具。它旨在为管理员提供易于使用的界面来管理系统上的防火墙规则。 Firewalld 使用区域根据传入流量和服务的预期用途对其进行分组。

默认情况下,CentOS 7 有几个预定义区域:公共、外部、内部、dmz 等。每个区域都有自己的一组预定义规则,规定应如何处理传入流量。

例如,公共区域允许传入 HTTP 和 HTTPS 流量,同时默认阻止所有其他传入流量。外部区域类似,但允许其他协议,例如 SMTP 或 POP3 电子邮件流量。

FirewallD还拥有丰富的服务集,可以根据管理员的需要启用或禁用。这些服务本质上是预先定义的端口和协议集合,它们组合在一起,以便在不同区域内轻松管理。

Firewalld 中的不同区域

如前所述,Firewalld 使用区域根据传入流量的预期用途对其进行隔离。以下是 CentOS 7 中可用的不同区域的简要概述:

  • 公共- 适用于连接到公共网络(例如互联网)的系统。它允许传入 HTTP 和 HTTPS 流量,同时默认阻止所有其他传入流量。

  • 外部- 与公共区域类似,但允许其他协议,例如 SMTP 或 POP3 电子邮件流量。 - 内部:用于 LAN 系统,它允许所有传出流量和客户端通常使用的一些常见服务(例如 DNS、DHCP)。

  • DMZ - 适用于可从内部和外部网络访问的托管服务器。它允许传入 HTTP、HTTPS、SMTP 和 SSH 流量,同时默认阻止其他所有流量。

  • 工作- 用于受信任网络环境中的桌面系统,需要启用 SSH 或 VNC 远程访问等某些服务。了解 Firewalld 在 CentOS 7 上的工作原理需要掌握其两个关键组件:区域和服务。

在 CentOS 7 上禁用或关闭 Firewalld

Firewalld 是 CentOS 7 中的一项重要安全功能,但在某些情况下您可能需要暂时或永久禁用或关闭它。在本节中,我们将讨论在 CentOS 7 上禁用或关闭 Firewalld 的三种方法。

方法一:使用systemctl命令

systemctl 命令是一个系统守护程序控制实用程序,用于启动和停止 CentOS 7 中的服务。要永久禁用 Firewalld 服务,请按照以下步骤操作:

  • 以 root 用户身份打开终端窗口。

  • 输入以下命令 -

systemctl stop firewalld          

这将立即停止 Firewalld 服务。

  • 输入以下命令 -

systemctl disable firewalld          

这将阻止 Firewalld 服务在系统引导期间自动启动。

方法二:使用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 在使用这些命令后仍继续启动,请通过运行以下命令确保在 systemd 的启动序列中未启用“firewalld”:

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 软件包。

©2015-2025 艾丽卡 support@alaica.com