海量编程文章、技术教程与实战案例

网站首页 > 技术文章 正文

玩转iptables之日志记录

yimeika 2025-05-26 02:00:52 技术文章 5 ℃

概述

上篇文章介绍了关于iptables基本操作,本期文章将通过三个问题向大家分享iptables的日志记录功能。

  1. 如何更改iptables防火墙的默认策略?
  2. 如何记录iptables防火墙拦截或放通的日志?
  3. 如何更换iptables防火墙日志记录文件?

如何更改iptables防火墙的Chain默认策略

iptables防火墙定义了INPUT、FORWORD和OUTPUT对应Chain(链)的策略;

默认情况,Centos8系统的iptables防火墙INPUT、FORWORD和OUTPUT对应Chain(链)的策略是放通(ACCEPT),如下图所示。

更改iptables防火墙的Chain默认策略为拒绝(DROP),参考以下三条命令:

iptables -P INPUT DROP

iptables -P FORWARD DROP

iptables -P OUTPUT DROP

如何记录iptables防火墙拦截或放通的日志

鉴于iptables的Chain默认策略被更改为拒绝(DROP),因此创建一条允许ICMP报文的策略。

#自定义Chain的名称ICMP_ACCEPT,用于记录放通ICMP数据包的。

iptables -N ICMP_ACCEPT

iptables -A ICMP_ACCEPT -j LOG --log-prefix "ICMP_ACCEPT_Packet:" --log-level 4

iptables -A ICMP_ACCEPT -j ACCEPT

备注:删除自定义Chain方式

iptables -X ICMP_ACCEPT;

#创建从外部主机到内部(Linux)的ICMP报文放通策略,并调用ICMP_ACCEPT;

iptables -A INPUT -p icmp --icmp-type echo-request -j ICMP_ACCEPT

iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ICMP_ACCEPT

#查看配置的策略

#查看记录的日志

iptables防火墙记录的日志默认保存在“/var/log/messages”文件中,可通过命令(tail -4 /var/log/messages)查看文件最后四行的日志记录;

其它参考命令:more /var/log/messages | grep ICMP_ACCEPT_Packet。

如何更换iptables防火墙日志记录文件

修改配置文件/etc/rsyslog.conf;

#配置文件添加的内容

#IPtables

kern.warning /var/log/iptables.log

重启syslog服务;

systemctl restart syslog;

外部主机ping测试linux主机,查看是否生成新的日志文件;

备注:

kern.warning ;对应的日志级别是level 4

kern.* ;所有的日志级别

总结

通过上述的分享,相信各位小伙伴已掌握iptables防火墙日志记录功能,不足之处,请留言指正,下期更精彩。

Tags:

最近发表
标签列表