利用 Cloudflare Saas 实现自选IP
需要的东西:
- 2个域名
- 主要域名(主要的域名,也就是你要用的域名,比如你站点的域名)
- 次要域名(额外的域名,只用来充当跳板)
- 除了cf之外的dns解析服务网站
- 自选的IP(使用自动检测工具筛选)
CF之前的SaaS服务都是需要付费的,2$一个域名,但cf最近前不久更新了策略,每个帐号有免费的100个域名。
一、
- 事前准备
- 把次要域名(额外的域名,只用来充当跳板)添加进 cf。
(注意:主要的域名,也就是你要用的域名,不要添加在cf!)
然后添加次要域名的dns解析,将次要域名指向你的服务器IP,并开启代理(小黄云)
- 进入自定义主机名(实现优选IP的关键)
- 添加回退源
回退源的主机名要和刚才添加的DNS解析的主机名一致,我这里的主机名是 www
添加你的主要域名主域名,并完成txt验证。(步骤一般是在你主要域名的dns解析里,按照提示添加一条txt记录,然后完成验证),这里就不再说明,有过txt验证经验的话,一般都能轻易完成,不懂就谷歌
二、
进入你主要域名的dns服务商网站(不可以是cf)
添加A解析,到你自选的IP(怎么选测试适合自己的IP就不说了,到GitHub下载个脚本自己测就行了),这里的域名要和刚才在cf添加的主机域名一致。
解析生效后,就可以通过你自选的节点,通过cdn连接你的服务器了
筛选IP的方法:
GitHub上有相当数量的工具,下面给出其中一个。
一般用户都是Windows 64位,所以架构一般选择 CloudflareST_linux_amd64.tar.gz
GitHub发布页:
https://github.com/XIU2/CloudflareSpeedTest/releases
网盘下载 :
https://pan.lanpw.com/b0742hkxe
下面是来自项目介绍的使用方法
下载运行
- 下载编译好的可执行文件( Github Releases / 蓝奏云 )并解压。
- 双击运行
CloudflareST.exe
文件(Windows 系统),等待测速完成…
「 点击查看 Linux 系统下的使用示例 」
在手机上独立运行 CloudflareST 测速的简单教程:Android、Android APP、IOS
注意!本软件仅适用于网站,不支持给 Cloudflare WARP 优选 IP,具体见:#392
结果示例
测速完毕后,默认会显示最快的 10 个 IP,示例:
IP 地址 已发送 已接收 丢包率 平均延迟 下载速度 (MB/s)
104.27.200.69 4 4 0.00 146.23 28.64
172.67.60.78 4 4 0.00 139.82 15.02
104.25.140.153 4 4 0.00 146.49 14.90
104.27.192.65 4 4 0.00 140.28 14.07
172.67.62.214 4 4 0.00 139.29 12.71
104.27.207.5 4 4 0.00 145.92 11.95
172.67.54.193 4 4 0.00 146.71 11.55
104.22.66.8 4 4 0.00 147.42 11.11
104.27.197.63 4 4 0.00 131.29 10.26
172.67.58.91 4 4 0.00 140.19 9.14
...
# 如果平均延迟非常低(如 0.xx),则说明 CloudflareST 测速时走了代理,请先关闭代理软件后再测速。
# 如果在路由器上运行,请先关闭路由器内的代理(或将其排除),否则测速结果可能会不准确/无法使用。
# 因为每次测速都是在每个 IP 段中随机 IP,所以每次的测速结果都不可能相同,这是正常的!
# 注意!我发现电脑开机后第一次测速延迟会明显偏高(手动 TCPing 也一样),后续测速都正常
# 因此建议大家开机后第一次正式测速前,先随便测几个 IP(无需等待延迟测速完成,只要进度条动了就可以直接关了)
# 软件在 默认参数 下的整个流程大概步骤:
# 1. 延迟测速(默认 TCPing 模式,HTTPing 模式需要手动加上参数)
# 2. 延迟排序(延迟 从低到高 排序并按条件过滤,不同丢包率会分开排序,因此可能会有一些延迟低但丢包的 IP 排到后面)
# 3. 下载测速(从延迟最低的 IP 开始依次下载测速,默认测够 10 个就会停止)
# 4. 速度排序(速度从高到低排序)
# 5. 输出结果(通过参数控制是否输出到命令行(-p 0)或输出到文件(-o ""))
# 注意:输出的结果文件 result.csv 通过微软 Excel 表格打开会中文乱码,这是正常的,其他表格软件/记事本都显示正常
测速结果第一行就是既下载速度最快、又平均延迟最低的最快 IP!
完整结果保存在当前目录下的 result.csv
文件中,用记事本/表格软件打开,格式如下:
IP 地址, 已发送, 已接收, 丢包率, 平均延迟, 下载速度 (MB/s)
104.27.200.69,4,4,0.00,146.23,28.64
大家可以按自己需求,对完整结果进一步筛选处理,或者去看一看进阶使用指定过滤条件!
最后顺便解释一下原理,不然和我一开始一样,很多人看了也是一头雾水。
最关键的点在于,cloudflare支持泛解析,也就是说,只要你的域名开启了橙色云(代理),不管你是访问的cf哪个节点的IP(只要sni和你的域名一致),cf就可以通过CDN把连接送到你的服务器。
就是说,你在网上随便测出来找到的一个IP,只要sni符合就能通过cdn找到你的服务器。
SaaS的作用是,可以让你的域名不绑定到cf,也同样可以使用cf的cdn连接(通过一个次要域名做跳板)
「刚才在cf添加的主机域名」指的是,在CF的自定义主机名里填的域名,而这个域名要和你在其他服务商解析的域名一致,比如你解析 proxy.bbbb.com 到自选IP 123.123.123.123,那么在CF的自定义主机名里就要填 proxy.bbbb.com