CentOs命令firewalld
firewalld
是 CentOS 7 及其后续版本中默认的防火墙管理工具,用于管理防火墙规则和配置。下面是一些常用的 firewalld
命令以及它们的详细解释:
-
查看防火墙状态:
sudo firewall-cmd --state
这个命令用于查看
firewalld
的当前状态,它是否正在运行或已停止。 -
查看防火墙规则:
sudo firewall-cmd --list-all
这个命令会列出所有的防火墙规则,包括已加载的服务、端口和区域信息。
-
查看指定区域的规则:
sudo firewall-cmd --zone=public --list-all
使用
--zone
参数可以查看特定区域(例如:public、internal、dmz)的规则。 -
添加端口:
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
这个命令将端口 80(TCP)添加到
public
区域的防火墙规则中,并使用--permanent
标志使规则持久化。 -
删除端口:
sudo firewall-cmd --zone=public --remove-port=80/tcp --permanent
这个命令将从
public
区域的防火墙规则中删除端口 80(TCP)。 -
添加服务:
sudo firewall-cmd --zone=public --add-service=http --permanent
这个命令将 HTTP 服务添加到
public
区域的防火墙规则中,并使用--permanent
标志使规则持久化。 -
删除服务:
sudo firewall-cmd --zone=public --remove-service=http --permanent
这个命令将从
public
区域的防火墙规则中删除 HTTP 服务。 -
重新加载防火墙:
sudo firewall-cmd --reload
使用此命令可以重新加载防火墙配置,使更改生效,而不需要重启防火墙服务。
-
永久生效规则:
在上述示例中,
--permanent
标志用于使规则持久化,这意味着它们将在系统重启后仍然有效。如果不使用--permanent
标志,规则将在系统重启后失效。
firewalld
是一个灵活的工具,允许您根据需要添加、删除或修改防火墙规则。使用上述命令,您可以轻松地配置防火墙以保护您的系统并控制网络流量。请根据您的具体需求调整这些命令。
public
、internal
和 dmz
是 firewalld
防火墙中的不同区域,用于定义网络的不同安全级别和访问策略。以下是这些区域的详细解释:
-
public(公共区域):
public
区域通常用于不受信任的网络,例如互联网。这是最高安全级别的区域,会严格限制进入系统的流量。- 在
public
区域中,防火墙规则可能会限制许多端口和服务,以确保系统的安全性。 - 默认情况下,
firewalld
将外部网络接口分配给public
区域。
-
internal(内部区域):
internal
区域通常用于受信任的内部网络,如公司局域网。这是一个较低的安全级别,通常允许内部网络上的主机之间进行通信。- 在
internal
区域中,防火墙规则可能会更宽松,允许内部主机之间的流量。 - 默认情况下,
firewalld
将内部网络接口分配给internal
区域。
-
dmz(隔离区域):
dmz
区域是一个位于public
和internal
区域之间的区域,通常用于存放不完全信任的服务器或服务,如邮件服务器、Web服务器等。dmz
区域通常会实施更严格的安全策略,以防止攻击者访问内部网络。- 默认情况下,
firewalld
并不自动创建dmz
区域,您需要根据需要手动创建并配置相应的防火墙规则。
这些区域是 firewalld
中用于管理防火墙规则的一种方式。您可以根据您的网络架构和安全需求,将不同的网络接口分配给这些区域,并配置适当的防火墙规则来保护您的系统和网络。请根据您的具体情况选择合适的区域和规则。