我目前正在尝试将部分 IPTables 日志从 kern.log 中分离出来,放到一个名为 iptables.log 的文件中。基本上,我有几个不同的适配器,并且我在每个适配器上记录对端口 80 的请求。这些规则运行正常,并能很好地输出到 kern.log。以下是示例:
-A INPUT -d 192.168.100.10 -p tcp -m tcp --dport 80 -j LOG --log-prefix "[10010] REQUEST Port 80: " --log-level 7
我已完成以下操作以尝试分离出我想要的内容:
- 在 /var/log 中创建了一个具有 644 权限的 iptables.log 文件
- 创建了一个
iptables.conf
文件,/etc/rsyslog.d/
内容如下::msg,contains,"[10010] REQUEST Port 80: " -/var/log/iptables.log
- 编辑后
/etc/rsyslog.conf
包含以下行:kern.debug /var/log/iptables.log
- 重新启动rsyslog:
service rsyslog restart
尽管如此,我的“[10010]”内容仍然被写入 kern.log 文件而不是 iptables.log。
任何有关此事的帮助都将不胜感激。
答案1
最终获得了测试 Linux 系统的权限。
我突然想起来:rsyslogd
syslog
以用户身份(而不是 )写入系统日志root
。(已使用 验证ps aux | grep [r]syslog
)
因此,chown syslog.syslog /var/log/iptables.log
应该解决这个问题。
(解决方案已在我的系统上测试并运行)