当前位置: 首页 > 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.hskmm.com/?act=detail&tid=17023

相关文章:

  • 类的继承与继承的覆盖
  • linux shell awk 中括号 方括号 分割 []
  • springboot配置文件关系及加载顺序
  • 绩效面谈中的优质提问(一)
  • 简单博弈
  • 从 “纸笔清单” 到全栈引擎:数据填报与类 Excel 控件如何重塑企业效率曲线 - 详解
  • 触摸IC原厂 VKD223EB是一款低电流1通道触控1按键触摸芯片 HBM静电大于5KV
  • 09_五大IO模型
  • wsl Ubuntu 使用cmake
  • 做题笔记总板
  • day 4
  • AI元人文思想体系:从哲学基础到价值原语博弈的微观机制
  • 做题笔记16
  • 条件判断语句
  • EXCEL 行列转换
  • 做题笔记6
  • 第17章 Day20-Day21 逆向爬虫之瑞数6
  • 基于多假设跟踪(MHT)算法的MATLAB实现
  • ROS2之消息接口
  • Linux grep cut tomcat logs
  • Vona ORM分表全攻略
  • 如何在预算与风险之间做选择 iOS 混淆(源码混淆 vs IPA 混淆)的成本-收益分析与实战决策框架
  • 【兰州大学主办|EI稳定检索】第二届信息光学与光电技术国际学术会议(CIOT 2025)
  • 深入解析:设计模式-状态模式详解
  • 【IEEE出版】第五届网络通信与信息安全国际学术会议(ICNCIS 2025)
  • 第16章 Day19 Charles安装和使用---微信小程序逆向
  • DBLINK的创建和使用(总结)
  • Could not resolve host: mirrorlist.centos.org
  • axi 4k边界检测
  • GOSIM 开源出海工作坊:给开源创业者的忠告