相关疑难解决方法(0)

dmesg 充斥着防火墙日志

在我的 iptables 中,我有一个记录丢弃数据包的规则:

-A INPUT -i eth0       -j   LOG  --log-prefix "FW: " --log-level 7
-A INPUT -i eth0       -j   DROP
Run Code Online (Sandbox Code Playgroud)

/etc/rsyslog.conf,我有另一个规则将这些日志发送到一个专用文件/var/log/firewall.log

:msg, contains, "FW: "                    -/var/log/firewall.log
& ~
Run Code Online (Sandbox Code Playgroud)

& ~立即删除日志,因此它们不会淹没syslog或其他日志文件。

这很有效,除了它充斥dmesg着那些防火墙日志(不是/var/log/dmesgcommand 的输出dmesg)。

有没有办法防止这些日志显示在dmesg

logs iptables rsyslog

9
推荐指数
1
解决办法
1万
查看次数

为 iptables 配置自定义日志文件

我正在尝试将丢弃的包记录到自定义文件而不是/var/log/messages.

为了实现这一点,我在配置文件的末尾添加了这两行:

    -A INPUT -m limit --limit 5/min -j LOG --log-prefix "IPTables-INPUT-Dropped: " --log-level 4
    -A OUTPUT -m limit --limit 5/min -j LOG --log-prefix "IPTables-OUTPUT-Dropped: " --log-level 4
Run Code Online (Sandbox Code Playgroud)

这是有效的,因为我默认将 INPUT 和 OUTPUT 链配置为 DROP,因此如果包不符合任何先前的规则,它将被记录并删除。

但是,我无法将它们记录到自定义文件中。他们登录成功/var/log/messages,但我希望他们登录/var/log/iptables.log。我创建了/etc/rsyslog.d/iptables.conf包含以下内容的文件:

    :msg, contains, "IPTables-INPUT-Dropped: " - /var/log/iptables.log
    & ~
Run Code Online (Sandbox Code Playgroud)

然后我重新启动了 rsyslog,/etc/init.d/rsyslog restart并发送了一些我知道会被丢弃的包。然而,它们没有登录到 iptables.log,它们仍然被登录/var/log/messages

缺少哪个配置?

已解决 的问题是-/之间不应该有空格

logs debian iptables rsyslog

8
推荐指数
1
解决办法
2万
查看次数

标签 统计

iptables ×2

logs ×2

rsyslog ×2

debian ×1