在 Ubuntu 上,iptables 本身不会自动写日志,需要你显式配置 LOG 规则,并且日志通常会进到 内核日志(dmesg / syslog / rsyslog) 里。
下面按常见情况给你说明。
sudo iptables -L -v -n
sudo iptables -L -v -n -t nat
重点看有没有类似:
LOG all -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 4
sudo iptables -A INPUT -j LOG --log-prefix "IPTABLES-DROP: " --log-level 4
sudo iptables -A INPUT -j DROP
sudo iptables -I INPUT -j LOG --log-prefix "IPTABLES-IN: "
dmesg | grep IPTABLES
或实时查看:
dmesg -w | grep IPTABLES
Ubuntu 一般使用 rsyslog:
sudo grep IPTABLES /var/log/syslog
或实时:
sudo tail -f /var/log/syslog | grep IPTABLES
如果你用的是 Ubuntu 22.04+,也可能在:
sudo journalctl -k | grep IPTABLES
sudo vim /etc/rsyslog.d/10-iptables.conf
内容:
:msg, contains, "IPTABLES-" -/var/log/iptables.log
& stop
sudo systemctl restart rsyslog
sudo tail -f /var/log/iptables.log
--log-prefix 一致如果你愿意,可以告诉我:
我可以给你精确命令。