我的要求是对各种 iptables 规则进行大量记录,这些记录必须记录到 Syslog 或 Journal 以外的文件中。
一段时间以来,我一直在使用 ulogd,它可以设置自定义日志文件。然而,Fedora 上的 systemd 不支持 ulogd,这似乎表明它不再是首选,而且可能要走向灭绝之路。
想知道是否有更新的首选选项?(conntrack 似乎没有提供文件的完整日志记录。)
编辑: 好的 - 还有一些细节。我正在使用 ipset 来阻止或记录来自特定国家的流量。因此,例如,如果有流向特定国家的传出流量,我们需要了解并进一步调查。大量来自 iptables 规则的日志信息进入 Syslog(以及 Fedora 中使用的新日志),这意味着正常的 Syslog 消息被淹没,并且由于 iptables 日志的数量太多,重要的消息被遗漏了。因此,我们需要将正常的 Syslog 消息与大量 iptables 日志分开
答案1
运行“man iptables”后,使用以下 iptables 指令
-j 日志
答案2
也许 NFLOG 目标对您有用?我从未使用过它,但听起来它就是您想要的?
此目标提供匹配数据包的日志记录。当为规则设置此目标时,Linux 内核会将数据包传递给已加载的日志记录后端以记录数据包。这通常与 nfnetlink_log 结合使用作为日志记录后端,后者会通过 netlink 套接字将数据包多播到指定的多播组。一个或多个用户空间进程可以订阅该组来接收数据包。与 LOG 类似,这是一个非终止目标,即规则遍历在下一个规则处继续。
(重点补充)