作为 Fedora 38 用户,您可以访问名为 FirewallD 的强大防火墙解决方案。这种动态高效的防火墙不仅提供强大的保护,而且还提供轻松的配置和管理。
在 Fedora 38 上安装 FirewallD
第 1 步。在我们可以在 Fedora 38 上安装 FirewallD 之前,重要的是要确保我们的系统是最新的软件包。这将确保我们可以访问最新功能和错误修复,并且我们可以毫无问题地安装 FirewallD:
sudo dnf update
第 2 步。在 Fedora 38 上安装 FirewallD。
一旦您的系统是最新的,您就可以继续安装 FirewallD。在终端中执行以下命令:
sudo dnf install firewalld
此命令将下载并安装 FirewallD 及其依赖项。
安装完成后,启动 FirewallD 服务,并使其在系统引导时自动启动。运行以下命令:
sudo systemctl start firewalld
sudo systemctl enable firewalld
第 3 步。基本防火墙 D 配置。
- 了解区域。
FirewallD 使用区域根据网络连接的信任级别对网络连接进行分类。默认情况下,Fedora 38 包含几个预定义的区域,例如“公共”、“内部”、“外部”和“dmz”。每个区域都有自己的一套规则来管理流量。
- 检查默认区域:
要查看当前活动区域,请执行以下命令:
sudo firewall-cmd --get-default-zone
该命令将显示活动区域名称,例如“public”。
- 修改默认区域:
如果需要,可以使用以下命令更改默认区域:
sudo firewall-cmd --set-default-zone=<zone>
-
- 将接口分配给区域:
要允许 FirewallD 控制特定接口上的网络流量,必须将这些接口分配给相应的区域。使用以下命令:
sudo firewall-cmd --zone=<zone> --add-interface=<interface>
替换为所需的区域名称和要分配的网络接口。<zone>
<interface>
- 启用和禁用服务:
防火墙 D 允许您启用或禁用特定服务。例如,要启用 SSH 访问,请使用以下命令:
sudo firewall-cmd --zone=<zone> --add-service=ssh --permanent
第 4 步。高级防火墙 D 配置。
- 创建自定义防火墙规则:
防火墙 D 提供了创建自定义规则的灵活性。您可以允许或拒绝特定端口、协议或 IP 地址。以下命令演示如何允许特定端口上的流量:
sudo firewall-cmd --zone=<zone> --add-port=<port>/tcp --permanent
替换为所需的区域名称和端口号。<zone>
<port>
- 修改和删除规则:
要修改现有规则,请使用具有所需修改的选项。若要删除规则,请使用该选项。有关详细的语法和示例,请参阅 FirewallD 文档。--add-rich-rule
--remove-rule
第 4 步。防火墙 D 示例和用例。
- 示例 1:允许 SSH 访问:
要允许通过 FirewallD 进行 SSH 访问,请执行以下命令:
sudo firewall-cmd --zone=<zone> --add-service=ssh --permanent sudo firewall-cmd --reload
此示例在指定区域上启用 SSH 访问,并重新加载防火墙以应用更改。
- 示例 2:阻止特定 IP 地址:
若要阻止特定 IP 地址,请使用以下命令:
sudo firewall-cmd --zone=<zone> --add-rich-rule='rule family="ipv4" source address="<IP_ADDRESS>" reject' --permanent sudo firewall-cmd --reload
替换为所需的区域名称和要阻止的 IP 地址。该命令添加一个丰富的规则来拒绝来自指定 IP 地址的数据包,并重新加载防火墙以强制执行该规则。<zone>
<IP_ADDRESS>
第5步。对防火墙 D 问题进行故障排除。
- 检查防火墙 D 状态和日志:
要检查 firewalld 的状态,请执行以下命令:
sudo systemctl status firewalld
- 常见的防火墙D问题和解决方案:
- 网络连接问题:确保 FirewallD 规则允许必要的流量,并为接口分配正确的区域。
- 应用程序访问问题:如果应用程序无法连接,请验证是否已在 FirewallD 中启用关联的服务,以及相应的端口是否已打开。
- 规则语法不正确:仔细检查自定义规则的语法,并验证它们是否符合 FirewallD 要求。