Answers:
当前尚无法显示通过CLI命令启用防火墙之前输入的规则。但是,您可以直接检查规则文件。/lib/ufw/user*.rules包含通过“ ufw” CLI命令控制的规则。例如:
$ sudo grep '^### tuple' /lib/ufw/user*.rules
这将显示如下输出(对于添加了'sudo ufw allow OpenSSH的规则):
/lib/ufw/user.rules:### tuple ### allow tcp 22 0.0.0.0/0 any 0.0.0.0/0 OpenSSH - in
“元组”是ufw内部用来跟踪规则的简写,可以解释为以下之一:
### tuple ### <action> <proto> <dst port> <dst> <src port> <src> <direction>
### tuple ### <action> <proto> <dst port> <dst> <src port> <src> <dst app name> <src app name> <direction>
能够添加另一个status命令来支持此功能可能会很有用。请考虑提交错误。
/lib
在我看来,将文件放入非常奇怪
ufw show added
,另请参见以下
现在有一个ufw show added
命令可以为您列出已配置的规则,即使防火墙处于非活动状态也是如此。它是作为此错误报告的修复程序而添加的,并已在v0.33中添加
现在,您可以执行以下操作:
# ufw status
Status: inactive
# ufw allow ssh
Rules updated
Rules updated (v6)
# ufw show added
Added user rules (see 'ufw status' for running firewall):
ufw allow 22
# ufw enable
Firewall is active and enabled on system startup
# ufw status
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
22 (v6) ALLOW Anywhere (v6)
from的输出格式也ufw show added
使为每个规则编写delete命令变得容易得多。
一般规则在中/etc/ufw
。用户定义的规则在中/lib/ufw/user*
。
从命令行来看,似乎没有办法。但是,如果要从Ubuntu盒(到Ubuntu盒)进行SSH传输,则可能要尝试这种稍微复杂的方法:
基本上,在远程设备上安装gufw,然后使用X转发连接并运行GUI。
在远程设备上,通过-X
(可选)进行连接:
sudo apt-get install gufw
sudo gufw
这将向您显示规则集,而无需激活它。
请注意,如果远程设备是真正的“无头”服务器,则安装GUFW可能会降低令人不快的依赖性。但是除非这里有人知道使UFW向您显示所需的输出而不先激活它的技巧,否则这可能是您唯一的选择。
我确实做了尝试sudo ufw show raw
,但是显示了iptables输出,我无法说清楚。
ufw show added
由@simon提供。