共120行
2026-02-06 09:11:22
在Ubuntu系统中,查看被限制的IP访问记录或防火墙规则,可以通过以下多种方法实现。以下是具体操作步骤及工具推荐:
ufw(Uncomplicated Firewall)查看当前规则状态:
sudo ufw status verbose输出会显示所有允许或拒绝的IP规则,例如:
Status: active
To Action From
-- ------ ----
22/tcp ALLOW 192.168.1.100
80/tcp DENY Anywhere
此方法适用于通过UFW配置的规则。
查看详细日志:
UFW的拦截日志默认记录在 /var/log/ufw.log,可通过以下命令实时监控:
sudo tail -f /var/log/ufw.log | grep DROP日志会显示被拦截的IP、端口及时间戳。
iptables查看所有DROP规则:
sudo iptables -L -n -v | grep DROP输出会列出所有被iptables拦截的IP和端口,例如:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
12K 960K DROP tcp -- * * 192.168.1.100 0.0.0.0/0 tcp dpt:22
此方法适用于通过iptables直接配置的规则。
SSH登录失败记录:
sudo grep 'Failed password' /var/log/auth.log输出会显示尝试登录的IP地址及失败次数,例如:
May 8 10:00:00 server sshd[12345]: Failed password for root from 192.168.1.200 port 22 ssh2
此方法适用于分析暴力破解尝试的IP。
实时监控系统日志:
sudo tail -f /var/log/syslog可捕获包括防火墙拦截、服务异常等事件。
fail2ban查看被拦截的IP列表:
sudo fail2ban-client status sshd输出会显示因多次失败登录被封禁的IP及封禁时间。
tcpdump 抓包分析实时监控特定端口的流量:
sudo tcpdump -i eth0 port 22可捕获所有通过SSH端口的连接请求,分析异常IP。
hosts.allow 和 hosts.deny查看SSH访问限制:
cat /etc/hosts.allow | grep sshd
cat /etc/hosts.deny | grep sshd若配置了IP白名单或黑名单,会在此文件中体现。
规则优先级:UFW和iptables的规则按顺序匹配,需确保拦截规则在允许规则之前生效。
日志轮转:系统日志可能被压缩或轮转,可使用 zgrep 查看历史日志,例如:
zgrep 'DROP' /var/log/syslog.1.gz实时监控:结合 watch 命令动态观察规则变化:
watch -n 1 "sudo ufw status numbered"通过以上方法,可以全面掌握Ubuntu系统中被限制的IP访问情况。若需进一步分析攻击来源,建议结合防火墙日志与流量抓包工具(如Wireshark)进行深度排查。