网络技术
性能优化
知识科普
技术分享
故障处理
Devops
KVM 虚拟化
无米之炊
Charmed-Kubernetes
ChromeOS
ULogd 收集 Iptables 的日志
type
status
date
slug
summary
tags
category
icon
password
背景
在充当 NAT 网关的两个 CentOS 7 服务器上,因为审计需求,需要打开 Iptables 的 Log。本来想着只需要使用
iptables –j LOG
就可以轻松实现目标,然而由于这两台服务器上的流量是巨大的。使用这种方式直接导致了 CPU 单核被打爆。于是找到了这篇文章,它推荐了本文标题中提到的 ULogd。
简介
Ulogd 是 netfilter.org 的一个项目,它是一个运行在用户态的日志记录守护进程,用于 NetFilter/iptables 相关日志记录。
在 Ubuntu 上,你可以轻松的通过 apt 进行安装。而在 CentOS 上,由于官方的 Repo 里面并没有这个东西。所以你需要手动编译安装它,或是使用 http://repo.iotti.biz 提供的 Repo。
在我的使用场景下,ulogd 能极大的提升 Iptables Log 的性能,几乎没有开销。
配置
可惜的是,这个项目的文档写的不是太好,网上也少见现成的使用范例。这里只能介绍一下我本人的使用案例。
ulogd
/etc/ulogd.conf 的配置样例
如果你使用的不是我在本文中提供的 RPM,请不要直接复制粘贴。对于较旧的版本,你可能需要调整 stack 部分为 ULOG 而不是 NFLOG,并且使用
iptables -j ULOG --ulog-nlgroup <id>
来记录 Log。iptables
这里 nflog-group 后面的 ID 需要和上面保持一致
现在你可以考虑使用 Grafana + Loki + Promtail 对日志进行查询、展示。
Loading...
Last update: 2023-06-14