“本教程解释了如何使用 UFW(简单防火墙)Iptables 前端。
阅读本教程后,您将能够以非常简单的方式设置自己的防火墙规则,而无需学习复杂的命令。
本文针对寻求简单说明以快速实施的无经验用户和希望熟悉 UFW 的高级用户进行了优化。 该内容主要适用于基于 Debian 的发行版,如 Ubuntu。
下面描述的所有说明都包含屏幕截图,让每个 Linux 用户都可以轻松理解和实施它们。”
在 Ubuntu 中开始使用 UFW(简单防火墙)
UWF 默认包含在以前的基于 Debian 的 Linux 发行版(如 Ubuntu)中。 虽然当前版本包含 Nftables,但带有 Iptables 的旧版本提供称为 UFW 的 Iptables 前端。
如果未安装 UFW,您可以使用 apt 包管理器安装它,如下所示。
sudo apt install ufw -y
无论 UFW 是否已安装或您已安装,请通过运行以下命令检查其状态(如果启用或禁用)。
sudo ufw status
如您所见,UFW 处于非活动状态; 使其能够使用以下命令。
sudo ufw enable
启用后,使用以下语法打开特定端口:
sudo ufw allow <Port>
为了 example,要打开8080端口,执行以下命令。
sudo ufw allow 8080
使用 UFW,您可以通过端口号或协议名称来指定端口。 为了 example要打开 ssh 端口,可以运行以下命令。
sudo ufw allow ssh
您可以通过将“ssh”替换为“22”来获得相同的结果。
语法为 close 端口是一样的; 只需将“允许”替换为“拒绝”,如下所示,其中端口 22 已关闭。
sudo ufw deny 22
要指定协议(UDP 或 TCP),请在定义的端口后添加一个斜杠,然后是协议。
在里面 example 下面,21端口是专门通过UDP协议开放的。
sudo ufw allow 21/udp
要允许 TCP 流量,请使用相同的语法将“udp”替换为“tcp”,如以下屏幕截图所示。
sudo ufw allow 21/tcp
您也可以拒绝或允许端口范围,但这样做时,用户必须指定协议。
在下图中,通过 TCP 协议允许 6000 到 6010 之间的端口范围。
sudo ufw allow 6000:6010/tcp
UFW 允许您定义默认策略,例如限制性或非限制性。
通过定义限制性策略,我们拒绝通过所有端口和协议的所有流量,除非我们定义例外。
与此相反,在定义不受限制的策略时,除非定义了例外,否则允许所有流量。
为了 example,要默认拒绝所有传入流量,请运行:
sudo ufw default deny incoming
要允许所有传出流量运行:
sudo ufw default allow outgoing
不仅可以允许或拒绝特定端口的传出或传入,还可以允许或拒绝 IP 地址。 当规则中指定了 IP 地址时,来自该特定 IP 的任何请求都只受指定规则的约束; 例如,在下面的命令中,它允许来自 67.205.171.204 IP 地址的所有请求,然后它允许来自 67.205.171.204 的所有请求到端口 80 和 443 端口,这意味着任何具有该 IP 的设备都可以发送成功的请求到在默认规则阻止所有传入连接的情况下,服务器不会被拒绝。 这对于由单个人或特定网络使用的私人服务器非常有用。
sudo ufw allow from 67.205.171.204
然后我们启用从特定 IP 到端口 80 的传入流量。
sudo ufw allow from 67.205.171.204 to any port 80
以下命令启用从特定 IP 到端口 443 的流量。
sudo ufw allow from 67.205.171.204 to any port 443
当涉及 IP 地址范围时,很难手动将每个 IP 地址记录添加到防火墙规则中以拒绝或允许,因此可以使用 CIDR 表示法指定 IP 地址范围,该表示法通常由 IP 地址和它包含的主机数量和每个主机的 IP。
在下面的 example,它使用以下两个命令。 在第一 example,它使用 /24 网络掩码,因此该规则从 192.168.1.1 到 192.168.1.254 IP 地址有效。 在第二 example,相同的规则仅对端口号 25 有效。 因此,如果传入的请求默认被阻止,那么现在提到的 IP 地址可以向服务器的 25 端口发送请求。
sudo ufw allow from 192.168.1.1/24
下面的命令允许从特定子网到端口 25 的流量。
sudo ufw allow from 192.168.1.1/24 to any port 25
可以从防火墙中删除规则。 下面的第一个命令将防火墙中的每条规则用一个数字排列; 然后,使用第二个命令,可以通过指定属于该规则的编号来删除该规则。
sudo ufw status numbered
要删除允许流量通过端口 21/UDP 的规则 4,请运行以下命令。
当要求确认操作时,键入“是的” 并按下 进入.
sudo ufw delete 4
最后,要重新开始防火墙配置,请使用以下命令。 如果防火墙开始异常工作或防火墙以意外方式运行,这将非常有用。
有时,为了测试网络或打算安装不同的防火墙,必须禁用默认防火墙。 以下命令完全禁用防火墙并无条件允许所有传入和传出连接。 除非上述意图是禁用的原因,否则这是不可取的。 禁用防火墙不会重置或删除其配置; 因此,可以使用以前的设置再次启用它。
sudo ufw disable
您可以通过以下文章深入了解 UFW: 如何使用 UFW 限制 ssh, 使用 Debian 防火墙 (UFW), 和 如何检查我的 UFW 日志?.
结论
Ubuntu 是一个 Linux 操作系统,由于其默认提供的高级功能而在服务器管理员中非常流行。 其中一个特点是 防火墙,这是一个安全系统,可监控传入和传出网络连接,以根据预定义的安全规则做出决策。 要定义此类规则,必须在使用防火墙之前对其进行配置,本指南演示了如何在 Ubuntu 中轻松启用和配置防火墙,以及配置防火墙的其他有用技巧。
正如你所看到的,UFW 是一个伟大的工具或前端,它极大地简化了 Iptables。 多亏了这一点,没有经验的用户可以实现自己的安全或网络规则,而无需学习 Iptables。
重要的是要记住 UFW 是一个 iptables 前端,与带有 Nftables 的较新 Linux 版本无关。 iptables 已停产。
感谢您阅读本教程,解释 UFW 基础知识。 继续关注我们以获取更多 Linux 技巧和专业内容。