2026-02-05 12:57:24
在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,可通过以下命令实时监控: bash 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。
bash sudo tail -f /var/log/syslog 可捕获包括防火墙拦截、服务异常等事件。fail2banbash sudo fail2ban-client status sshd 输出会显示因多次失败登录被封禁的IP及封禁时间。tcpdump 抓包分析bash sudo tcpdump -i eth0 port 22 可捕获所有通过SSH端口的连接请求,分析异常IP。hosts.allow 和 hosts.denybash 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)进行深度排查。