CentOS 6.9开启iptables的日志实现调试

来源:本站原创 Linux 超过245 views围观 0条评论

系统日志配置在CentOS 5上叫syslog,而在CentOS 6上叫rsyslog(增强版的syslog),CentOS 5上的配置文件在/etc/syslog.conf下,而CentOS 6在/etc/rsyslog.conf下。

 

说明:

1、如果从外网请求到内网,那么将从头走到尾,经过上图的每一个点。

2、如果是本机请求本机,那么将从local process开始往下执行;打比方nat来说,如果请求本机的转发规则时,那么经历的阶段就只能从OUTPUT链开始,不会经过PREROUTING链。

日志调试的思路:

1、先在指定的表和链增加日志的输出。

2、指定日志的级别以及日志的前缀,注意,前缀非常重要,可以加快问题的分析。

3、最后就是使用ping或者crul进行访问测试,观察日志。

4、iptables是按顺序执行的,但是如果在某一处地方跳转了之后以下的规则就不会再执行,这一个可以日志打点后再慢慢观察发现。

日志文件的配置:

1、在rsyslog.conf添加配置

/etc/rsyslog.conf中添加不同的日志级别

kern.warning     /var/log/iptables.log
kern.debug       /var/log/iptables.log
kern.info        /var/log/iptables.log

不过推荐全部日志都记录:

kern.*     /var/log/iptables.log

重启日志配置:

/etc/init.d/rsyslogd restart

如果不进行配置,那么这些日志会记录到/var/log/messages中,当然,在/var/log/kern.log也可以找得到。

iptables日志打点配置:

比如下面针对nat表的POSTROUTING链进行日志打点

iptables -t nat -A POSTROUTING -d 192.168.0.61 -p tcp --dport 9000 -j LOG --log-prefix "*** nat-POSTROUTING ***" --log-level warning

–log-prefix:日志前缀

–log-level:日志级别

 

Jan 18 03:46:08 linux1 kernel: *** 2222 ***IN=eth3 OUT= MAC=00:0c:29:0b:0e:1a:00:0c:29:20:77:96:08:00 SRC=192.168.41.138 DST=192.168.41.137 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=10757 DF PROTO=TCP SPT=34187 DPT=2222 WINDOW=14600 RES=0x00 SYN URGP=0

Jan 18 03:46:09 linux1 kernel: *** 2222 ***IN=eth3 OUT= MAC=00:0c:29:0b:0e:1a:00:0c:29:20:77:96:08:00 SRC=192.168.41.138 DST=192.168.41.137 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=10758 DF PROTO=TCP SPT=34187 DPT=2222 WINDOW=14600 RES=0x00 SYN URGP=0

 

详细配置说明参考:https://www.frozentux.net/iptables-tutorial/cn/iptables-tutorial-cn-1.1.19.html#LOGTARGET

文章出自:CCIE那点事 http://www.jdccie.com/ 版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。 禁止全文转载。
本文链接:http://www.jdccie.com/?p=4038转载请注明转自CCIE那点事
如果喜欢:点此订阅本站
  • 相关文章
  • 为您推荐
  • 各种观点

暂时还木有人评论,坐等沙发!
发表评论

您必须 [ 登录 ] 才能发表留言!