在fail2ban放行指定IP以及ufw使用说明

最佳<Coder
2026/5/10修改于 3天前

fail2ban是Linux下常用的防暴力破解工具。本文介绍如何在fail2ban中放行指定IP地址(白名单),以及ufw防火墙的基本使用方法,包括允许/拒绝端口、查看状态等操作。

fail2ban 相关操作

临时放行被 ban 的 IP

fail2ban-client set ssh unbanip 192.168.32.1

设置白名单

vim /etc/fail2ban/jail.local

在每一个服务(如 [ssh])下面添加:

ignoreip = 127.0.0.0/8,192.168.32.1/24

ufw 使用说明

ufw 是 uncomplicated firewall 的缩写,比 iptables 简单易用,是 Ubuntu 上的默认防火墙。如果使用 Debian,需要自行安装。

注意:很多主机提供商都提供了额外的防火墙服务,如果有提供,建议使用这种防火墙。使用 ufw 或 iptables 时要格外小心,注意别把自己锁在服务器外面。

安装与卸载

apt-get install ufw     # 安装
apt-get remove ufw      # 卸载

启用与关闭

ufw enable              # 启动
ufw disable             # 关闭
ufw reload              # 重新加载规则
ufw reset               # 重置规则
ufw status              # 查看状态
ufw status numbered     # 查看状态(带规则编号,删除可用)
systemctl enable ufw    # 开机启动
systemctl disable ufw   # 禁止开机启动

添加规则

ufw allow 22                                    # 开放端口(默认 TCP + UDP)
ufw allow 22/tcp                                # 指定协议
ufw allow ssh                                   # 通过服务名开放
ufw allow 3300:3310/tcp                         # 批量端口范围
ufw allow 3300,3333                             # 多个不连续端口
ufw allow from 192.168.1.1                      # 允许特定 IP
ufw allow from 192.168.1.0/24                   # 允许 IP 段
ufw allow from 192.168.1.1 to any port 22 proto tcp  # 允许特定 IP 访问特定端口

禁止访问

ufw deny 666                                    # 禁止端口访问
ufw deny from 11.22.33.44/24                    # 禁止 IP 段访问
ufw deny from 11.22.33.44 to any port 443 proto tcp  # 禁止特定 IP 访问端口

删除规则

可以通过 ufw status numbered 查看规则序号,按序号删除。也可以用安装命令前加 delete

ufw delete 3                    # 按序号删除
ufw delete allow ftp            # 按规则删除
ufw delete allow from 192.168.1.1

默认规则

默认情况下,ufw 允许所有出流量,禁止所有入流量:

ufw default allow outgoing
ufw default deny incoming

日志管理

ufw 日志一共有 5 个级别:

ufw logging off       # off / low / medium / high / full

可以对每条规则设置日志,在 allowdeny 后面加 log

ufw allow log from 192.168.1.1

规则后有 (log) 标记即表示已启用日志。

ufw 日志默认在 /var/log/ufw.log 文件中。如果发现没有这个文件,可能是没有安装 rsyslog:

apt-get install rsyslog

使用注意事项

  • 在开启 ufw 之前,务必检查规则是否包含 ssh 等必要端口,否则容易把自己锁在外面
  • 如果服务器同时使用 Docker,通过 Docker 映射的端口无法通过 ufw 管理(会绕过 ufw)

评论

已显示全部评论