我已经使用了iptables
一段时间,但最近注意到我设置的日志前缀已损坏。在 /etc/iptables/rules.v4` 中我有:
-A LOGNDROP -j LOG --log-prefix "iptables denied: " --log-level 7
我发现/var/log/syslog
我实际上有这样的记录
Jul 25 20:10:04 zotac kernel: [688421.696561] --log-prefixIN=wlan0 OUT= MAC=1c:4b:d6:ee:a9:64:00:24:17:0c:a7:ef:08:00 SRC=173.194.67.109 DST=192.168.1.4 LEN=40 TOS=0x00 PREC=0x00 TTL=44 ID=36871 PROTO=TCP SPT=587 DPT=60497 WINDOW=0 RES=0x00 RST URGP=0
日志前缀以某种方式设置为--log-prefix
。我可以通过执行以下命令来修复此问题:
~# iptables -R LOGNDROP 1 -j LOG --log-prefix "iptables denied: " --log-level 7
但为什么会发生这种情况以及如何解决它?
仅供参考:Debian Wheezy [Linux version 3.2.0-2-686-pae (Debian 3.2.20-1)]
与iptables [1.4.14-2]
和iptables-persistent [0.5.3+nmul]
答案1
看来这是一个错误iptables-restore
。
基本上,iptables-restore
无法解析双引号中的参数(这就是iptables-save
日志前缀的写法),因此选择前一个标记,即字符串--log-prefix
本身!
解决方案是升级到 iptables 1.4.14-3(目前在 Debian sid/unstable)。