![无法记录 iptables 的输出](https://linux22.com/image/549665/%E6%97%A0%E6%B3%95%E8%AE%B0%E5%BD%95%20iptables%20%E7%9A%84%E8%BE%93%E5%87%BA.png)
我对 /etc/sysconfig/iptables 做了以下更改
-A INPUT -s 0.0.0.0 -d 192.168.132.81 -p tcp -m tcp --dport 8000 -j LOG --log-prefix "TrialIpTables"
我希望每次访问 192.168.132.81 的 8000 端口时都能看到日志。但是,我没有看到任何内容/var/log/messages
。我不知道如何开始排除故障。
答案1
我认为问题在于源地址:尝试访问该端口时,您不是来自 0.0.0.0。请尝试使用具有更宽网络掩码 (/0) 的源地址,或者,这是更明智的选择,根本没有源地址。
此外,在对 IP 表进行故障排除时,/sbin/iptables -L -v
将显示有多少数据包和字节与特定规则匹配 - 在您的情况下,我相信它将是 0。
答案2
首先,您的日志消息可能在 syslog 中,而不是 message 中。请尝试grep TrialIpTables /var/log/*
。
其次,iptables
除非它阻止了某些东西,或者你提高了日志级别,否则可能不会创建日志条目。你可以在 iptables 文档中查找这些项目,但我认为你可能要考虑这实际上是一个糟糕的计划™。通过进行过于详细的日志记录(例如跟踪 tcp 端口上的所有命中),你正在创建一个新的攻击面。某人只需要用连接请求淹没该端口,他们就会用日志消息填满你的硬盘!
也许您可以考虑另一种策略来在连接链中较低详细程度的点记录访问,或者重新考虑您需要多少信息。