OpenWRT安装内网穿透 Cloudflare Tunnel 教程

openwrt

该内网穿透项目优点:和国内花生壳这种一年只有几M就要4位数的比起来CF不亏是业界钱多多

它不需要你购买VPS;有免费项且个人足够使用;带宽很高;可以跨电信,联通,移动各家ISP运营商;不必在客户端上安装软件(智能家电,机顶盒等都不需要安装客户端,有局域网IP就直接可以穿透);无需北岸(CF是海外的么);支持HTTP3/QUIC(UDP协议);不限服务数量。

该内网穿透项目缺点:夜间高峰期时期延迟不稳,抖动也高(和我们日常开CF盾一样的速度,延迟大概150左右);国内暂不支持HTTP3/QUIC;暂不支持UDP(支持也没用,国内三大运营商都是QOS UDP的);当然还有就是需要将一个域名托管在Cloudflare。

我在hostloc发布过了用API申请注册Scaleway教程中这两台欧洲的IPV6 VPS,廉价好用且流量无限,这可以很好的与Cloudflare Tunnel 隧道结合,两者都是流量无限,而且可以跑满带宽。这就可以给我们在公网环境下,大流量传输服务到家中的NAS或者其它服务带来了可能,是相对折中低价的解决方案。

 

000:前提:你要有一个域名,并且已经将DNS解析地址改到了CloudFlare

 

001:这是官方CloudFlared 二进制可执行文件放在Github上的网址:https://github.com/cloudflare/cloudflared(但没有openwrt,直接安装的ipk包,不过这里安装的好处是,安全,毕竟是官方的么,更新也是直接同步官方,不用等第三方编译出来,毕竟这么隐私的应用还是用官方的安全,对吧。)

 

002:首先用你自己的账号登入CloudFlare.com官网,登入后,在首页左侧菜单找到Zero Trust 点击进入后

如果是第一次打开,可能会让你选择付费项目,选免费就够了,然后会让你绑定信用卡或者Paypal

放心是0元,我用的是Paypal

 

003:上一步操作好后,会跳转到下一个菜单Zero Trust overview ,在这里找到Access 菜单边上的下拉箭头,找到Tunnels ,进入后选择Create a tunnel 创建一个隧道,Tunnel name(Required) 这里

任意填写一个好记的隧道名,例如:小明的办公室,xiaomingoffice,我的家,myhome,然后

点击Save tunnel

 

004:接着就跳转到下一个菜单,官方给出了Windows,Linux两大家族系,Mac,和Docker的32位和64位部署安装包,这里我是安装在openwrt上的,所以都不用,但是下面自动生成的握手令牌码,我们要复制一下,让在记事本上,一会要用到,就是类似下面的这串:

cloudflared.exe service install eyJhIjoiMjg1ZDYxZWU2Mjg3MDDFIUYDSFHDSKJFHSDJKHFKSDFJJSDFLKJDSKLFJDSL;KJFLKDSJFA;SLDJFIjoiYjViNmVkNGEtMzdmOC00ODI1LTk0YzgtF;IDSLUFL;J;lfiL;TJGLFKJD;KLFU;ADSILJ;JZaTAwTkdRM0xXRTJOalF0TUdVMVl6VmhNVFF6WYDDjkyJ9

(忽略cloudflared.exe service install  这个安装命令,只需要复制下面的令牌从ey到J9结束。)

 

005:任意SSH工具,连接你的openwrt,输入下面下载命令,回车。

VERSION="2023.3.1"

curl -O -L \
[https://github.com/cloudflare/cloudflared/releases/download/${VERSION}/cloudflared-linux-amd64](https://github.com/cloudflare/cloudflared/releases/download/$%7BVERSION%7D/cloudflared-linux-amd64) \
&& chmod +x cloudflared-linux-amd64 \
&& mv cloudflared-linux-amd64 /usr/bin/cloudflared

(注意VERSION=””里面的数字,即是教程001:官方打开后,右侧Latest最新版本的版本号,复制过来就行了,以后有新版本就只要改这里就行,架构的话我是X86的openwrt,所以直接用这条命令,如果你是ARM或者其它架构的,把${VERSION}/ 后面的改掉即可,例如ARM64就是cloudflared-linux-arm64 )

 

006:依次输入下面2条命令,回车。

# 在openwrt重启引导目录里创建一个名为cloudflared的文件
touch /etc/init.d/cloudflared
# 给刚才创建的这个文件赋予一个可执行权限,类似Windows鼠标右键以管理员身份运行
chmod +x /etc/init.d/cloudflared

 

007:输入

nano /etc/init.d/cloudflared

将下列代码修改一处就是令牌这里,然后粘贴,CTRL+O CTRL+X 保存。

#!/bin/sh /etc/rc.common

USE_PROCD=1
START=95
STOP=01

cfd_init="/etc/init.d/cloudflared"
cfd_token="这里改成你004:步骤复制好的令牌"

boot()
{
ubus -t 30 wait_for network.interface network.loopback 2>/dev/null
rc_procd start_service
}

start_service() {
if [ $("${cfd_init}" enabled; printf "%u" ${?}) -eq 0 ]
then
procd_open_instance
procd_set_param command /usr/bin/cloudflared --no-autoupdate tunnel run --token ${cfd_token}
procd_set_param stdout 1
procd_set_param stderr 1
procd_set_param respawn ${respawn_threshold:-3600} ${respawn_timeout:-5} ${respawn_retry:-5}
procd_close_instance
fi
}

stop_service() {
pidof cloudflared && kill -SIGINT `pidof cloudflared`
}

 

008:输入下面2个命令,回车。

# 设置开机启动
/etc/init.d/cloudflared enable

# 运行
/etc/init.d/cloudflared start

 

009:输入下面2个命令,回车,一个是查看进程,一个是查看进程日志。

# 查询是否有这个名字的进程
ps | grep cloudflared

# 查看这个名字的进程日志
logread | grep cloudflared

 

010:这个时候回到CloudFlare 我们Access-Tunnels 的菜单下,刷新一下,应该就能看到

一个隧道链接的提示,隧道名是我们自己取的,在Status 状态栏下显示绿色HEALTHY 就代表隧道已经穿透,可以用了,如果是INACTIVE 就说明隧道连接失败,可以等等,或者看看上面的步骤是否有错,如果已经HEALTHY 健康状态了,就点边上的3个点,选择Congfigure ,进入后选上面Public Hostname 菜单,点击+Add a public hostname ,进入后在Subdomain 里取你的二级域名名字,

如果直接用根域名就输入@,Domain(Required) 菜单里选择你托管在CF的域名,Path一般不填写

除非像宝塔这种默认安全设置这里有扩展路径例如:https://bt.cn:8888/format/ ,那么你就需要在Path 里填写/format ,下面的Service-Type 这里就随便了,看你自己要穿透的协议,如果是穿透局域网里的openwrt 自身,例如:http://192.168.1.1 ,那么这里选http 就行了,后面的URL就填写192.168.1.1

以此类推,再举几个例子

黑群晖https://192.168.1.5:5000  ,那么Type 就改成https ,后面URL 就填写192.168.1.5:5000 即可。

Windows11电脑,局域网IP是192.168.1.10 装了VNC远程桌面,VNC默认端口5900,那么应用类软件只要不是UDP,那这种TCP的就在Type里选TCP,URL里填写192.168.1.10:5900 即可。

教程完毕!

本站文章资源均来源自网络,除非特别声明,否则均不代表站方观点,并仅供查阅,不作为任何参考依据!
如有侵权请及时跟我们联系,本站将及时删除!
如遇版权问题,请查看 本站版权声明
THE END
分享
二维码
海报
OpenWRT安装内网穿透 Cloudflare Tunnel 教程
该内网穿透项目优点:和国内花生壳这种一年只有几M就要4位数的比起来CF不亏是业界钱多多 它不需要你购买VPS;有免费项且个人足够使用;带宽很高;可以跨电信……
<<上一篇
下一篇>>