Centos 7 上的 iptables 未记录到 /var/log/messages

Centos 7 上的 iptables 未记录到 /var/log/messages

我正在尝试在 CentOS 7 上设置 IP 表,这是我过去做过的,但由于某种原因,我无法像我期望的那样记录丢弃的数据包。在 ip 表配置中我有以下内容

*filter
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited



# Log and drop packets that don't match the above rules
-N LOGGING
-A INPUT -j LOGGING
-A OUTPUT -j LOGGING
-A LOGGING -j LOG --log-prefix "IPTables-Dropped: " --log-level 6
-A LOGGING -j REJECT
-A INPUT -j REJECT
-A OUTPUT -j REJECT
COMMIT

正如你所看到的,我只打开了端口 22 (SSH),所以我希望如果我尝试执行 HTTP 请求,因为防火墙不允许这样做,它会阻止该请求(确实如此),但我也应该在 /var/log/messages 中看到IPTables-Dropped我没有看到的日志行。

我也尝试过更新 /etc/rsyslog.conf 并添加,kern.warn /var/log/messages但没有任何区别(我确实重新启动了 rsyslog 服务)。

答案1

规则的顺序确实很重要。

这条规则:

-A INPUT -j REJECT --reject-with icmp-host-prohibited

在此规则之前:

-A INPUT -j LOGGING

阻止它被执行:不记录日志。

其他连锁店也一样。

只需用于iptables-save输出规则的“刷新”版本,并相应地编辑它们的顺序。

另请阅读这个链接REJECT关于不首先使用DROPINVALID 状态的(很少发生)问题。

相关内容