如何在 Red Hat Enterprise Linux 8 上使用 UFW 轻松管理防火墙规则

UFW 代表 Uncomplicated FireWall — 顾名思义,它使防火墙管理变得非常容易。 UFW 由 Canonical 开发,默认情况下可用于所有最新的 Ubuntu 版本。 在本指南中,我们将通过 Snaps 在 Red Hat Enterprise Linux (RHEL) 8 上安装 UFW。

可以将 Snap 比作容器,用于将应用程序与跨多个 Linux 发行版成功运行所需的一切打包在一起。 要使用 snap,您必须安装 snapd。

安装 Snapd

Snapd 是管理快照的后台进程。 要在 RHEL 8 上安装 snapd,您首先需要添加 Extra Packages for Enterprise Linux (EPEL) 存储库,如下所示。

$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

出现提示时,输入 是的 接着说。 EPEL 安装成功完成后,运行下一个命令将软件包更新到最新版本。

$ sudo dnf upgrade

您现在可以按如下方式安装 snapd。

$ sudo yum install snapd

安装 Snapd

出现提示时,输入 是的 继续安装。

snapd 安装成功完成后,运行下一个命令以启用管理 snap 通信的 snapd.socket。

$ sudo systemctl enable --now snapd.socket

您应该会看到一条消息,指示已创建符号链接。

您现在可以注销并再次登录,以便可以更新 snap 的路径。

安装 UFW

以下命令将在 RHEL 8 上安装 UFW。

$ sudo snap install ufw

安装后,运行下一个命令来检查 UFW 的状态。

$ sudo ufw status

笔记: 如果您收到错误消息“ufw: command not found”,则可能是 ufw 的路径有问题。 作为一种解决方法,运行下面的命令来创建一个符号链接到 /var/lib/snapd/snap/bin/ufw/usr/bin/ufw. 之后,尝试再次检查 ufw 的状态,它应该可以正常工作。

$ sudo ln -s /var/lib/snapd/snap/bin/ufw /usr/bin/ufw

要启用 UFW 并将其配置为始终在系统启动时启动,请运行:

$ sudo ufw enable

如果您的目标是用 UFW 替换 RHEL 8 中的内置 firewalld,那么您可能需要通过运行以下命令来禁用 firewalld。

$ sudo systemctl stop firewalld   $ sudo systemctl disable firewalld

默认情况下,UFW 拒绝所有传入流量并允许传出流量。 但是,您可以根据需要更改此默认行为。 例如,要拒绝传出流量,请运行:

$ sudo ufw default deny outgoing

运行下一个命令以列出 UFW 应用程序配置文件。

$ sudo ufw app list

例如,拒绝访问 你好,下面的命令就足够了。

$ sudo ufw deny Bonjour

您还可以指定端口号以允许或拒绝流量,如下所示。

$ sudo ufw deny 25

$ sudo ufw allow 22

这是另一个允许 TCP 端口 80 上的流量的示例。

$ sudo ufw allow 80/tcp

添加防火墙规则后,您可以运行下一个命令以查看有关 UFW 状态的详细信息。

$ sudo ufw status verbose

要查看 UFW 的其他使用信息,请运行:

$ ufw --help

您还可以通过以下链接查看官方 UFW 手册页。

https://manpages.ubuntu.com/manpages/hirsute/en/man8/ufw.8.html

结论

如您所见,在 Red Hat Enterprise Linux 8 上开始使用 UFW 并不难。 UFW 可能并非旨在提供完整的防火墙功能,但它确实提供了一种创建和管理简单防火墙规则的简单方法。 和我们分享一下你的想法。