即使处于非活动状

我想知道是否有可能让UFW列出配置的防火墙规则,即使它没有启用。 我此时只有ssh访问服务器,如果没有配置允许ssh的规则,我不想启用UFW。 但是,由于UFW当前未启用,因此当我运行“ufw status”时,我只会收到“非活动”消息。

是否有一个特殊的标志我可以使用甚至一些配置文件,我可以看看,即使禁用防火墙,配置规则是什么?

在通过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 

‘tuple’是ufw内部用来跟踪规则的简写,可以解释为以下之一:

  ### tuple ###        ### tuple ###          

能够添加另一个状态命令来支持它可能是有用的。 请考虑提交错误。

现在有一个ufw show added命令将列出为您配置的规则,即使防火墙处于非活动状态也是如此。 它被添加为此错误报告的修复程序

所以现在你可以这样做:

 # 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) 

ufw show added的输出格式使得为每个规则编写delete命令也变得更加容易。

一般规则在/etc/ufw 。 用户定义的规则位于/lib/ufw/user*

在Ubuntu 16.04中,用户定义的规则存储在/etc/ufw/user.rules 。 因此,您可以看到以下规则:

 sudo cat /etc/ufw/user.rules 

从命令行,似乎没有办法。 但是,如果您从Ubuntu框(到Ubuntu框)进行SSH连接,您可能想尝试这个有点复杂的方法:

基本上,在远程盒子上安装gufw,然后连接X转发并运行GUI。

在远程设备上,与-X连接后作为选项:

 sudo apt-get install gufw sudo gufw 

这将显示规则集而无需激活它。

请注意,如果远程设备是真正的“无头”服务器,那么安装GUFW可能会导致令人不快的依赖性。 但除非有人知道一个技巧,让UFW首先显示你需要的输出而不是激活它,那么这可能是你唯一的选择。

我确实尝试过sudo ufw show raw ,但是显示了iptables的输出,这是我无法做出头也不是尾巴的。