Cloudflare-ufw终极指南:如何用脚本自动更新UFW防火墙规则保护服务器
【免费下载链接】cloudflare-ufw Script to update UFW with Cloudflare IPs 项目地址: https://gitcode.com/gh_mirrors/cl/cloudflare-ufw
Cloudflare-ufw是一款专为服务器管理员设计的实用脚本工具,能够自动将Cloudflare的IP地址列表更新到UFW防火墙规则中,为服务器提供更安全的网络访问控制。通过定期执行该脚本,你可以确保服务器只接受来自Cloudflare的合法流量,有效阻挡恶意攻击和未授权访问。
🛡️ 为什么需要Cloudflare-ufw?
在当今复杂的网络环境中,服务器安全面临着诸多挑战。Cloudflare作为全球领先的CDN和安全服务提供商,其IP地址库会定期更新以应对不断变化的网络威胁。手动更新UFW规则不仅耗时费力,还容易出错。Cloudflare-ufw脚本解决了这一痛点,实现了IP地址列表的自动同步,让你的服务器防护始终保持最新状态。
核心优势
- 自动化更新:无需手动检查和添加Cloudflare IP地址
- 提升安全性:只允许来自Cloudflare的流量访问服务器
- 简单易用:适合新手和普通用户的操作流程
- 灵活配置:可根据需求限制特定端口访问
🚀 准备工作:UFW防火墙基础设置
在使用Cloudflare-ufw脚本之前,需要确保你的服务器已经正确安装并配置了UFW防火墙。大多数Linux发行版都预装了UFW,你可以通过以下步骤进行基础设置。
检查UFW状态
首先确认UFW是否已安装并处于非活动状态: sudo ufw status verbose 如果输出结果显示"Status: inactive",则可以继续下一步;如果UFW已启用,请先执行以下命令将其禁用: sudo ufw disable
重置并配置默认规则
清除现有规则并设置默认策略: sudo ufw reset sudo ufw default deny incoming sudo ufw default allow outgoing
添加关键访问规则
为了避免在配置过程中被锁定在服务器之外,需要先添加两条重要规则:
启用UFW防火墙
完成上述配置后,启用UFW: sudo ufw enable 系统会提示"命令可能会中断现有的SSH连接",由于我们已经添加了SSH访问规则,因此可以放心输入"y"继续。
验证基础配置
执行以下命令检查当前UFW规则状态: sudo ufw status verbose
🔧 安装Cloudflare-ufw脚本
克隆项目仓库
首先将项目代码克隆到你的服务器: git clone https://gitcode.com/gh_mirrors/cl/cloudflare-ufw
运行脚本
进入项目目录并执行脚本: cd cloudflare-ufw sudo ./cloudflare-ufw.sh
脚本会自动从Cloudflare官方网站下载最新的IPv4和IPv6地址列表,并将这些IP地址添加到UFW规则中,每条规则都会标记"Cloudflare IP"以便识别。
验证规则添加结果
再次运行状态命令检查是否成功添加了Cloudflare IP规则: sudo ufw status verbose
⚙️ 自定义规则配置
Cloudflare-ufw脚本提供了多种规则配置选项,你可以根据实际需求修改cloudflare-ufw.sh文件来自定义访问控制策略。
默认规则
脚本默认允许来自Cloudflare IP的所有TCP流量: for cfip in `curl -sw '\\n' https://www.cloudflare.com/ips-v{4,6}`; do ufw allow proto tcp from $cfip comment 'Cloudflare IP'; done
限制特定端口
如果你只想允许特定端口的流量,可以注释默认规则并取消相应示例规则的注释:
仅允许80端口
#for cfip in `curl -sw '\\n' https://www.cloudflare.com/ips-v{4,6}`; do ufw allow proto tcp from $cfip to any port 80 comment 'Cloudflare IP'; done
仅允许443端口
#for cfip in `curl -sw '\\n' https://www.cloudflare.com/ips-v{4,6}`; do ufw allow proto tcp from $cfip to any port 443 comment 'Cloudflare IP'; done
允许80和443端口
#for cfip in `curl -sw '\\n' https://www.cloudflare.com/ips-v{4,6}`; do ufw allow proto tcp from $cfip to any port 80,443 comment 'Cloudflare IP'; done
📅 设置定期自动更新
由于Cloudflare的IP地址列表会定期更新,建议设置脚本每周自动执行,以确保UFW规则始终保持最新状态。
使用Cron调度任务
编辑crontab配置: sudo crontab -e
添加以下行以在每周一午夜执行脚本: 0 0 * * 1 /your/path/cloudflare-ufw/cloudflare-ufw.sh > /dev/null 2>&1 请将"/your/path"替换为实际的脚本路径。
使用Node-RED(可选)
如果你使用Node-RED,可以添加一个"exec"节点,输入以下命令,并设置每周触发一次: sudo /your/path/cloudflare-ufw/./cloudflare-ufw.sh
📝 UFW常用管理命令
掌握以下UFW命令可以帮助你更好地管理防火墙规则:
查看规则状态
sudo ufw status verbose
查看编号规则列表
sudo ufw status numbered
删除特定规则
首先通过编号列表找到要删除的规则编号,然后执行: sudo ufw delete 规则编号 例如删除编号为34的规则: sudo ufw delete 34
禁用UFW
sudo ufw disable
重置所有规则
sudo ufw reset
🎯 总结
Cloudflare-ufw脚本为服务器管理员提供了一种简单高效的方式来维护与Cloudflare IP地址同步的防火墙规则。通过本文介绍的步骤,你可以轻松完成从基础配置到高级定制的全过程,为服务器添加一层强大的安全防护。
无论是个人博客还是企业服务器,定期更新Cloudflare IP地址列表都是确保网络安全的重要措施。现在就开始使用Cloudflare-ufw,让你的服务器防护更加智能、高效!
该项目的概念最初由Leow Kah Man开发,现在通过社区贡献得以持续优化和维护。
【免费下载链接】cloudflare-ufw Script to update UFW with Cloudflare IPs 项目地址: https://gitcode.com/gh_mirrors/cl/cloudflare-ufw
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考


