跳至内容

防火墙 GUI 应用

简介

想在不使用命令行的情况下管理防火墙?有一个专门为 firewalld(Rocky Linux 中使用的防火墙)构建的优秀应用,并且可在 Flathub 上找到。本指南将向您展示如何快速启动和运行它,以及界面基础知识。

我们不会涵盖 firewalld 或 GUI 能完成的所有功能,但应该足以让您入门。

假设

对于本指南,我们假设您具备以下条件:

  • 已安装 Rocky Linux 并带有任何图形桌面环境
  • 具有 sudo 或管理员访问权限
  • firewalld 的工作原理有基本了解

注意

请记住,虽然此应用在您倾向于使用 GUI 时会让您的生活更轻松,但您仍然需要了解 firewalld 背后的基本概念。您必须了解端口、区域、服务、源等。

如果您对其中任何一项不清楚,请参阅 firewalld 入门指南,特别是关于区域的部分,以了解它们的作用。

安装应用

进入软件中心应用并搜索“Firewall”。它是 Rocky Linux 存储库中的原生软件包,名称就叫“Firewall”,所以应该很容易找到。

Firewall in the Software Center

在存储库中,它的名称是 firewall-config,可以使用常规命令进行安装。

sudo dnf install firewall-config

打开应用时,它会要求您输入密码。在执行敏感操作之前,它也会再次要求。

配置模式

首先需要了解的是配置模式,它可以在窗口顶部的下拉菜单中选择。您的选择是 Runtime(运行时)和 Permanent(永久)。

the configuration mode dropdown menu is near the top of the window

在 Runtime 模式下打开端口、添加允许的服务以及进行其他任何更改都是临时的,并且它不会为您提供所有功能的访问权限。重启或手动重新加载防火墙后,这些更改将消失。当您只需要进行快速更改以完成单项任务,或者想在使更改永久生效之前进行测试时,这非常有用。

例如,在 Public 区域打开端口后,您可以转到 Options > Runtime To Permanent 来保存您的更改。

Permanent 模式风险更高,但它会打开所有功能。它允许创建新区域、单独配置服务、管理网络接口以及添加 IPSets(换句话说,就是允许或不允许与您的计算机或服务器通信的 IP 地址集)。

在进行永久更改后,转到 Options > Reload Firewalld 以正确启用它们。

管理接口/连接

最左侧的面板标记为“Active Bindings”(活动绑定),您可以在此处找到您的网络连接并手动添加网络接口。如果您向上滚动,您会看到我的以太网连接(eno1)。“public”区域默认受到良好保护,并包含您的网络连接。

在面板底部,您会找到“Change Zone”(更改区域)按钮,它允许您将连接分配到另一个区域。在 Permanent 模式下,您还可以创建自己的自定义区域。

a screenshot featuring the Active Bindings panel on the left of the window

管理区域

在右侧面板的第一个选项卡中,您会找到 Zone(区域)菜单。在这里,您可以打开和关闭端口、开启或关闭服务、添加受信任的 IP 地址以供入站流量使用(例如本地网络)、启用端口转发、添加富规则等。

对于大多数基本的桌面用户来说,您将大部分时间在这里度过,而此面板中最有价值的子选项卡将是用于配置服务和端口的选项卡。

注意

从存储库安装您的应用程序和服务。其中一些(通常是为桌面使用设计的)会自动启用相关的服务或打开正确的端口。但是,如果情况并非如此,您可以按照以下步骤手动完成所有操作。

向区域添加服务

服务是流行的应用程序和后台服务,它们是 firewalld 支持的默认服务。您可以通过滚动列表并单击相关的复选框来快速轻松地启用它们。

现在,如果您安装了 KDE Connect* 以帮助同步您的桌面与其他设备,并且想让它通过您的防火墙,您将需要

  1. 首先,选择您要编辑的区域。在此示例中,就使用默认的 public 区域。
  2. 向下滚动列表,然后选择“kdeconnect”。
  3. 如果您处于 Runtime 配置模式,请不要忘记在选项菜单中单击“Runtime To Permanent”和“Reload Firewalld”。

* 在 EPEL 存储库中可用。

a screenshot featuring the Zones tab in the right panel, and the Services sub-panel

列表中的其他热门服务包括 HTTP 和 HTTPS(用于托管网站)、SSH(用于允许从其他设备进行基于终端的访问)、Samba(用于托管与 Windows 兼容的文件共享)等等。

但是,并非所有程序都在列表中,您可能需要手动打开端口。

向区域开放端口

为特定应用程序打开端口足够简单。只需阅读文档即可了解您需要的端口。

  1. 再次,选择您要编辑的区域。
  2. 转到右侧面板中的“Ports”(端口)选项卡。
  3. 单击“Add”(添加)按钮。
  4. 在文本字段中填写您需要打开的端口。检查应用程序需要哪种协议以及它使用的网络协议(例如,TCP/UDP 等)。
  5. 单击 OK,然后使用“Runtime To Permanent”和“Reload Firewalld”选项。

a screenshot featuring the Ports subpanel, and the popup window where you can enter the port number as needed

结论

如果您想锻炼一下大脑,应该多了解 firewalld 的基础知识。您还可以使用右侧面板顶部的“Services”(服务)选项卡(位于“Zones”(区域)旁边)来精确配置您的服务如何工作,或者使用 IPSets 和 Sources 来控制允许与您通信的其他计算机的访问。

或者,您可以为您的 Jellyfin 服务器打开端口,然后继续忙碌。firewalld 是一个功能极其强大的工具,而 Firewall 应用可以帮助您以对初学者友好的方式发现它的功能。

作者:Ezequiel Bruni

贡献者:Steven Spencer, Ganna Zhyrnova