如何列出和删除 UFW 防火墙规则
UFW 代表简单防火墙,是一个用户友好的前端,用于管理 iptables (netfilter) 防火墙规则。它是Ubuntu的默认防火墙配置工具,并且也适用于其他流行的 Linux 发行版,例如 Debian 和 Arch Linux。
在本教程中,我们将介绍如何列出和删除 UFW 防火墙规则。
先决条件
运行 UFW 命令的用户必须是 sudo 用户。
列出 UFW 规则
管理防火墙时最常见的任务之一是列出规则。
您可以通过以下方式检查 UFW 的状态并列出所有规则:
sudo ufw status
如果 UFW 被禁用,您将看到如下内容:
输出
Status: inactive
否则,如果 UFW 处于活动状态,输出将打印所有活动防火墙规则的列表:
输出
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
要获取额外信息,请使用status verbose
:
sudo ufw status verbose
输出将包括有关日志记录、默认策略和新配置文件的信息:
输出
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
使用status numbered
获取所有活动规则的顺序和id号。当您想要插入新的编号规则或根据其编号删除现有规则时,这非常有用。
sudo ufw status numbered
输出
Status: active
To Action From
-- ------ ----
[ 1] 22/tcp ALLOW IN Anywhere
[ 2] 22/tcp (v6) ALLOW IN Anywhere (v6)
删除 UFW 规则
删除UFW规则有两种方法:
- 按规则编号
- 按具体规则
如果您要通过 SSH 删除防火墙规则,请确保不要通过删除允许 SSH 连接的规则来将自己锁定在远程服务器之外。默认情况下,SSH 侦听端口 22。
通过规则编号删除 UFW 规则更容易,因为您只需查找并键入要删除的规则的编号,而不是完整的规则。
按规则编号删除 UFW 规则
要按编号删除 UFW 规则,首先需要列出规则,然后找到要删除的规则编号:
sudo ufw status numbered
该命令将为您提供所有防火墙规则及其编号的列表:
输出
Status: active
To Action From
-- ------ ----
[ 1] 22/tcp ALLOW IN Anywhere
[ 2] 80/tcp ALLOW IN Anywhere
[ 3] 443/tcp ALLOW IN Anywhere
[ 4] 8069/tcp ALLOW IN Anywhere
知道规则编号后,请使用 ufw delete
命令,后跟要删除的规则编号。
例如,要删除编号为 4
的规则,您可以键入:
sudo ufw delete 4
系统将提示您确认是否要删除规则:
输出
Deleting:
allow 22/tcp
Proceed with operation (y|n)? y
输入y
,点击Enter
,规则将被删除:
输出
Rule deleted
每次删除规则时,规则编号都会发生变化。为了安全起见,请务必在删除其他规则之前列出规则。
通过具体规则取消 UFW 规则
删除规则的第二种方法是使用 ufw delete
命令,后跟该规则。
例如,如果您添加了一条打开端口 2222
的规则,请使用以下命令:
sudo ufw allow 2222
您可以通过键入以下内容来删除规则:
sudo ufw delete allow 2222
重置 UFW 并删除所有规则
重置 UFW 将禁用防火墙,并删除所有活动规则。当您想要恢复所有更改并重新开始时,这非常有用。
要重置 UFW,请键入以下命令:
sudo ufw reset
结论
您已了解如何列出和删除 UFW 防火墙规则。配置防火墙时,始终仅允许系统正常运行所需的传入连接。
如果您有疑问,请随时在下面发表评论。