企业内网利用cloudflare优选IP做网络加速

最近有个做跨境电商的好朋友,她和我说他们为了给自己的独立站引流,需要在YouTube上面做一下视频。但是机场非常不稳定,时不时就跑路了。问我有没有好的方案可以给到她。刚我我最近在折腾企业内网服务器,为了给员工提供一个科学上网的环境,也有类似的需求。今天这期教程利用前几天macpro垃圾桶装的All In One企业服务器来完成cloudflare优选IP,达到网站及油管加速的目的。

本机教程不涉及科学上网服务器搭建,主要探讨网络链路优化相关,请自行学习了解。

本期主要操作有三部分,我们开始

第一部分:cloudflare优选相关

一、内网服务器,软路由,飞牛OS,群晖配置定时优选脚本,找出cloudflare访问最快的服务器

1.下载我这边做了一些额外配置的优选工具,我提供版本只适合linux环境使用,点击下载地址

https://images.39.la/2024/11/cloudflare-1.zip

2.解压后打开文件夹,编辑speed.sh,红色文字部分需要依据CLoudflare的账户信息,及域名信息配置

#!/bin/bash
export LANG=zh_CN.UTF-8
auth_email=""    #你的CloudFlare注册账户邮箱
auth_key=""   #你的CloudFlare账户key,位置在域名概述页面点击右下角获取api key。
zone_name="39.la"     #你的主域名
record_name="cl"    #自动更新的二级域名前缀,例如cloudflare的cdn用cl,gcore的cdn用gcore,后面是数字,程序会自动添加。二级域名需要已经在域名管理网站配置完成。
record_count=5 #二级域名个数,例如配置5个,则域名分别是cl1、cl2、cl3、cl4、cl5.   后面的信息均不需要修改。

echo
echo '你的IP地址是'$(curl 4.ipw.cn)',请确认为本机未经过代理的地址'
echo '起点爱分享:https://www.39.la'
./CloudflareST -url https://speed.cloudflare.com/__down?bytes=500000000  #默认会访问cloudflare的测试下载文件,如果去掉-url后面的默认不测速,只取ping值

record_type="A"     
#获取zone_id、record_id
zone_identifier=$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones?name=$zone_name" -H "X-Auth-Email: $auth_email" -H "X-Auth-Key: $auth_key" -H "Content-Type: application/json" | grep -Po '(?<="id":")[^"]*' | head -1 )
#echo $zone_identifier

sed -n '2,20p' result.csv | while read line
do
    #echo $record_name$record_count'.'$zone_name
    record_identifier=$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones/$zone_identifier/dns_records?name=$record_name$record_count"'.'"$zone_name" -H "X-Auth-Email: $auth_email" -H "X-Auth-Key: $auth_key" -H "Content-Type: application/json" | grep -Po '(?<="id":")[^"]*' | head -1 )
    #echo $record_identifier
    #更新DNS记录
    update=$(curl -s -X PUT "https://api.cloudflare.com/client/v4/zones/$zone_identifier/dns_records/$record_identifier" -H "X-Auth-Email: $auth_email" -H "X-Auth-Key: $auth_key" -H "Content-Type: application/json" --data "{\"type\":\"$record_type\",\"name\":\"$record_name$record_count.$zone_name\",\"content\":\"${line%%,*}\",\"ttl\":60,\"proxied\":false}")
    #反馈更新情况
    if [[ "$update" != "${update%success*}" ]] && [[ "$(echo $update | grep "\"success\":true")" != "" ]]; then
      echo $record_name$record_count'.'$zone_name'更新为:'${line%%,*}'....成功'
    else
      echo $record_name$record_count'.'$zone_name'更新失败:'$update
    fi

    record_count=$(($record_count-1))    #二级域名序号递减
    echo $record_count
    if [ $record_count -eq 0 ]; then
        break
    fi

done

3.修改完后给执行权限

chmod +x speed.sh

二:cloudflare域名解析

登陆cloudflare账户,进入zone_name=”39.la”这个域名dns,如果你的record_name=”cl”record_count=5那就先在39.la的dns记录里,增加cl1.39.la,cl2.39.la,cl3.39.la,cl4.39.la,cl5.39.la的A记录解析,敲黑板,这里不开启小云朵加速。

三、测试执行代码

飞牛os,ssh切到cloudflare加速目录,运行

./speed.sh

测试运行成功的记录如下:

IP 地址           已发送  已接收  丢包率  平均延迟  下载速度 (MB/s)
172.67.74.125     4       4       0.00    189.83    20.78          
162.159.152.212   4       4       0.00    186.00    20.26          
104.20.28.231     4       4       0.00    190.15    19.57          
104.26.5.75       4       4       0.00    188.90    19.02          
104.20.68.105     4       4       0.00    188.83    16.08          
104.20.76.40      4       4       0.00    189.66    15.84          
162.159.137.131   4       4       0.00    190.54    6.47           
172.67.78.94      4       4       0.00    188.91    4.74           
104.20.26.2       4       4       0.00    189.29    2.52           
172.64.232.167    4       4       0.00    186.71    0.24           

完整测速结果已写入 result.csv 文件,可使用记事本/表格软件查看。
cf5.39.la更新为:172.67.74.125....成功
4
cf4.39.la更新为:162.159.152.212....成功
3
cf3.39.la更新为:104.20.28.231....成功
2
cf2.39.la更新为:104.26.5.75....成功
1
cf1.39.la更新为:104.20.68.105....成功

过两分钟可以ping cf1.39.la,看看ip是否已经更新成了刚优选的IP地址。

四、计划任务定时执行代码,及时优选IP,保证服务可达

定时跑脚本做IP优选,众所周知原因,cloudflare的IP经常失效,所以我们要定期做IP优选,并自动更新域名ip地址,所以我们需要在飞牛os里开启计划任务。因为飞牛os目前未提供计划任务面板,我们需要通过crontab的方式做

具体实现方式如下实现方式:

ssh登陆飞牛
输入crontab -e命令来编辑当前用户的crontab文件。
在打开的编辑器中,添加以下行:

0 9-23 * * * /path/to/your/speed.sh  #每天9-23点,每隔一个小时执行一次脚本

至此IP优选阶段的任务已经完成。

第二部分,落地节点的配置

具体节点的安装不在我的讲解范围,不会的自行查找。我用的xui面板做落地节点。采取的是vmess+ws+本机做反向代理+cloudflareCDN 的形式提供服务。说起来复杂,做起来简单,可以看视频演示。

演示落地节点我用的是cloudcone的一个吃灰小VPS,安装好xui面板,然后依据我给的配置截图增加一个vmess协议环境,

1.xui面板添加

端口任意,选择ws传输协议,然后点击添加即可。

2、宝塔面板做反向代理

未来给cloudflare做加速,所以我们需要在本机用nginx ws反代vmess,然后再提供给cloudflare做加速

添加网站,主机名选择一个需要cloudflare加速的域名,要与刚才优选的域名做区别,这里我选择cm。

目标这里http://127.0.0.1:42837的端口号就是刚才xui面板vmess的端口号

至此宝塔面板的工作就结束了,后面再cloudflare增加一个cm域名的解析,ip指向宝塔面板,这里要开启小云朵了

第三部分,手机端或者电脑的配置,并测速

By qidian

One thought on “跨境电商公司,利用cloudflare优选IP做国外小节点加速,利用飞牛OS每天定时优选IP,youtube 8K高峰期不卡顿”

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注