UFW评论现有规则?

Ema*_*max 18 firewall ufw

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

我可以轻松添加带有评论的规则,例如:

sudo ufw allow in on eth0 to any port 80 comment 'test'
Run Code Online (Sandbox Code Playgroud)

但是如何评论现有规则?

小智 23

如果您添加完全相同的规则,则现有规则将被覆盖并在那里更新评论。

例如:

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

Rule updated
Run Code Online (Sandbox Code Playgroud)


Hal*_*lis 6

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

以下是您的选择:

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

B) 使用ufw 应用程序配置文件定义服务,然后使用描述部分进行评论。


Sab*_*bre 5

我知道这是一个坟墓挖掘,但需要自己做这件事会得到一个更容易的答案,所以当其他人寻找这个时,他们可能会受益。

这导致快速调查添加带有注释“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
Run Code Online (Sandbox Code Playgroud)

注意“comment=666f6f”

所以不需要火箭科学家就能认出这是十六进制 66=f&6f=o&6f=o

对其他规则使用相同的模型,我在它们前面加上 comment= 和 viola!

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

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

echo -n "foo" | od -A n -t x1 | sed 's/ //g'
Run Code Online (Sandbox Code Playgroud)

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

这使用 echo 将字符串获取到 od,这允许您以其他数字格式输出数据,然后 sed 解析出空格。

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