赞
踩
如果您的IPTables规则无法正常工作,则可能需要记录IPTables丢弃的数据包以进行故障排除。本文解释如何记录传入和传出丢弃的firewal数据包。
记录所有丢弃的输入数据包
首先,我们需要了解如何将所有丢失的iptables输入数据包记录到syslog中。
如果你已经有了大量的iptables防火墙规则,在底部添加这些规则,将所有丢弃的输入数据包(传入)记录到/ var / log / messagesiptables -N LOGGING
iptables -A INPUT -j LOGGING
iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
iptables -A LOGGING -j DROP
在上面的例子中,它做了以下工作:iptables -N LOGGING:创建一个名为LOGGING的新链
iptables -A INPUT -j LOGGING:所有剩余的传入数据包将跳转到LOGGING链
第3行:将传入数据包记录到syslog(/ var / log / messages)。这一行详细解释如下。
iptables -A LOGGING -j DROP:最后,丢弃所有到达LOGGING链的数据包。即现在它真的丢弃传入的数据包。
在上面的第3行中,它具有以下用于记录丢弃的数据包的选项:-m限制:这使用限制匹配模块。使用这个你可以使用-limit选项限制日志记录。
-limit 2 / min:表示记录的最大平均匹配率。在这个例子中,对于类似的数据包,它将限制日志记录为每分钟2。您也可以指定2 /秒,2 /分钟,2 /小时,2 /天。当您不想用重复的同一丢包数据包混淆日志消息时,这很有帮助。
-j LOG:这表明这个数据包的目标是LOG。即写入日志文件。
-log-prefix“IPTables-Dropped:”您可以指定任何日志前缀,该日志前缀将被附加到将写入/ var / log / messages文件的日志消息
-log-level 4这是标准的系统日志级别。4是警告。您可以使用范围从0到7的数字。0是紧急情况,7是调试。
记录所有丢弃的传出数据包
这和上面的一样,但下面的第二行有OUTPUT而不是INPUT。iptables -N LOGGING
iptables -A OUTPUT -j LOGGING
iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
iptables -A LOGGING -j DROP
记录所有丢弃的数据包(传入和传出)
这和以前一样,但是我们将从前面的两个例子中取第2行,并在这里添加它。即我们将有一个单独的行输入和输出将跳转到记录链。
要记录传入和传出丢弃的数据包,请在现有的iptables防火墙规则的底部添加以下行。iptables -N LOGGING
iptables -A INPUT -j LOGGING
iptables -A OUTPUT -j LOGGING
iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
iptables -A LOGGING -j DROP
另外,正如我们前面所解释的,默认情况下,iptables将使用/ var / log / messages来记录所有消息。如果您想将其更改为您自己的自定义日志文件,请将以下行添加到/etc/syslog.conf中kern.warning /var/log/custom.log
如何阅读IPTables日志
以下是丢弃传入和传出数据包时记录在/ var / log / messages中的行的示例。Aug 4 13:22:40 centos kernel: IPTables-Dropped: IN= OUT=em1 SRC=192.168.1.23 DST=192.168.1.20 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=ICMP TYPE=8 CODE=0 ID=59228 SEQ=2
Aug 4 13:23:00 centos kernel: IPTables-Dropped: IN=em1 OUT= MAC=a2:be:d2:ab:11:af:e2:f2:00:00 SRC=192.168.2.115 DST=192.168.1.23 LEN=52 TOS=0x00 PREC=0x00 TTL=127 ID=9434 DF PROTO=TCP SPT=58428 DPT=443 WINDOW=8192 RES=0x00 SYN URGP=0
在上面的输出中:IPTables-Dropped:这是我们在日志中使用的前缀,通过指定-log-prefix选项
IN = em1这表示用于此传入数据包的接口。对于传出数据包,这将是空的
OUT = em1这表示用于传出数据包的接口。对于传入的数据包,这将是空的。
SRC =数据包来源的源IP地址
DST =数据包发送到的目标IP地址
LEN =数据包的长度
PROTO =表示协议(如上所示,第一行是用于传出的ICMP协议,第二行是用于传入的TCP协议)
SPT =表示源端口
DPT =指示目标端口。在上面的第二行中,目标端口是443.这表示传入的HTTPS数据包已被丢弃
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。