添加日志規則
使用-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自動歸檔。參考來源: