我按照@Gilles 的食谱这个答案。我成功了,但问题是 iptables 日志现在进入 3 个日志文件,syslog、kern.log 和 iptables.log。
理想情况下,我希望 iptables 日志只进入一个文件 iptables.log。
答案1
问题是 rsyslog 正在加载50-默认.conf在自定义首选项设置之前my_iptables.conf。
解决方案是在 conf 文件名中添加一个小于 50 的数字前缀。因此我将其重命名为10-my_iptables.conf。
文件/etc/rsyslog.d/10-my_iptables.conf
# Log kernel generated iptables log messages to file
:msg,contains,"[ipT" /var/log/iptables.log
& ~
iptables 日志前缀:
... -j LOG --log-prefix "[ipT4] ...
ip6tables 日志前缀:
... -j LOG --log-prefix "[ipT6] ...
然后我重新启动rsyslog:
# sudo service rsyslog restart
这产生了预期的效果 —— 所有 iptables 日志现在都被定向到“/var/log/iptables.log”。