仅当 IPTables 被特定规则丢弃时才记录丢弃的数据包

bud*_*ddy 4 logs iptables

我在 Linux 设备上设置了 IPTables 规则。我有一个特定的规则来丢弃数据包,我希望仅当数据包被该特定规则而不是其他规则丢弃时才记录数据包。

因此没有写出到系统日志。

slm*_*slm 6

您可以在设置此特定规则时使用rsyslog和设置自定义--log-prefix。这将允许您设置rsyslog规则以将具有此自定义前缀的任何消息路由到单个日志文件。

本教程标题为:更改 IPTables 日志文件,显示了确切的方法。一般来说,你会像这样设置你的 iptables 规则:

$ sudo iptables -A INPUT -p tcp --dport 22 --syn -j LOG --log-prefix "iptables: "
Run Code Online (Sandbox Code Playgroud)

然后创建相应的rsyslog规则来记录带有此前缀的消息:

# /etc/rsyslog.d/10-iptables.conf
:msg, contains, "iptables: " -/var/log/iptables.log
& ~
Run Code Online (Sandbox Code Playgroud)