我正在尝试评论现有的 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
答案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
这应该会将规则放回到原来的位置,这对您的规则配置可能很重要,例如,如果您有一个全面拒绝规则,您会希望将允许规则放在它之前。如果您不需要这样做,只需从命令中省略插入,替换规则就会被附加。