如何在 Fedora 40 或 39 上安装 Firewalld

确保网络安全是 Fedora Linux 用户的首要任务。实现此目标的一种有效方法是使用 Firewalld,这是一个为 Linux 系统(包括 Fedora)量身定制的动态防火墙管理器。

Firewalld 提供了几个突出的功能:

  • 动态管理:Firewalld 允许用户实时更改防火墙设置,而无需重新启动服务。
  • 分区管理:用户可以将网络接口分组到不同的区域,每个区域都有特定的防火墙规则,以允许不同级别的信任。
  • 丰富的语言规则:此功能提供对防火墙设置的详细控制,可适应不同网络需求的复杂规则和例外。
  • 服务特定配置:Firewalld 允许用户为单个服务或应用程序设置特定的防火墙规则,增加另一层自定义功能。
  • IPv6 支持:通过兼容 IPv6,Firewalld 可确保您的系统在互联网过渡到下一代 IP 地址时保持安全。

对于桌面和服务器 Fedora 用户来说,Firewalld 都是无价之宝。在桌面端,它控制传入和传出流量,确保更安全的浏览体验、更好的隐私以及降低恶意软件或数据泄露风险。对于通常更多地暴露在互联网上的服务器,Firewalld 对不同网络区域服务和特定防火墙配置的管理对于减少漏洞至关重要。

现在,让我们继续安装firewalld。在本指南结束时,您将能够增强 Fedora 系统的安全性并确保安全高效的网络环境。

验证防火墙的存在

在安装 Firewalld 之前,检查它是否已安装在您的系统上至关重要。此初始验证有助于避免后续安装过程中出现潜在的冲突或冗余。完成此操作的命令很简单:

firewall-cmd --version

执行此命令时,如果系统上安装了防火墙,则应返回防火墙版本。如果缺少 Firewalld,您将收到一条错误消息,指出它不存在。

通过 DNF 命令安装 Firewalld

如果你的系统没有安装 Firewalld,下一步需要安装它。我们通过 dnf 包管理器,用于管理 Fedora Linux 中的软件的可靠工具。要安装 Firewalld,请执行以下命令:

sudo dnf install firewalld

此命令指示 dnf 安装 Firewalld 包,从 Fedora 存储库中拉取。这一步对于您实现强化网络安全和有效流量管理至关重要。

启用Firewalld

安装成功后,下一步是确保启用 Firewalld。这意味着每次系统启动时,Firewalld 都会自动启动,为您的网络保持一致的安全防护。启用 Firewalld 的命令是:

sudo systemctl enable firewalld

此命令使用 systemctl 工具来启用 Firewalld 服务。每次启动 Fedora 系统时,Firewalld 也会启动,以保护您的网络。

验证 Firewalld 服务运行

本节的最后一步是验证 Firewalld 是否正常工作。这一关键步骤确认前面的步骤已成功执行并且 Firewalld 可以运行。要验证 Firewalld 服务,请使用以下命令:

sudo systemctl status firewalld

此命令返回 Firewalld 服务的状态。如果 Firewalld 正常运行,您将看到一个输出,表明该服务处于活动状态并正在运行。否则,您必须重新执行上述步骤以纠正遇到的任何问题。

基本 Firewalld 命令

理解 Firewalld 命令的语法对于正确使用它们至关重要。基本语法采用以下形式:

firewall-cmd [options] command
  • firewall-cmd 是 Firewalld 的命令行客户端。
  • options 是可以修改行为的附加参数 firewall-cmd.一些常见的选择包括 --zone (指定防火墙区域), --permanent (使更改在重启后保持不变),以及 --reload (立即应用更改)。
  • command 是执行特定操作的命令,例如添加或删除服务。

了解了语法后,我们现在将探讨十个最常用的基本 Firewalld 命令。

使用 Firewalld 显示所有区域

此命令允许您查看 Firewalld 内所有现有区域。

firewall-cmd --list-all-zones

使用 Firewalld 获取默认区域

使用此命令,您可以检索默认区域的名称。

firewall-cmd --get-default-zone

使用 Firewalld 设置默认区域

您可以使用以下命令设置新的默认区域,将“zone_name”替换为您首选区域的名称。

firewall-cmd --set-default-zone=zone_name

使用 Firewalld 列出区域中的服务

您可以使用此命令列出特定区域内的所有服务,将“zone_name”替换为您区域的名称。

firewall-cmd --zone=zone_name --list-services

使用 Firewalld 将服务添加到区域

此命令使向区域添加服务变得简单。将“zone_name”替换为您的区域的名称,将“service_name”替换为您要添加的服务。

firewall-cmd --zone=zone_name --add-service=service_name

使用 Firewalld 从区域中删除服务

如果您需要从特定区域中删除服务,请使用此命令。将“zone_name”替换为您的区域名称,将“service_name”替换为您要删除的服务。

firewall-cmd --zone=zone_name --remove-service=service_name

重新加载Firewalld

此命令允许您应用更改而不中断现有连接。

firewall-cmd --reload

使用 Firewalld 列出区域中的所有规则

要查看区域内的所有规则,请使用以下命令,将“zone_name”替换为您的区域的名称。

firewall-cmd --zone=zone_name --list-all

使用 Firewalld 将端口添加到区域

使用此命令可以很直接地向区域添加特定端口。将“zone_name”替换为您的区域,“port_number”替换为端口号,“protocol”替换为协议(tcp 或 udp)。

firewall-cmd --zone=zone_name --add-port=port_number/protocol

使用 Firewalld 从区域中删除端口

相反,如果您需要从区域中删除端口,请使用以下命令。将“zone_name”替换为您的区域,“port_number”替换为端口号,“protocol”替换为协议。

firewall-cmd --zone=zone_name --remove-port=port_number/protocol

高级 Firewalld 命令和场景

要了解 Firewalld 的高级功能,需要了解更复杂的命令和场景。让我们探索五个这样的场景,以进一步加深您对 Firewalld 的了解。

场景 1:使用 Firewalld 将端口添加到区域

要将特定端口添加到区域,请使用:

sudo firewall-cmd --zone=your_zone --add-port=your_port/protocol

将“your_zone”、“your_port”和“protocol”替换为您的区域名称、所需端口和协议(tcp 或 udp)。

场景 2:使用 Firewalld 从区域中删除端口

要从区域中删除端口:

sudo firewall-cmd --zone=your_zone --remove-port=your_port/protocol

再次,“your_zone”、“your_port”和“protocol”应该替换为您的具体详细信息。

场景 3:使用 Firewalld 创建新区域

要创建新区域:

sudo firewall-cmd --new-zone=your_zone --permanent

将“your_zone”替换为您想要的新区域的名称。

场景 4:使用 Firewalld 删除区域

要删除区域:

sudo firewall-cmd --delete-zone=your_zone --permanent

这里,“your_zone”应该替换为您要删除的区域的名称。

场景 5:使用 Firewalld 阻止 IP 地址

最后,要阻止特定的 IP 地址:

sudo firewall-cmd --zone=your_zone --add-source=ip_address
sudo firewall-cmd --zone=your_zone --add-rich-rule='rule family="ipv4" source address="ip_address" reject'

在这些命令中,“your_zone”和“ip_address”应替换为区域名称和您希望阻止的 IP 地址。第一个命令将 IP 地址添加到区域,而第二个命令拒绝来自该 IP 的所有流量。

关于 Firewalld 的总结

在本指南中,我们提供了在 Fedora Linux 上安装和管理 Firewalld 的全面概述。从安装到执行基本命令和处理高级场景,所概述的步骤应该能够让任何用户(无论其专业水平如何)熟练地使用 Firewalld。为了持续成功,建议继续探索这个强大的防火墙解决方案的功能,并使用官方资源进行持续学习和故障排除。

Joshua James
跟我来
Joshua James 的最新帖子 (查看全部)

发表评论