如何列出和删除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)
使用“状态编号”获取所有活动规则的顺序和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