news 2026/7/18 7:25:44

nftables-blacklist自动化更新:使用Systemd Timer实现每日自动防护

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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-blacklist

nftables-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脚本文件的路径。确保这些目录存在,否则脚本可能无法正常运行。
  • 行为设置FORCE=yes表示如果nftables表或集合不存在,将自动创建它们,这对于初次使用非常方便。
  • 黑名单来源BLACKLISTS数组中包含了多个用于下载恶意IP地址的URL。这些URL涵盖了不同的威胁情报源,你可以根据实际情况添加或删除。
  • 白名单设置WHITELIST数组用于指定永远不应该被阻止的IP或CIDR范围。同时,AUTO_WHITELIST选项可以自动检测并白名单服务器自身的IP,建议设置为yes以防止自我阻塞。

创建Systemd服务文件

为了让Systemd能够管理nftables-blacklist的更新任务,需要创建一个服务文件。在/etc/systemd/system/目录下创建nftables-blacklist.service文件,内容如下:

[Unit] Description=nftables-blacklist update service Documentation=https://github.com/trick77/nftables-blacklist [Service] Type=oneshot 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 User=root Group=root

这个服务文件定义了一个oneshot类型的服务,它将在执行时运行update-blacklist.sh脚本,并传递--cron参数和配置文件路径。使用root用户和组可以确保脚本具有足够的权限来操作nftables。

创建Systemd Timer文件

接下来,创建一个Timer文件来调度服务的运行。在/etc/systemd/system/目录下创建nftables-blacklist.timer文件,内容如下:

[Unit] Description=Daily update of nftables-blacklist [Timer] OnCalendar=daily Persistent=true AccuracySec=1h [Install] WantedBy=timers.target

这个Timer文件设置了每日运行服务,Persistent=true确保即使服务器在预定时间处于关闭状态,当服务器启动后也会执行错过的任务。AccuracySec=1h表示任务的执行时间可以在预定时间的前后1小时内浮动,以避免系统在同一时间执行过多任务。

启用并启动Timer

完成服务和Timer文件的创建后,需要启用并启动Timer。执行以下命令:

sudo systemctl daemon-reload sudo systemctl enable --now nftables-blacklist.timer

daemon-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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/18 7:23:26

社交媒体热点事件传播分析:从数据采集到行为量化

这次我们来看一个有趣的社会现象观察项目——"帝国大厦情侣后续"事件分析。这个案例展示了社交媒体时代公众对热点事件的持续关注和集体互动行为,特别聚焦于"看热闹起哄"这一普遍社会心理。从事件传播路径来看,帝国大厦作为纽约地标…

作者头像 李华
网站建设 2026/7/18 7:22:22

UE5帧数优化全攻略:从性能剖析到实战调优

1. 项目概述:为什么UE5项目需要持续优化帧数?做UE5项目,尤其是开放世界、高精度场景或者移动端项目,最常听到的抱怨就是“卡”。这个“卡”,专业点说就是帧率(FPS)不稳定或者过低。对于玩家而言…

作者头像 李华
网站建设 2026/7/18 7:22:06

发布季技术更新评估:从问题修复到稳定升级的工程实践

1. 从标题看发布季的核心价值“等待结束了,发布季已经到来”,这句话背后其实是一个很实际的信号:经过相对平静的六月,技术工具、框架、平台或模型的更新节奏开始加速了。如果你经常跟进开源项目、云服务或开发工具链,这…

作者头像 李华
网站建设 2026/7/18 7:21:02

d3-legend与React/Vue集成教程:现代化前端框架中的图例应用指南

d3-legend与React/Vue集成教程:现代化前端框架中的图例应用指南 【免费下载链接】d3-legend A reusable d3 legend component. 项目地址: https://gitcode.com/gh_mirrors/d3/d3-legend 在数据可视化领域,d3-legend是一个功能强大的可复用图例组…

作者头像 李华
网站建设 2026/7/18 7:20:50

APOD-API高级应用:批量获取随机天文图片与日期范围查询技巧

APOD-API高级应用:批量获取随机天文图片与日期范围查询技巧 【免费下载链接】apod-api Astronomy Picture of the Day API service 项目地址: https://gitcode.com/gh_mirrors/apoda/apod-api APOD-API是NASA提供的天文图片API服务,可以让你轻松访…

作者头像 李华
网站建设 2026/7/18 7:19:32

XUnity自动翻译器:三步解决Unity游戏语言障碍难题

XUnity自动翻译器:三步解决Unity游戏语言障碍难题 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 你是否曾经因为语言障碍而错过精彩的Unity游戏?面对满屏的外文界面,即…

作者头像 李华