sir*_*004 5 linux syslog fedora iptables rsyslog
我几乎讨厌为此提交一个主题,但我自己无法弄清楚。我正在运行 Federoa 17 服务器,并且尝试通过 rsyslog 将 iptables 中丢弃的数据包记录到单独的日志文件中,但它一直将它们发送到 /var/log/messages 。
我的防火墙脚本的片段:
#!/bin/bash
iptables -F
# My accepted rules would be here
iptables -A INPUT -j LOG --log-prefix "iptables: "
iptables -A FORWARD -j LOG --log-prefix "iptables: "
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables-save > /etc/sysconfig/iptables
service iptables restart
iptables -L -v
Run Code Online (Sandbox Code Playgroud)
应该从 iptables 捕获消息的配置文件:
[root@fc17 ]# cat /etc/rsyslog.d/iptables.conf
:msg, startswith, "iptables: " /var/log/iptables.log
& ~
Run Code Online (Sandbox Code Playgroud)
我的 rsyslog.conf 文件中的片段:
#### GLOBAL DIRECTIVES ####
# Include all config files in /etc/rsyslog.d/
$IncludeConfig /etc/rsyslog.d/*.conf
#### RULES ####
# I put this in here too to see if it would work; it doesn't
:msg, startswith, "iptables: " /var/log/iptables.log
& ~
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none /var/log/messages
Run Code Online (Sandbox Code Playgroud)
自从进行更改以来,我已经多次重新启动了 iptables 和 rsyslog,无论如何,它只会将丢弃的数据包从 iptables 记录到 /var/log/messages。
我听说在兼容模式下运行 rsyslog 会导致各种问题。这里可能是这种情况吗?以下是我的系统上的运行选项:
[root@fc17 ]# ps -ef | grep rsyslog
root 3571 1 0 00:59 ? 00:00:00 /sbin/rsyslogd -n -c 5
Run Code Online (Sandbox Code Playgroud)
比较运算符startswith不起作用,因为当我检查日志时它msg没有开始:iptables:
[root@localhost ~]# cat /etc/rsyslog.d/test.conf
:msg, startswith, "iptables:" /var/log/iptables.log
Run Code Online (Sandbox Code Playgroud)
然而,contains比较运算符在我的 FC18 上有效:
[root@localhost ~]# cat /etc/rsyslog.d/test.conf
:msg, contains, "iptables:" /var/log/iptables.log
Run Code Online (Sandbox Code Playgroud)
参考:Rsyslog 站点
| 归档时间: |
|
| 查看次数: |
9620 次 |
| 最近记录: |