如何配置/etc/syslog.conf文件以便在特定文件中保存有关iptables的日志信息.
我想单独保存这些信息,这样我就可以轻松快速地提取出我想要的内容.
解决方法:
系统日志
看一下iptables的手册页.它显示了一个名为LOG的目标,它可以做你想要的.
例
>将LOG的日志记录级别设置为4.
# DROP everything and Log it
iptables -A INPUT -j LOG --log-level 4
iptables -A INPUT -j DROP
>配置syslog.conf以将这些消息写入单独的文件.
# /etc/syslog.conf
kern.warning /var/log/iptables.log
>重新启动syslogd.
于Debian / Ubuntu
$sudo /etc/init.d/sysklogd restart
Fedora的/ CentOS的/ RHEL
$sudo /etc/init.d/syslog restart
注意:此记录方法称为固定优先级.它们是数字或名称(1,2,3,4,..)或(DEBUG,WARN,INFO等).
rsyslog现在
如果您正在使用rsyslog,则可以创建基于属性的过滤器,如下所示:
# /etc/rsyslog.conf
:msg, contains, "NETFILTER" /var/log/iptables.log
:msg, contains, "NETFILTER" ~
然后将thils开关添加到您要记录的iptables规则:
–log-prefix NETFILTER
作为替代方法,您还可以使用此类属性过滤器记录消息:
:msg, startswith, "iptables: " -/var/log/iptables.log
& ~
:msg, regex, "^\[ *[0-9]*\.[0-9]*\] iptables: " -/var/log/iptables.log
& ~
注意:第二种方法不需要对iptables进行任何更改.
参考
标签:linux,iptables,syslog
来源: https://codeday.me/bug/20190809/1629451.html