操作系统:Ubuntu 10.04日志守护进程:rsyslog
出于某种原因,我没有得到任何iptables的日志,即使我以为我不经常看他们,我仍然希望得到它的工作为了它的工作XD
这是我的/etc/ryslog.d/iptables.conf
:msg, contains, "[IPTABLES]" -/var/log/iptables.log & ~
我的iptables日志logging前缀是“[IPTABLES]”,其后是其他任何内容(例如[IPTABLES] Deny xyz)
正在创build/var/log/iptables.log文件,但它没有得到任何条目。 我可以在dmesg中看到日志条目,但不能在syslog或消息中看到。
这是怎么回事?
编辑:我的iptables日志规则:
# logging limit LoggingLimit=5/min LoggingPrefix=IPTABLES # Logging chain iptables -N LOG_REJECT iptables -A LOG_REJECT -j LOG # join INPUT to LOG_REJECT iptables -A INPUT -j LOG_REJECT # logging iptables -A LOG_REJECT -p tcp -m limit --limit $LoggingLimit -j LOG --log-prefix "$LoggingPrefix Denied TCP: " #--log-level 7 iptables -A LOG_REJECT -p udp -m limit --limit $LoggingLimit -j LOG --log-prefix "$LoggingPrefix Denied UDP: " #--log-level 7 iptables -A LOG_REJECT -p icmp -m limit --limit $LoggingLimit -j LOG --log-prefix "$LoggingPrefix Denied ICMP: " #--log-level 7
更新:我发现一个线程与我有相同的症状,显然是一个内核错误。 我正在使用VPS,所以任何人都可以指点我如何升级我的内核或应用解决方法? 我找不到在apt-cache中列出的2.6.34内核。
主题: http : //www.linode.com/forums/viewtopic.php? t = 5533
而不是“[IPTABLES]”,只能使用“IPTABLES”。 它可能工作。
你可以显示dmesg中的条目是什么样的吗?
虽然这不是对您的问题的直接回答,但我build议您不要将iptables日志与系统日志混合使用。
考虑ulogd和-j ULOG,而不是-j LOG在你的规则集。
Xmmm。
显然它不符合正则expression式。 你可以写一些类似的东西
:msg,包含“[IPTABLES]”CONSOLE,其中CONSOLE是tty命令的结果。 这样,如果任何与您的正则expression式匹配,它将被打印到您的控制台{只是为了debugging}。
如果它不打印任何东西,可以说你没有匹配。 在这种情况下,可以在'['之前加'['来处理它作为转义字符,或者只是删除'[',']'
升级rsyslog,现在一切正常!
/etc/init.d/rsyslog stop /etc/init.d/rsyslog.dpkg-new stop cd /usr/src wget http://www.rsyslog.com/Downloads-req-getit-lid-197.phtml tar zxvf rsyslog-5.4.0.tar.gz. cd rsyslog-5.4.0 ./configure make make install mv /etc/rsyslog.conf /etc/rsyslog.conf.original cp /usr/src/rsyslog.conf /etc/rsyslog.conf reboot