添加日志规则
使用-j LOG目标记录流量,可指定前缀和级别,例如:
iptables -A INPUT -p tcp --dport 22 -j LOG --log-prefix "SSH-IN: " --log-level 4
--log-prefix:为日志添加可识别前缀(如"SSH-IN")。--log-level:控制日志详细程度(4为警告级别,可调整)。保存规则
apt install iptables-persistent
netfilter-persistent save
直接查看日志文件
/var/log/kern.log,使用grep过滤:grep "SSH-IN" /var/log/kern.log
rsyslog,可能需检查/etc/rsyslog.conf确认日志路径。实时查看
tail -f /var/log/kern.log | grep "SSH-IN"
使用journalctl(systemd系统)
journalctl -k | grep "SSH-IN" # 查看内核日志中的iptables记录
文本工具处理
awk统计日志条目数量:awk '/SSH-IN/ {count++} END {print count}' /var/log/kern.log
sed提取特定字段(如IP地址):sed -n 's/.*SRC=\([0-9\.]*\).*/\1/p' /var/log/kern.log | sort | uniq -c
日志轮转管理
编辑/etc/logrotate.d/syslog,设置日志切割频率(如按天/周),避免文件过大。
--log-level设为6仅记录信息级日志)。logrotate自动归档。参考来源: