是否可以将 iptables 的 LOG 链的日志输出重定向到单独的日志文件中?

mba*_*off 6 logs iptables

我不想将iptables的日志输出与其他系统日志混合。如何为iptablesLOG 链输出指定专用日志文件?

Cal*_*leb 5

您如何执行此操作将取决于您使用的日志守护程序,syslogsyslog-ng.

使用syslog,您可以通过调整特定日志级别以仅包含iptables消息来实现此目的。

/etc/syslog.conf

kern.warning     /var/log/iptables
Run Code Online (Sandbox Code Playgroud)

iptables使用该日志级别的集合:

iptables -A INPUT -j LOG --log-level 4
Run Code Online (Sandbox Code Playgroud)

syslog-ng你在一起应该可以变得更狂热。您可以过滤内容并将该内容发送到特定的日志文件,而不是修改日志级别。

/etc/syslog-ng/syslog-ng.conf

destination d_iptables { file("/var/log/iptables"); };
filter f_iptables { match("IN=[A-Za-z0-9\.]* OUT=[A-Za-z0-9\.]*" value("MESSAGE")); };
log { source(s_sys); filter(f_iptables); destination(d_iptables); }
Run Code Online (Sandbox Code Playgroud)