在 Ubuntu 20.04 上开始使用 UFW(简易防火墙)在 Ubuntu 20.04 上开始使用 UFW(简易防火墙)在 Ubuntu 20.04 上开始使用 UFW(简易防火墙)在 Ubuntu 20.04 上开始使用 UFW(简易防火墙)
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

在 Ubuntu 20.04 上开始使用 UFW(简易防火墙)

发表 admin at 2025年2月28日
类别
  • 未分类
标签

在此页

  1. 先决条件
  2. 安装 UFW
  3. 基本的 UFW 命令
  4. UFW 允许和拒绝命令
  5. 高级 UFW 命令
  6. 删除 UFW 防火墙规则
  7. 禁用和重置 UFW
  8. 结论

UFW 或 Uncomplicated Firewall 是一个在 Ubuntu 上管理基于 iptables 的防火墙的应用程序。 UFW 是 Ubuntu Linux 默认的防火墙配置工具,提供了一种用户友好的方式来配置防火墙,UFW 命令就像英语一样,所以命令很容易记住。 UFW 防火墙支持 IPv4 和 IPv6。

UFW 还提供了一个 GUI 应用程序,如果你使用 GNOME 桌面你可以安装 gufw,或者如果你使用 KDE 桌面你可以安装 kcm-ufw。

先决条件

  • Ubuntu 版本介于 15.04 和 21.04 之间。较新的 Ubuntu 版本也应该可以工作。
  • 根权限

本教程涵盖哪些内容?

  1. 安装 UFW。
  2. 基本 UFW 命令语法。
  3. UFW 允许和拒绝命令。
  4. 高级 UFW 命令。
  5. 删除 UFW 中的规则。
  6. 禁用并重置 UFW。

UFW的安装

默认情况下,UFW 应该已经安装在 ubuntu 20.04 上。您可以使用以下命令对此进行测试:

which ufw

如果它没有返回命令的路径,则使用以下 apt 命令安装 UFW:

sudo apt-get install ufw

对于以下命令,请使用sudo 或root 权限。您可以通过以下命令成为root 用户:

sudo -s

然后运行以下命令启用 UFW:

ufw enable

结果:

Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

基本 UFW 命令

\ufw enable\ 命令将使用默认规则打开 UFW。您可以通过发出以下命令来验证 UFW 是否正在运行:

ufw status verbose

结果:

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

如果你想禁用或关闭 UFW,你可以使用:

ufw disable

结果:

Firewall stopped and disabled on system startup

UFW 允许和拒绝命令

1.UFW允许命令

UFW 将在您打开后拒绝所有传入连接。因此,如果您想远程管理系统,您应该做的第一件事就是允许对服务器进行 SSH 访问。命令\ufw allow sshport\允许SSH访问,将SSHPORT替换为SSH服务的端口,默认SSH端口为22。

ufw allow 22

结果:

Rules updated
Rules updated (v6) #For IPv6

如果您希望仅允许 TCP 端口 22 上的传入连接,请在命令末尾添加 \/tcp\,如下例所示。

ufw allow 22/tcp

当您要允许访问的服务正在侦听其默认端口时,您可以使用服务名称而不是端口号。这使得打开端口更容易,因为您可能不知道该端口。 UFW 会在 /etc/services 中为你查找正确的端口号。

此命令将打开默认的 SSH 端口:

ufw allow ssh

现在检查规则:

ufw status

2. UFW 拒绝命令

\deny\ 命令与 \allow\ 命令类似,用于关闭防火墙中的端口:

拒绝端口选项:

ufw deny 80

结果:

Rule added
Rule added (v6)

带有服务名称的“拒绝”示例。在此示例中,我将阻止 http 端口/80:

ufw deny http

注意:

您可以在文件“/etc/services”中看到所有端口及其服务名称。

高级 UFW 命令

现在我们将深入研究 UFW 命令语法,了解如何允许部分范围(例如,对于 FTP 被动端口以及如何仅允许从一个 IP 或子网访问。

1.允许端口范围

您可以在 UFW 中允许一系列端口。某些服务(如 FTP 或 IRC)使用一系列端口与其客户端进行通信。

对于此示例,我们将允许 ircd 在我的服务器上使用的端口范围,范围是端口 6660 到 6670:

sudo ufw allow 6660:6670/tcp
sudo ufw allow 6660:6670/udp

该命令将允许通过 TCP 和 UDP 协议连接到端口 6660-6670。

2.允许特定的IP地址

并且您可以通过添加“from”选项来添加特定 IP 以允许访问所有服务。这是例如如果您在家里或办公室有一个静态 IP 并希望允许从那里访问您服务器上的所有服务,这很有用。下面的命令将允许 IP 192.168.1.106 访问服务器上的所有端口:

ufw allow from 192.168.1.106

结果:

Rule added

3.允许子网

如果要允许子网上的所有 IP 地址,可以将 IP 子网(IP 地址范围)添加到 UFW 命令,如下所示:

ufw allow from 192.168.1.1/24

结果:

WARN: Rule changed after normalization
Rule added

4.允许从特定IP地址访问一个端口

如果你想只允许从特定 IP 访问一个端口,你可以结合我们上面学到的 UFW 命令。

例如只有IP 192.168.1.106 可以访问ssh 端口22 tcp 而其他IP 将被拒绝 从该端口,您可以使用以下命令:

ufw allow from 192.168.1.106 proto tcp to any port 22

结果:

Rule added

5.允许所有传入流量到特定端口

如果你想允许端口 80 上的所有流量,你可以使用这个命令:

ufw allow to any port 80

删除 UFW 防火墙规则

在本节中,您将学习如何删除保存在 UFW 中的规则。您可以使用 \delete\ 命令删除 ufw 规则。请键入命令 \ufw delete\,然后输入您要删除的选项,允许或拒绝。

这里有些例子:

删除带有服务名称的允许 SSH 规则:

ufw delete allow ssh

结果:

Rule deleted
Rule deleted (v6)

该命令将删除规则 \allow ssh\。小心,不要将自己锁在服务器之外。

删除端口 80 上的“拒绝”规则:

ufw delete deny 80

结果:

Rule deleted
Rule deleted (v6)

如果您有一个复杂的规则,那么有一种简单的方法可以通过规则 ID 识别和删除规则。运行以下命令以获取所有规则及其 ID 的列表:

ufw status numbered

结果:

Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 22/tcp (v6)                ALLOW IN    Anywhere (v6)

现在使用规则编号删除仅适用于 IPv6 的 SSH 规则:

ufw delete 2

禁用和重置 UFW

如果您想关闭 UFW 而不删除您的规则,您可以使用“禁用”命令:

ufw disable

结果:

Firewall stopped and disabled on system startup

如果您想完全关闭 UFW 并删除所有规则,您可以使用“重置”命令:

ufw reset

结果:

Resetting all rules to installed defaults. This may disrupt existing ssh
connections. Proceed with operation (y|n)? y
Backing up 'after6.rules' to '/etc/ufw/after6.rules.20150918_190351'
Backing up 'user.rules' to '/lib/ufw/user.rules.20150918_190351'
Backing up 'after.rules' to '/etc/ufw/after.rules.20150918_190351'
Backing up 'before.rules' to '/etc/ufw/before.rules.20150918_190351'
Backing up 'before6.rules' to '/etc/ufw/before6.rules.20150918_190351'
Backing up 'user6.rules' to '/lib/ufw/user6.rules.20150918_190351'

结论

UFW(Uncomplicated Firewall)是Ubuntu默认的防火墙配置工具。 UFW 命令类似于英语,这使得它们易于使用和记忆。这个 UFW 教程是一个开始使用这个漂亮的防火墙工具的指南,如果你想了解更多关于 UFW 的信息,你可以去 ufw-manpage。

©2015-2025 Norria support@alaica.com