UFW 评论现有规则?

UFW 评论现有规则?

我正在尝试评论现有的 ufw 防火墙规则,但找不到确切的命令

我可以轻松添加带有如下注释的规则:

sudo ufw allow in on eth0 to any port 80 comment 'test'

但是我如何评论现有规则?

答案1

如果您添加完全相同的规则,那么现有规则将被覆盖并且注释会在那里更新。

例如:

recyber@linux:~$ sudo ufw allow from 10.0.0.0/24 to any port 1234 comment "Comment"

Rule updated

答案2

根据ufw 手册页,没有办法就地编辑现有规则。

以下是您的选择:

A)删除,然后重新创建带有注释的规则

B) 使用ufw 应用程序配置文件定义一个服务,然后使用描述部分以供您评论。

答案3

我知道这是在挖坟墓,但我自己做这件事才能得到更简单的答案,所以当其他人寻找答案时,他们可能会受益。

这导致快速调查添加带有注释“foo”的虚假规则,然后调查 /etc/ufw/user.rules 文件...

规则:ufw 拒绝从 1.1.1.1 到任何评论 foo

文件:

### tuple ### deny any any 0.0.0.0/0 any 1.1.1.1 in comment=666f6f
-A ufw-user-input -s 1.1.1.1 -j DROP

注意“评论=666f6f”

因此,不需要火箭科学家就能识别出这是十六进制 66=f&6f=o&6f=o

对于其他规则使用相同的模型,我在它们前面添加了 comment= 然后就好了!

希望它能像为我节省大量时间一样,为其他人节省时间:-)

编辑:很高兴其他人也发现它有用,如果有人在转换时遇到困难......

echo -n "foo" | od -A n -t x1 | sed 's/ //g'

返回 666f6f,只需替换您自己的注释。

这使用 echo 将字符串转换为 od,从而允许您以其他数字格式输出数据,然后使用 sed 解析出空格。

注意:注释带有空格,在 sed 之前,空格将在 od 输出中变为十六进制 20。因此,您不必使用正则表达式之类的东西来解释它们,因为我们预计输出是十六进制,并且知道空格字符永远不会符合我们的要求。

答案4

在我安装在 Ubuntu 18.04 上的 ufw 0.36 中,ufw 不会更新规则,您需要删除并重新创建规则。由于 ufw 默认拒绝所有入站,您可以根据需要打开端口。我假设它在其他版本中也这样做,所以您可能没有自己的拒绝规则需要考虑,但如果有,编号对您来说可能很重要,因此您可以执行以下操作。

带有注释的一个例子。

ufw status numbered
ufw delete <rule number>
ufw insert <old rule number> allow from <IP address> to any port <port or service (ssh smtp imap etc...> comment '<your comment>'
ufw reload
ufw status

这应该会将规则放回到原来的位置,这对您的规则配置可能很重要,例如,如果您有一个全面拒绝规则,您会希望将允许规则放在它之前。如果您不需要这样做,只需从命令中省略插入,替换规则就会被附加。

相关内容