Ubuntu 服务器上 ufw 的日志位于哪里?

Ubuntu 服务器上 ufw 的日志位于哪里?

我有一台 Ubuntu 服务器,我用 阻止了一些 IP ufw。我启用了日志记录,但我不知道在哪里可以找到日志。日志可能在哪里,或者为什么ufw不记录?

答案1

首先执行sudo ufw status verbose以查看您是否正在登录。如果没有,则执行sudo ufw logging on。如果正在登录,请检查/var/log/以 开头的文件ufw。例如,sudo ls /var/log/ufw*

如果您正在记录,但没有/var/log/ufw*文件,请检查是否rsyslog正在运行:sudo service rsyslog status。如果 rsyslog 正在运行,ufw 正在记录,但仍然没有日志文件,请在常用日志文件中搜索任何提及的内容。UFW例如:grep -i ufw /var/log/syslog以及。grep -i ufw /var/log/messagesgrep -i ufw /var/log/kern.log

如果您在 syslog、messages 和 kern.log 文件中发现大量ufw消息,则可能需要指示 rsyslog 将所有 UFW 消息记录到单独的文件中。在顶部添加一行,/etc/rsyslog.d/50-default.conf内容为以下两行:

:msg, contains, “UFW” -/var/log/ufw.log
& ~

然后您应该有一个包含所有ufw消息的 ufw.log 文件!

笔记:

检查50-default.conf文件中是否存在预先存在的配置。

确保在保存编辑之前备份文件!

Ubuntu Server 20.04 及更高版本的更新

从 Ubuntu 20.04 及更高版本开始,~已被弃用并且不应使用,如 ubuntu 20.04 系统日志中所报告的:

rsyslogd: error during parsing file /etc/rsyslog.d/50-default.conf, on or before line 6: invalid character '�' - is there an invalid escape sequence somewhere? [v8.2001.0 try https://www.rsyslog.com/e/2207 ]
Jan 26 12:10:27 ubuntu rsyslogd: warning: ~ action is deprecated, consider using the 'stop' statement instead [v8.2001.0 try https://www.rsyslog.com/e/2307 ]

相反,你应该用单词 来替换它stop。因此,如果你仍然想将 rsyslog 中的所有 ufw 消息记录到单独的 ufw.log 文件中,那么你应该将以下内容添加到你的/etc/rsyslog.d/50-default.conf文件中:

:msg, contains, “UFW” -/var/log/ufw.log
& stop

代替

:msg, contains, “UFW” -/var/log/ufw.log
& ~

答案2

您还可以在内核缓冲区中找到 UFW 的日志。

sudo dmesg | grep '\[UFW'

相关内容