UFW 代表 Uncomplicated Firewall ,是用于管理 iptables
(netfilter
) 防火墙规则的对用户更加友好的前端工具,它是Ubuntu的默认防火墙配置工具。
列出 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,可以使用status numbered
:
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是否开启。
例如,如果你要添加打开12345
端口的规则,键入以下命令即可:
sudo ufw allow 12345
拒绝:
sudo ufw deny 12345
删除UFW规则
有两种方法可以删除 UFW 规则:
- 按规则编号
- 按规则格式
> 如果你是通过 SSH 删除防火墙规则,请确保不要通过删除允许 SSH 通信端口的规则来将自己锁定在远程服务器之外。默认情况下,SSH 侦听端口 22 。
按规则编号删除 UFW 规则
- 列出规则并找到要删除的规则编号(上面提到的
status numbered
命令); - 知道规则编号后,使用
ufw delete
命令后跟要删除的规则编号。
例如,要删除带有 number 的规则4
,您可以键入:
sudo ufw delete 4
系统将提示您确认是否要删除规则:
Deleting:
allow 22/tcp
Proceed with operation (y|n)? y
键入y
,点击Enter
,规则将被删除,并提示:
Rule deleted
每次删除规则时,规则编号都会更改。因此,为了安全起见,在删除另一条规则之前列出规则。
按规范删除 UFW 规则
这种方式比较简单,直接在ufw delete
后面添加需要删除的规则即可
例如,如果你添加了打开端口的规则12345
,使用以下命令即可删除:
sudo ufw delete allow 12345
重置UFW所有规则
重置 UFW 将禁用防火墙,并删除所有活动规则。
要重置 UFW,键入以下命令:
sudo ufw reset