在 Ubuntu 上,用 iptables 查“日志”通常分两种情况:
下面按常见场景说明。
iptables -L -n -v | grep LOG
如果有类似:
LOG all -- 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 4 prefix "IPTABLES-DROP: "
说明有日志。
在现代 Ubuntu(16.04+,使用 systemd):
sudo journalctl -k | grep IPTABLES
或:
sudo dmesg | grep IPTABLES
如果是老系统(syslog):
sudo grep IPTABLES /var/log/syslog
sudo grep IPTABLES /var/log/messages
日志里的
IPTABLES是你自己定义的--log-prefix
sudo iptables -A INPUT -j LOG --log-prefix "IPTABLES-DROP: " --log-level 4
sudo iptables -A INPUT -j DROP
然后查看:
sudo dmesg -T | grep IPTABLES-DROP
如果你用的是 ufw(Ubuntu 默认):
sudo ufw status verbose
sudo grep UFW /var/log/syslog
sudo journalctl | grep UFW
开启 ufw 日志:
sudo ufw logging on
sudo iptables -S
sudo iptables -L -n -v
CONFIG_NETFILTER_LOG-m limit --limit 5/min
# 看规则
iptables -L -n -v
# 看日志
dmesg | grep IPTABLES
journalctl -k | grep IPTABLES
如果你愿意,可以告诉我:
我可以给你精准命令。