UFW (Uncomplicated Firewall) 中启用流量日志记录

UFW (Uncomplicated Firewall) 中启用流量日志记录

UFW (Uncomplicated Firewall) 中启用流量日志记录很简单,它本身内置了日志功能,可以记录被允许和拒绝的流量。下面是具体操作方法:


1. 启用 UFW 日志

1
sudo ufw logging on

这会启用日志功能(默认级别是 low)。

如果需要更详细的日志,可以设置日志级别:

1
2
3
4
sudo ufw logging low    # 默认,记录被拒绝的连接
sudo ufw logging medium # 更多的连接尝试
sudo ufw logging high # 包括允许的流量
sudo ufw logging full # 最详细,几乎所有连接都会记录

2. 日志存放位置

  • 日志默认写入到 /var/log/ufw.log
  • 如果系统未单独分离 UFW 日志,也可能写到 /var/log/syslog​ 或 /var/log/messages

2.1 可以实时查看日志

1
sudo tail -f /var/log/ufw.log

如果/var/log/ufw.log​文件不存在,可能是缺少rsyslog服务,导致日志没有进行拆分。

要看内核里打出来的 UFW 包日志(即 [UFW BLOCK]​、[UFW AUDIT] 那些):

1
sudo journalctl -k | grep UFW

2.2 使用rsyslog进行拆分

  1. 安装rsyslog
1
apt install rsyslog
  1. 编辑 rsyslog 配置
1
sudo nano /etc/rsyslog.d/20-ufw.conf

内容:

1
2
:msg,contains,"[UFW " /var/log/ufw.log
& stop
  1. 重启 rsyslog
1
sudo systemctl restart rsyslog
  1. 现在就有 /var/log/ufw.log 文件了:
1
sudo tail -f /var/log/ufw.log

3. 示例日志格式

日志通常会显示如下信息:

1
Jan 28 21:10:22 server kernel: [12345.678901] [UFW BLOCK] IN=eth0 OUT= MAC=... SRC=192.168.1.100 DST=192.168.1.10 LEN=60 ...
  • UFW BLOCK 代表被拦截的流量
  • SRC 是来源 IP
  • DST 是目标 IP
  • IN/OUT 表示流入或流出接口

4. 停用日志

如果日志太多,可以关闭:

1
sudo ufw logging off


UFW (Uncomplicated Firewall) 中启用流量日志记录
https://hesc.info/post/enable-traffic-logging-in-ufw-uncomplicated-firewall-12qv4h.html
作者
需要哈气的纸飞机
发布于
2025年8月28日
许可协议