向 UFW 添加手动 iptables 规则

向 UFW 添加手动 iptables 规则

我有一个用例需要 iptables 能够将规则限制为组 ID (--gid-owner)。Ufw 的规则语法不支持此功能。

根据我的实验和在线阅读(例如手动将 UFW 规则添加到 user.rules ubuntu 16.04 后,UFW 规则消失) 似乎 ufw 会拒绝任何手动添加的 iptables 规则。也就是说,我可以编辑/etc/ufw/user.rules和添加-A ufw-user-output ... --gid-owner ...,但由于它没有以 magic ufw-correct 注释作为前缀(因为不存在这样的语法),因此它会被忽略和删除。

我是否必须选择 ufw 之一或者iptables 或者有没有办法可以两全其美?

答案1

请看这里: Ubuntu:如何添加 UFW 无法创建的 iptables 规则

我使用 UFW 配置文件将 netbios-ns 辅助程序添加到 iptables 中,原始表/etc/ufw/。(摘自Arch Linux Samba- 源 iptables 命令

iptables -t raw -A OUTPUT -p udp -m udp --dport 137 -j CT --helper netbios-ns

)。
这样就可以使用 Thunar 作为示例来浏览 MS Windows 网络。

/etc/ufw/after.rules我在文件的开头,也就是初始注释块之后添加了翻译后的语法,如下所示:

#
# rules.input-after
#
# Rules that should be run after the ufw command line added rules. Custom
# rules should be added to one of these chains:
#   ufw-after-input
#   ufw-after-output
#   ufw-after-forward
#

# netbios helper function allow browsing windows network
*raw
-A OUTPUT -p udp -m udp --dport 137 -j CT --helper netbios-ns
COMMIT

# Don't delete these required lines, otherwise there will be errors
[...]

注意:此语法是 iptables-save 使用的语法。

然后重新启动 UFW。

请注意,我必须在文件的开头插入after.rules,否则如果我在文件末尾附加,则一旦ufw重新启动,它就会将相同的条目添加 3 次到原始表中的 OUTPUT 链中。

它让我避免使用/etc/ufw/user.rules。也许这是一个你可以考虑的选择。

我希望这能有所帮助。

相关内容