Cloudflare CDN优选使用指南,加速你的Cloudflare CDN访问体验——Linux篇
众所周知,Cloudflare是全球最大的CDN服务提供商之一,被视为互联网基础设施的关键组成部分。其全球性云平台覆盖互联网边缘,旨在通过安全防护、性能优化和可靠性提升,帮助企业保护网络资产并加速内容分发。Cloudflare承担了全球近20%的网络流量。但是其在国内访问的速度有时却并不是很理想。主要原因为Cloudflare使用Anycast且没有在国内部署节点,且默认分配的节点对于大陆的网络并不友好。绕道美国、跑不出速度是常有的事。但是Cloudflare并不限制用户访问的节点IP。这时候,我们就可以优选工具来帮助我们改善访问使用Cloudflare CDN的网站的体验。
这里我们使用一个由Github大佬XIU2开发的项目——CloudflareSpeedTest。

这个项目使用Go语言编写,目前(2025年10月6日)已经在Github上获得了超过23k Stars。该项目支持多平台。我们进入Release页面,选择适合的架构进行下载。

选择合适的架构进行下载,我这里选择linux_amd64架构进行下载**。**
接下来的操作将会使用Debian12.11(内核版本6.1.0-37-amd64**)进行演示。**
我们先切换至root环境,方便执行操作。
1 | sudo -i |
然后进入/usr/share目录下,创建目录CloudflareSpeedTest并进入该目录。
1 | cd /usr/share |
将CloudflareSpeedTest的发行版下载并解压到目录中。
1 | wget https://github.com/XIU2/CloudflareSpeedTest/releases/download/v2.3.4/cfst_linux_amd64.tar.gz |
如果你要加速的网站已经写在了hosts里,那么你只需要直接运行文件夹中的cfst_hosts.sh就可以了。
但是使用Cloudflare CDN的网站千千万,我们总不能把所有的与Cloudflare CDN有关的域名都添加到hosts里面。
这时候就要使用Linux上特有的神器——iptables。
众所周知, iptables可以对本机流量进行ip重定向,我们只需要将需要重定向的IP段告诉iptables就可以了。
接下来,我将写一个bash脚本来实现全自动更新IP。
本脚本灵感来自于https://github.com/XIU2/CloudflareSpeedTest/discussions/71#discussioncomment-10495648
⚠注意:在运行脚本前,请确保你的机器上已安装iptables和ipset。
1 | apt update && apt install -y ipset iptables |
在CloudflareSpeedTest目录下创建CloudflareSpeedTest.sh文件
1 | nano CloudflareSpeedTest.sh |
以下是脚本的主要内容,将其复制进入CloudflareSpeedTest.sh中
1 |
|
粘贴完成后按下Ctrl+X→Y→Enter退出。
为脚本赋予可执行权限。
1 | chmod +x CloudflareSpeedTest.sh |
添加 MASQUERADE(确保转发流量使用本机 IP 作为源地址),记得将命令中的enp1s0替换为实际网卡名称。
1 | iptables -t nat -I POSTROUTING -o enp1s0 -j MASQUERADE |
运行脚本进行测试。
1 | bash ./CloudflareSpeedTest.sh |
运行结束后进行检验。
1 | iptables -t nat -L -n |
若成功应输出类似结果。
1 | Chain OUTPUT (policy ACCEPT) |
接下来为了使脚本定时运行,我们先创建一个systemd服务。
1 | nano /etc/systemd/system/cloudflare.service |
在其中粘贴以下内容。
1 | [Unit] |
粘贴完成后按下Ctrl+X→Y→Enter退出。
如果要使脚本开机时运行,输入如下命令。
1 | systemctl enable cloudflare |
如果要重新运行脚本。
1 | systemctl restart cloudflare |
如果需要定时运行该脚本,我们需要创建一个定时任务。
1 | crontab -e |
首次运行可能需要选择编辑器,按照喜好任选1、2、3即可。
进入后在文件最末尾写入定时任务命令。
比如我需要服务器时间每天19:30运行该脚本。
1 | 30 19 * * * /usr/bin/systemctl restart cloudflare |
写入后保存退出即可。
以上就是教程的全部内容了,有疑问可以在评论区评论,感谢您的阅读。