在哪里可以找到iptables日志文件,如何更改其位置?


48

我的iptables中有以下规则:

iptables -AINPUT -s 192.168.11.0/24 -j LOG

我的问题是:

iptables日志文件在哪里,我该如何更改?

Answers:


62

这些日志由内核生成,因此它们转到接收内核日志的文件:/var/log/kern.log

如果要将这些日志重定向到其他文件,则无法通过iptables完成。可以在分发日志的程序的配置中完成:rsyslog。在iptables规则中,添加一个其他内核日志未使用的前缀:

iptables -A INPUT -s 192.168.11.0/24 -j LOG --log-prefix='[netfilter] '

按照设置的示例20-ufw.conf,在/etc/rsyslog.d/my_iptables.conf包含下创建一个文件

:msg,contains,"[netfilter] " /var/log/iptables.log

我没有安装ufw,所以我无法在syslog,kern.log或iptables.log中找到日志
pylover 2013年

3
@pylover UFW只是一个例子。我知道您没有iptables.log,我的答案是向您展示如何创建它。/var/log/kern.log如果您运行的是其他版本的Ubuntu,则可能没有(我认为最新版本不再使用此文件,/var/log/syslog而是将内核日志放入),但这没关系。哦,但是如果您运行的是旧版Ubuntu,则可能需要安装该rsyslog软件包。
吉尔(Gilles)'“ SO-别再邪恶了”

为了使此功能在12.10上有效,我必须调整rsyslog.d文件以使其具有以下附加字符:“:msg,contains,” [netfilter]“-/ var / log / iptables.log”
Daniel

2
还有一件事,我需要将文件命名为00-my_iptables.conf,否则iptables仍会登录kern.log
Valentin Kantor,

2
也许您也可以提到该& stop命令。这样,您可以避免kern.log文件中的重复项,这些重复项可能会影响您查看其他重要内核日志的能力。
Alexis Wilke

12

我知道这已经太迟了,答案已经被标记为可接受的答案。我只是要提供一些新信息。

LOG可在/var/log/syslog(Ubuntu和类似操作系统)或/var/log/messages(CentOS和类似操作系统)找到该操作的日志文件。


5

如果您在查找正确的文件时遇到麻烦,可以尝试如下操作:

find /var/log -mmin 1

这将在/var/log和下方找到最近1分钟内修改过的所有文件。您可能会发现不仅-j LOG可以更新单个文件。

例如,在Ubuntu 18上,/var/log/kern.log和都会/var/log/syslog受到netfilter日志记录的影响。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.