news 2026/5/5 6:47:46

Fail2Ban 实战终极速查表

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Fail2Ban 实战终极速查表

一、核心基础操作(必记)

1. 服务管理

  • 启动服务:sudo systemctl start fail2ban
  • 停止服务:sudo systemctl stop fail2ban
  • 重启服务:sudo systemctl restart fail2ban
  • 查看状态(验证服务是否运行):sudo systemctl status fail2ban
  • 设置开机自启:sudo systemctl enable fail2ban

2. 状态查询

  • 查看所有监狱状态:sudo fail2ban-client status
  • 查看指定监狱(如 sshd)状态:sudo fail2ban-client status sshd

二、封禁与解封操作(高频使用)

1. 手动封禁 IP

  • 格式:sudo fail2ban-client set [监狱名] banip [目标IP]
  • 示例:sudo fail2ban-client set sshd banip 10.0.0.1(封禁 10.0.0.1 到 sshd 监狱)

2. 手动解封 IP

  • 格式:sudo fail2ban-client set [监狱名] unbanip [目标IP]
  • 示例:sudo fail2ban-client set sshd unbanip 10.0.0.1
  • 解封所有 IP:sudo fail2ban-client unban --all

三、核心配置(sshd 监狱示例)

1. 快速配置(直接生效)

bash

运行

sudo tee /etc/fail2ban/jail.d/sshd.conf <<-'EOF' [sshd] enabled = true # 启用监狱 port = ssh # 防护端口(ssh 对应 22) filter = sshd # 匹配 sshd 日志的规则 backend = systemd # 适配 Ubuntu 新版日志机制 maxretry = 3 # 3 次失败登录触发封禁 bantime = 3600 # 封禁时长(秒),1 小时=3600 秒 findtime = 600 # 统计窗口(秒),10 分钟内触发 ignoreip = 127.0.0.1 # 忽略本地 IP,避免误封 action = iptables-multiport # 封禁动作(iptables 拦截) EOF

2. 配置生效命令

  • 重新加载配置:sudo fail2ban-client reload sshd
  • 强制重启生效:sudo systemctl restart fail2ban

四、Web 界面管理(f2bwi)

1. 启动 / 停止 Web 服务

  • 启动(本地访问):cd /var/www/f2bwi && php -S 127.0.0.1:8080
  • 停止:按Ctrl+C终止进程
  • 访问地址:浏览器打开http://127.0.0.1:8080

2. Web 界面操作

  • 封禁新 IP:选择监狱(sshd)→ 输入 IP → 点击「Ban IP」
  • 刷新状态:点击界面「Refresh」按钮
  • 解封 IP:通过终端命令(f2bwi 无直接解封按钮)

3. 消除 PHP 警告(可选)

bash

运行

sudo sed -i '1i <?php error_reporting(E_ALL & ~E_NOTICE & ~E_WARNING); ?>' /var/www/f2bwi/index.php

五、避坑指南(关键提醒)

  1. Ubuntu 22.04+/20.04 必须配置backend = systemd,否则日志匹配失败;
  2. 手动写/var/log/auth.log无效,优先用ssh输错密码或banip命令测试;
  3. Web 界面仅用于管理,封禁规则最终依赖 Fail2Ban 服务,服务停止不影响已封禁 IP;
  4. 若看不到封禁记录,先查服务状态(systemctl status fail2ban),确保服务正常运行。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/5 3:42:08

Git rebase保持Qwen-Image-Edit-2509代码提交历史整洁

Git Rebase&#xff1a;打造清晰、可维护的Qwen-Image-Edit-2509开发流程 在AI模型快速迭代的今天&#xff0c;一个功能分支从创建到上线往往经历数十次提交——“修复拼写”、“临时调试”、“合并冲突”……这些琐碎记录若不加整理&#xff0c;最终会变成代码审查时的一团乱麻…

作者头像 李华
网站建设 2026/5/4 9:44:12

老师讲不清的局部变量作用域,这篇用代码帮你讲明白

摘要 在学习 C 语言时&#xff0c;很多人第一次接触“局部变量”“作用域”时会觉得概念抽象&#xff0c;甚至觉得“记住规则就行”。但在真实开发中&#xff0c;如果对变量的作用范围理解不清楚&#xff0c;轻则程序逻辑混乱&#xff0c;重则直接导致数据错误、难以排查的 Bug…

作者头像 李华
网站建设 2026/5/2 3:02:05

FLUX.1-dev镜像部署常见问题汇总:git下载失败怎么办?

FLUX.1-dev镜像部署常见问题汇总&#xff1a;git下载失败怎么办&#xff1f; 在多模态生成模型快速演进的今天&#xff0c;开发者对高质量文生图系统的部署效率提出了更高要求。以FLUX.1-dev为代表的前沿模型镜像&#xff0c;集成了Flow Transformer架构与大规模训练成果&#…

作者头像 李华
网站建设 2026/4/30 22:46:41

dify平台智能对话延迟高?换vLLM镜像立竿见影

dify平台智能对话延迟高&#xff1f;换vLLM镜像立竿见影 在构建企业级AI应用的今天&#xff0c;一个看似简单的“智能客服”功能背后&#xff0c;往往隐藏着复杂的性能挑战。尤其是当用户期待的是秒级响应、多轮连贯对话时&#xff0c;传统的模型推理架构很容易成为系统瓶颈——…

作者头像 李华
网站建设 2026/5/3 16:30:53

《把脉行业与技术趋势》-47- 通用人工智能的核心关键词:通用、自主、创新:“当机器不再只是执行指令的工具,而是开始提出问题、设定目标并创造新可能时——真正的智能才真正降临。”

在人工智能飞速演进的今天&#xff0c;我们常被各种术语包围&#xff1a;大模型、深度学习、生成式AI…… 但当我们拨开技术迷雾&#xff0c;追问“什么是通用人工智能&#xff08;AGI&#xff09;”的本质特征时&#xff0c;三个关键词脱颖而出&#xff1a;&#x1f511; 通用…

作者头像 李华
网站建设 2026/5/2 17:29:02

贪心 区间选点AC905

#include<bits/stdc.h> using namespace std;const int N1e510;struct Range{int l, r; }h[N];// 自定义比较函数 bool cmp(Range a, Range b){return a.r < b.r; // 按右端点从小到大 }int main(){int n;cin>>n;for(int i0;i<n;i){int l, r;cin>>l&g…

作者头像 李华