当前位置: 首页 > news >正文

源码安装fail2ban

源码安装fail2ban

碎碎念:
这几天早上都比较凉爽,甚至有一丝凉意,到了中午下午太阳出来,还有些许燥热。下班后,抬头只见蓝天白云,天上的云朵像棉花糖一样铺了几朵,余晖落在身上,有种温暖舒适的感觉,这一刻尽情享受生命的美好。

下载

https://github.com/fail2ban/fail2ban/releases

安装

源码安装可以用于centos,欧拉系统等

这里以欧拉系统为例

先安装python环境:

dnf install python3

解压:

tar -zxf fail2ban-1.1.0.tar.gz

安装:

python3 setup.py install

然后就是复制jail.conf为jail.local去jail.local进行相关配置,具体使用方法可以参考:https://www.cnblogs.com/sillage/p/13966485.html ,此处不再详讲

tips:可以使用fail2ban-server -t检查你的jail.local语法是否正确

添加fail2ban服务

复制源码安装包中build目录下的fail2ban.service到/usr/lib/systemd/system

cp fail2ban-1.1.0/build/fail2ban.service  /usr/lib/systemd/system/fail2ban.service

修改fail2ban.service中python环境为本机的具体路径:

[Service]
Type=simple
#Environment="PYTHONNOUSERSITE=1" 这里是原本的,要改为具体的python环境的路径,参考下面
Enviroment="PYTHONPATH=/usr/local/lib/python3.11/site-packages/"

完整的fail2ban.service如下:

[Unit]
Description=Fail2Ban Service
Documentation=man:fail2ban(1)
After=network.target iptables.service firewalld.service ip6tables.service ipset.service nftables.service
PartOf=iptables.service firewalld.service ip6tables.service ipset.service nftables.service[Service]
Type=simple
#Environment="PYTHONNOUSERSITE=1"
Enviroment="PYTHONPATH=/usr/local/lib/python3.11/site-packages/"
ExecStartPre=/bin/mkdir -p /run/fail2ban
ExecStart=/usr/local/bin/fail2ban-server -xf start
# if should be logged in systemd journal, use following line or set logtarget to sysout in fail2ban.local
# ExecStart=/usr/local/bin/fail2ban-server -xf --logtarget=sysout start
ExecStop=/usr/local/bin/fail2ban-client stop
ExecReload=/usr/local/bin/fail2ban-client reload
PIDFile=/run/fail2ban/fail2ban.pid
Restart=on-failure
RestartPreventExitStatus=0 255[Install]
WantedBy=multi-user.target

直接一键三连:

systemctl daemon-reload
systemctl enable --now fail2ban
systemctl start fail2ban

可以看到fail2ban服务已经正常启动了

可能遇到的报错

启动fail2ban服务的时候报错:

× fail2ban.service - Fail2Ban ServiceLoaded: loaded (/usr/lib/systemd/system/fail2ban.service; enabled; preset: disabled)Active: failed (Result: exit-code) since Thu 2025-09-25 15:04:59 CST; 3s agoDuration: 29msDocs: man:fail2ban(1)Process: 2499477 ExecStartPre=/bin/mkdir -p /run/fail2ban (code=exited, status=0/SUCCESS)Process: 2499480 ExecStart=/usr/local/bin/fail2ban-server -xf start (code=exited, status=1/FAILURE)Main PID: 2499480 (code=exited, status=1/FAILURE)Sep 25 15:04:59 test systemd[1]: fail2ban.service: Scheduled restart job, restart counter is at 5.
Sep 25 15:04:59 test systemd[1]: fail2ban.service: Start request repeated too quickly.
Sep 25 15:04:59 test systemd[1]: fail2ban.service: Failed with result 'exit-code'.
Sep 25 15:04:59 test systemd[1]: Failed to start Fail2Ban Service.

这是因为在fail2ban.service中,没有把python环境的路径写上去

参考:https://github.com/fail2ban/fail2ban/issues/3843

http://www.zskr.cn/news/11635.html

相关文章:

  • 高效 PDF 处理利器:PDF-XChange Editor v10.7.3.401 特性解析与优化版分享
  • 类的继承与继承的覆盖
  • 触摸IC原厂 VKD223EB是一款低电流1通道触控1按键触摸芯片 HBM静电大于5KV
  • AI元人文思想体系:从哲学基础到价值原语博弈的微观机制
  • 条件判断语句
  • EXCEL 行列转换
  • 基于多假设跟踪(MHT)算法的MATLAB实现
  • Linux grep cut tomcat logs
  • 软件工程课程第一次团队作业
  • 如何在预算与风险之间做选择 iOS 混淆(源码混淆 vs IPA 混淆)的成本-收益分析与实战决策框架
  • 【兰州大学主办|EI稳定检索】第二届信息光学与光电技术国际学术会议(CIOT 2025)
  • 轻量级架构决策记录工具 - ADR Tools
  • Django系列(七)HttpRequest(请求)和HttpResponse(响应)对象
  • 值得收藏!GraphRAG:助力大模型突破“健忘”困局,构建逻辑化升级
  • 工业主板:智能制造与严苛环境的坚实基石
  • 虚拟机下的麒麟V10SP1与SP2进行iSCSI连接——基于MobaXterm
  • AT_arc173_e [ARC173E] Rearrange and Adjacent XOR
  • 使用springboot开发一个宿舍管理系统练习项目 - 实践
  • CF1542
  • PolarFire SOC Auto Update 和 IAP 文档阅读(四) IAP
  • CICD流程建设之持续测试实践指南
  • SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
  • HTTP协议工作原理与生产环境服务器搭建实战 - 详解
  • 专业讲解大模型登记(纯干货)
  • Spring / Spring Boot 常用注解 - 教程
  • 转载 - Heterogeneous Memory Management (HMM) - (待翻译)
  • Linux dmesg 内核日志查看工具详解
  • 基于萤火虫算法(FA)优化支持向量机(SVM)参数的分类实现
  • Active Directory安全指南:默认域管理员账户的安全管理
  • new 为数组开辟内容空间的时候,数组大小这个额外的信息是如何存储的? int * p = new int[5]; 指针p 指向的的int 数据地址还是数组大小的地址?