nftables-blacklist自动化更新:使用Systemd Timer实现每日自动防护
nftables-blacklist自动化更新使用Systemd Timer实现每日自动防护【免费下载链接】nftables-blacklistA bash script to ban large numbers of IP addresses published in blacklists.项目地址: https://gitcode.com/gh_mirrors/ip/nftables-blacklistnftables-blacklist是一款强大的bash脚本工具能够帮助系统管理员通过nftables集合阻止大量来自黑名单的恶意IP地址为服务器提供可靠的安全防护。本文将详细介绍如何利用Systemd Timer实现nftables-blacklist的每日自动更新让服务器防护更加智能化和自动化。准备工作安装与配置nftables-blacklist克隆项目仓库首先需要将项目仓库克隆到本地服务器。打开终端执行以下命令git clone https://gitcode.com/gh_mirrors/ip/nftables-blacklist配置文件详解项目的核心配置文件是nftables-blacklist.conf它包含了各种重要的设置选项。你可以根据自己的需求进行修改以下是一些关键配置项的说明文件路径设置IP_BLACKLIST指定了IP黑名单文件的路径NFT_BLACKLIST_SCRIPT则是nftables脚本文件的路径。确保这些目录存在否则脚本可能无法正常运行。行为设置FORCEyes表示如果nftables表或集合不存在将自动创建它们这对于初次使用非常方便。黑名单来源BLACKLISTS数组中包含了多个用于下载恶意IP地址的URL。这些URL涵盖了不同的威胁情报源你可以根据实际情况添加或删除。白名单设置WHITELIST数组用于指定永远不应该被阻止的IP或CIDR范围。同时AUTO_WHITELIST选项可以自动检测并白名单服务器自身的IP建议设置为yes以防止自我阻塞。创建Systemd服务文件为了让Systemd能够管理nftables-blacklist的更新任务需要创建一个服务文件。在/etc/systemd/system/目录下创建nftables-blacklist.service文件内容如下[Unit] Descriptionnftables-blacklist update service Documentationhttps://github.com/trick77/nftables-blacklist [Service] Typeoneshot ExecStart/data/web/disk1/git_repo/gh_mirrors/ip/nftables-blacklist/update-blacklist.sh --cron /data/web/disk1/git_repo/gh_mirrors/ip/nftables-blacklist/nftables-blacklist.conf Userroot Grouproot这个服务文件定义了一个oneshot类型的服务它将在执行时运行update-blacklist.sh脚本并传递--cron参数和配置文件路径。使用root用户和组可以确保脚本具有足够的权限来操作nftables。创建Systemd Timer文件接下来创建一个Timer文件来调度服务的运行。在/etc/systemd/system/目录下创建nftables-blacklist.timer文件内容如下[Unit] DescriptionDaily update of nftables-blacklist [Timer] OnCalendardaily Persistenttrue AccuracySec1h [Install] WantedBytimers.target这个Timer文件设置了每日运行服务Persistenttrue确保即使服务器在预定时间处于关闭状态当服务器启动后也会执行错过的任务。AccuracySec1h表示任务的执行时间可以在预定时间的前后1小时内浮动以避免系统在同一时间执行过多任务。启用并启动Timer完成服务和Timer文件的创建后需要启用并启动Timer。执行以下命令sudo systemctl daemon-reload sudo systemctl enable --now nftables-blacklist.timerdaemon-reload命令用于重新加载Systemd的配置enable --now命令则启用Timer并立即启动它。验证Timer状态为了确保Timer已经正确配置并正在运行可以执行以下命令来检查其状态sudo systemctl list-timers --all nftables-blacklist.timer该命令将显示Timer的下次运行时间、上次运行时间等信息确认Timer处于活动状态。测试自动更新功能为了验证自动更新功能是否正常工作可以手动触发服务运行sudo systemctl start nftables-blacklist.service然后查看日志文件确认脚本是否成功执行journalctl -u nftables-blacklist.service日志中应该会显示下载黑名单、处理IP地址、应用nftables规则等过程的信息以及最终的更新结果统计如IPv4和IPv6地址的数量等。常见问题解决权限问题如果在执行过程中遇到权限问题确保服务文件中指定的用户和组具有足够的权限来访问相关文件和执行nftables命令。通常使用root用户可以避免大部分权限问题。网络问题如果下载黑名单时出现网络错误检查服务器的网络连接是否正常以及黑名单URL是否可访问。可以尝试手动使用curl命令测试URL的连通性。配置文件错误如果脚本执行失败可能是配置文件中存在错误。仔细检查nftables-blacklist.conf中的各项设置确保语法正确路径有效。通过以上步骤你已经成功配置了nftables-blacklist的每日自动更新。这将大大提高服务器的安全性减少手动维护的工作量让恶意IP地址的防护更加高效和可靠。定期检查日志和更新配置以确保防护效果始终处于最佳状态。【免费下载链接】nftables-blacklistA bash script to ban large numbers of IP addresses published in blacklists.项目地址: https://gitcode.com/gh_mirrors/ip/nftables-blacklist创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考