![升级到服务器 zesty-17.04 后出现奇怪的 iptables 日志消息](https://linux22.com/image/1059965/%E5%8D%87%E7%BA%A7%E5%88%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%20zesty-17.04%20%E5%90%8E%E5%87%BA%E7%8E%B0%E5%A5%87%E6%80%AA%E7%9A%84%20iptables%20%E6%97%A5%E5%BF%97%E6%B6%88%E6%81%AF.png)
我几乎确定在升级之前我没有收到这些消息。有人能告诉我这些消息的原因吗?我在 Google 上找到了一些与开发人员错误相关的链接,但我不确定是否有什么需要担心的:
kernel: [43101.907635] nf_conntrack: default automatic helper assignment has been turned off for security reasons and CT-based firewall rule not found. Use the iptables CT target to attach helpers instead.
该日志来自作为互联网网关运行的防火墙机器,该防火墙机器使用 iptables 过滤往返于外部(pppoe)接口的流量,以防万一。
提前致谢
答案1
消息的来源是内核 4.7 的变化
在内核 4.7 及更高版本中,内核中的自动助手分配已默认关闭。Netfilter conntrack 助手(例如 nf_conntrack_ftp)现在需要以不同的方式使用。有关更多信息,请参阅 iptables 和连接跟踪助手的安全使用。
新的 AutomaticHelpers 配置设置已添加到firewalld.conf:
AutomaticHelpers 为了安全使用 iptables 和连接跟踪助手,建议关闭 AutomaticHelpers。但这可能会对使用 netfilter 助手的其他服务产生副作用,因为 /proc/sys/net/netfilter/nf_conntrack_helper 中的 sysctl 设置将被更改。使用系统设置时,将使用内核或 sysctl 中设置的默认值。可能的值包括:yes、no 和 system。默认值:system AutomaticHelpers=system
现在,firewalld 正在启动时检查 /proc/sys/net/netfilter/nf_conntrack_helper 内核设置。如果将 AutomaticHelpers 设置为系统(这是默认设置),firewalld 将使用内核中的实际设置。这可能是内核本身的默认设置,也可能是使用 sysctl 设置的。
如果关闭了自动助手分配,firewalld 将在 raw 表的 PREROUTING 链中创建规则,以启用助手所在区域的规则。为此,它使用新助手中定义的助手设置。这些是提供助手的 nf_conntrack_ 模块、可选系列(如果助手只能用于 IPv4 或 IPv6)以及端口。助手将仅监听助手配置中定义的端口。如果需要修改这些端口,则可以使用 GUI 或命令行工具或通过将文件复制到 /etc/firewalld/helpers 来创建适合的配置。如果要更改协议,请确保助手能够使用此协议。只有有限数量的助手能够处理多种协议。
以下是通过在公共区域启用 ftp 服务添加 ftp 助手的示例:
# iptables -t raw -S | grep CT -A PRE_public_allow -p tcp -m tcp --dport 21 -j CT --helper ftp
添加了新的后端,扩展了 D-Bus 接口,还添加了 GUI 和命令行工具以及文档。
有关详细信息,请参阅[已解决] nf_conntrack 默认自动辅助分配