iptables和firewalld开启策略日志

我的iptables中有这个规则:

iptables -AINPUT -s 192.168.11.0/24 -j LOG 

我的问题是:

iptables日志文件在哪里,我该如何更改?

这些日志由内核生成,因此它们将转到接收内核日志的文件: /var/log/kern.log 。

如果要将这些日志重定向到其他文件,则无法通过iptables完成。 它可以在调度日志的程序配置中完成:rsyslog。 在iptables规则中,添加任何其他内核日志未使用的前缀:

 iptables -A INPUT -s 192.168.11.0/24 -j LOG --log-prefix='[netfilter] ' 

按照20-ufw.conf设置的示例,在/etc/rsyslog.d/my_iptables.conf下创建一个包含的文件

 :msg,contains,"[netfilter] " /var/log/iptables.log 

默认日志接收位置:

LOG操作的日志文件位于/var/log/syslog (Ubuntu和类似操作系统)或/var/log/messages (CentOS和类似操作系统)中。

如果您在查找正确的文件时遇到问题,可以尝试这样做:

 find /var/log -mmin 1 

这将找到在/var/log及其下面的最后1分钟内修改的任何文件。 您可能会发现-j LOG可能只更新一个文件。

例如,在Ubuntu 18上, /var/log/syslog /var/log/kern.log/var/log/syslog都受到netfilter日志记录的影响。

 

firewall 开启策略记录日志步骤:

(默认只记录被禁止策略的日志,针对某条策略的日志记录,还需要研究)

编辑firewall的配置文件

vim /etc/firewalld/firewalld.conf

LogDenied=all    //all为存储全部拒绝日志

重启firewalld

systemctl restart firewalld

systemctl status firewalld

配置日志路径:

默认存储日志位置:

tail -f /var/log/messages

默认自定义路径:

vi /etc/rsyslog.conf 

# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
kern.* /var/log/iptables.log      //配置将内核策略日志,存储到指定文件/var/log/iptables.log

自定义路径:

vim /etc/rsyslog.d/firewalld.conf      //在自定义位置创建一个自定义日志名称文件

kern.* /var/log/firewalld.log      //配置将内核策略日志,存储到指定文件/var/log/firewalld.log

vim /etc/logrotate.d/syslog      //可以做,也可以不配置,这个还不确定作用,说是滚动日志

/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/firewalld.log
/var/log/spooler
{
missingok
sharedscripts
postrotate
/usr/bin/systemctl kill -s HUP rsyslog.service >/dev/null 2>&1 || true
endscript
}

重启日志服务

打开firewalld.log日志

systemctl restart rsyslog.service

more /var/log/firewalld.log

参考:https://blog.csdn.net/kangweijian/article/details/126347125

firewall-cmd --reload   和  systemctl restart firewalld启动错误等日志位置:

tail -500f /var/log/firewalld

 

iptables开启策略记录日志:

开启策略日志记录:

iptables -AINPUT -s 192.168.11.0/24 -j LOG    //开启iptables的日志记录
类似如下图片,截图非上面命令的执行结果



默认日志位置:
tail -f /var/log/messages
自定义指定日志位置:

这些日志由内核生成,因此它们将转到接收内核日志的文件: /var/log/kern.log 。

如果要将这些日志重定向到其他文件,则无法通过iptables完成。 它可以在调度日志的程序配置中完成:rsyslog。 在iptables规则中,添加任何其他内核日志未使用的前缀:

 iptables -A INPUT -s 192.168.11.0/24 -j LOG --log-prefix='[netfilter] '    //指定日志输出类型名称(唯一标识)

按照20-ufw.conf设置的示例,在/etc/rsyslog.d/my_iptables.conf下创建一个包含的文件

 :msg,contains,"[netfilter] " /var/log/iptables.log   //指定日志输出位置
查看日志:
tail -500f /var/log/iptables.log

LOG操作的日志文件位于/var/log/syslog (Ubuntu和类似操作系统)或/var/log/messages (CentOS和类似操作系统)中。

如果您在查找正确的文件时遇到问题,可以尝试这样做:

 find /var/log -mmin 1 

这将找到在/var/log及其下面的最后1分钟内修改的任何文件。 您可能会发现-j LOG可能只更新一个文件。

例如,在Ubuntu 18上, /var/log/syslog /var/log/kern.log/var/log/syslog都受到netfilter日志记录的影响。

 

参考链接:https://ubuntu.dovov.com/4922/%E6%88%91%E5%9C%A8%E5%93%AA%E9%87%8C%E5%8F%AF%E4%BB%A5%E6%89%BE%E5%88%B0iptables%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%EF%BC%8C%E5%A6%82%E4%BD%95%E6%9B%B4%E6%94%B9%E5%85%B6%E4%BD%8D%E7%BD%AE%EF%BC%9F.html

参考链接:https://www.bilibili.com/read/cv20486259/

 

使用awk和uniq进行去重:

cat /var/log/iptables_my.log | awk '{print $11}'| tr -d "DST=" | sort |uniq

uniq -c   //进行重复次数统计

因为uniq命令,必须排序后才能进行去重,所以需要先进行排序

参考连接:https://blog.csdn.net/qq_43382735/article/details/121007185

tr删除特定字符串

https://blog.csdn.net/weixin_30945039/article/details/95820088

 

posted on   叶子在行动  阅读(997)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示