2.7.3. 配置丢弃的数据包记录到文件中
默认情况下,systemd
会将内核消息(如 丢弃的数据包)记录到日志中。另外,您可以将 rsyslog
服务配置为将此类条目记录到单独的文件中。为确保日志文件不会无限增长,请配置轮转策略。
先决条件
-
rsyslog
软件包已安装。 -
rsyslog
服务正在运行。
流程
使用以下内容创建
/etc/rsyslog.d/nftables.conf
文件::msg, startswith, "nft drop" -/var/log/nftables.log & stop
使用这个配置,
rsyslog
服务会将数据包丢弃到/var/log/nftables.log
文件中,而不是/var/log/messages
。重启
rsyslog
服务:# systemctl restart rsyslog
使用以下内容创建
/etc/logrotate.d/nftables
文件,以便在大小超过 10 MB 时轮转/var/log/nftables.log
:/var/log/nftables.log { size +10M maxage 30 sharedscripts postrotate /usr/bin/systemctl kill -s HUP rsyslog.service >/dev/null 2>&1 || true endscript }
maxage 30
设置定义了logrotate
在下一次轮转操作期间删除超过 30 天的轮转日志。
其他资源
-
rsyslog.conf (5)
手册页 -
logrotate(8)
man page