通过Cloudflare官方文档进行安装始终不成功,我以为是没有适合ARM芯片的安装包,打算放弃了,寻找其他的替代方案,发现都不好用,不是限制太多,就是部署太过复杂。结果在逛海纳思论坛的时候发现了一篇关于Cloudflare内网穿透的帖子,于是又抱着试一试的心态来折腾一下,看看能不能成功。
选通过Github下载软件包
wget https://github.com/cloudflare/cloudflared/releases/download/2022.11.1/cloudflared-linux-arm -O /usr/bin/cloudflared
这是最新版本的,适合机顶盒的包,我的机顶盒安装的海纳思系统是32位的,所以选择的是cloudflared-linux-arm,要是是64位的系统就要选择cloudflared-linux-arm64,要是X86/AMD64位的平台就选择相对应的软件包。
原教程里面好像加了一个代理网站的网址在前面,估计是用来下载加速的,但是我输入之后无法下载,提示502错误。只好不用代理了,速度确实太慢了。下载还没到一半还断开连接了。晕!
没办法,还是要下载下来才行,只好又重新下载,终于重试了N次之后,下载完成了。下载时候的速度很不稳定,最慢的时候只有几百Bit,快的时候也只有100+KB。
下载完了就继续执行:
chmod -R 0777 /usr/bin/cloudflared cloudflared login
执行完这个命的时候会有个网址链接,并且终端会等待登陆。复制粘贴这个网址链接,用浏览器打开,登陆Cloudflare,并选择绑定的域名,终端会自动下载安装授权证书。
接下来要创建隧道
cloudflared tunnel create homenascm101s #隧道名称可自定义,homenascm101s就是我创建的隧道名称,记好,后面要用
创建配置文件
vi config.yml
填入配置文件的内容
tunnel: c4389464-2d47-431c-b520-6335fcfc30b2 credentials-file: /root/.cloudflared/c4389464-2d47-431c-b520-6335fcfc30b2.json ingress: - hostname: hinas.dlt698.com service: http://192.168.2.2 - service: http_status:404
tunnel和credentials-file这两项的最后一段都是前面创建的隧道ID,修改成当前创建的隧道ID,hostname这一项是二级域名,service这一项是是外网https穿透访问的页面地址,可加端口,如http://192.168.2.2:88 (请先保证此页面在内网中http可访问)
配置文件写好之后,把这个配置文档放置到/etc/cloudflared/下面
mkdir -p /etc/cloudflared/ cp config.yml /etc/cloudflared/ cloudflared tunnel route dns homenascm101s hinas.dlt698.com
上面命令中homenascm101s是指前面创建的隧道名称,hinas.dlt698.com是前面config.yml文件中配置的二级域名。
最后,运行自启动安装,启动服务,查看运行状态(可随时Ctrl+C中止)
cloudflared service install systemctl start cloudflared systemctl status cloudflared
弄完之后,进入Cloudflare网站,查看DNS记录。最后通过设置的二级域名访问内网。