上一篇教程 通过 CloudFlare+SaaS 回源优选 IP,让国内用户高速访问网站
教程最后我提到了:
通过这种方法,我们几乎可以实现国内访问全绿。
其实 Cloudflare + SaaS 还有很多玩法,比如自建 Cloudflare 节点等等。
这个坑其实早就想填了,拖了一年半,今天终于补上了!
自建 Cloudflare 节点的原理
其实原理非常简单,看下面这张图就一目了然:
简单来说,我们实际访问的是 image.dooo.ng,但通过 CNAME 解析到了 csgo.com。而 csgo.com 是 Cloudflare 的商业用户,拥有比免费用户更好的线路。所以访问请求会通过更快的线路到达 Cloudflare 的节点,数据再通过 SaaS 回源到我们的网站,访问自然就更加顺畅了。
基于这个原理,衍生了三种流派:
大厂派:域名解析到
csgo.com、SHOPIFY.COM等,这就是我上篇教程的玩法。偷跑派:由于reality协议的特性,有些节点偷了套过CF的网站,比如Speedtest等,这些节点的IP以及域名其实是可以通过SaaS回源当作优选服务器的 所以衍生出了一些优选CF反代网站,通过fofa来扫描这些节点然后进行偷跑流量,我本人非常不推荐这种做法,也不做教学。
自建派:今天的主角,使用自己线路更好的 VPS 反代 Cloudflare,实现自建 CDN 节点。
自建 Cloudflare 节点实操
我们只要用 VPS 转发流量到 Cloudflare,就完成了。
主流方法是使用 gost 工具进行转发。
第一步:安装 gost
使用以下命令安装 gost(基于 snap):
BASH
sudo snap install gost
第二步:使用 gost 转发端口
我们将本机的 80 和 443 端口转发到 Cloudflare 的 IP,比如 1.0.0.5:
BASH
snap run gost -L=tcp://:80/1.0.0.5:80
snap run gost -L=tcp://:443/1.0.0.5:443
当然,你也可以把 1.0.0.5 替换为你的 CNAME 回退源域名,这样更符合 Cloudflare 最新的服务条款(TOS)。
⚠️ 注意:你需要使用
screen、supervisor或systemctl把 gost 进程放到后台运行,否则 SSH 一断开,转发也会失效。
第三步:防火墙放行端口
以 iptables 为例放行端口,使用 ufw 的朋友可以自行查阅或问 ChatGPT:
BASH
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp --dport 443 -j ACCEPT
第四步:检查反代是否成功
打开浏览器访问你的 VPS IP 和端口号,如果看到下面的页面就说明成功啦!
80端口:
443端口:
最后一步:CNAME 解析
将你原本解析到 csgo.com 的域名,改为解析到你反代机的 IP 或域名即可。至此你就成功自建了一个 反代Cloudflare 的边缘节点啦!
优缺点分析
优点:
可以使用 Cloudflare 提供的 WAF、安全防护、缓存等强大功能。
国内线路质量由你决定,更加稳定可控。
国内自建节点更自由,国外使用 Cloudflare 节点则更加快速。
缺点
⚠️ 反代节点可能被别人偷跑流量。(偷跑派)
⚠️ 反代节点的 IP 无法隐藏。
虽然看似偷跑流量很严重,但其实我们也有解决方法。比如通过 SNIProxy 添加鉴权,允许白名单内的域名/IP 才能转发,其他的请求直接丢弃。
不过这部分内容我们放到下一篇文章中。如果本教程反响不错,我会尽快更新相关教程。当然,你也可以自行搜索实现,虽然资源不多但是研究一下也不难。
