OpenWRT安装内网穿透 Cloudflare Tunnel 教程

 openwr旁路由 内网穿透cloudflareTunnel隧道完成 访问内网所有设备

openwr旁路由 內網穿透cloudflareTunnel隧道完成 訪問內網所有設備
Openwr bypass is completed by penetrating cloudflareTunnel through the intranet to access all devices on the intranet


00:48 esxi添加虚拟机 用于安装openwrt
用到的工具:esxi:https://d.wanuse.com/e
openwrt安装 ISO PE镜像 :https://cowtransfer.com/s/cc8fa5e4c38d43

01:27 在esxi中安装openwrt 旁路由
openwrt旁路由固件地址:https://d.wanuse.com/openwrt
镜像写入工具 :diskimage.exe工具 https://cowtransfer.com/s/8f07ad4c0d1442

04:36 在openwrt创建 cloudflareTunnel隧道
首先需要登录cloudflare cloudflare zero trus(使用cloudflare zero trus需要信用卡验证 选择免费计划 完全免费的)

在openwrt终端输入命令,登录cloudflare

代码: 

cloudflared tunnel login

输入登录命令后,出现 登录链接,复制连接 在已经登录cloudflare zero trust浏览器中打开
进入选择一个域名 点击授权 终端提示证书下载成功 目录/root/.cloudflared/cert.pem
使用命令创建隧道

代码: 

cloudflared tunnel create 1234

提示创建成功 /root/.cloudflared/123-e363-41238-854c-234534514.json

13:06 运行隧道,迁移隧道,加入openwrt开机后台启动运行

开机后台运行添加下面代码 (系统>>启动项>>本地启动脚本)

代码: 

nohup cloudflared tunnel run >/dev/null 2>&1 &

17:30 重点 添加内网ip(192.168.1.0/24) 到 cloudflareTunnel隧道

18:42 重点 配置 cloudflare zero trust客户端warp连接参数

21:36 重点 去除warp 客户端ip排除列表 中内网ip(192.168。。。)

23:12 手机测试 内网穿透。同样使用各个系统 平台。

客户端下载:
网盘:下载warp客户端
https://cowtransfer.com/s/5cde508b985e45 点击链接查看 [ 1.1.1.1 + WARP_ Safer Internet_6.29_Apkpure.apk ]

https://cowtransfer.com/s/a4b6c2f7aed249 点击链接查看 [ Cloudflare_WARP_Release-x64 ]

官方下载:
https://1.1.1.1/

内容来源于:DDD网络科技


该内网穿透项目优点:和国内花生壳这种一年只有几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 即可。

教程完毕!


内容来源于:随风的博客


在 OpenWRT 上安装 Cloudflared



VERSION="2023.5.1"

对于ARMCPU:

curl -O -L \
https://github.com/cloudflare/cloudflared/releases/download/${VERSION}/cloudflared-linux-arm \
&& chmod +x cloudflared-linux-arm \
&& mv cloudflared-linux-arm /usr/bin/cloudflared

对于AMD64CPU:

curl -O -L \
https://github.com/cloudflare/cloudflared/releases/download/${VERSION}/cloudflared-linux-amd64 \
&& chmod +x cloudflared-linux-amd64 \
&& mv cloudflared-linux-amd64 /usr/bin/cloudflared
  • 创建 Cloudflared 服务文件
touch /etc/init.d/cloudflared
chmod +x /etc/init.d/cloudflared
nano /etc/init.d/cloudflared
  • 粘贴内容。填写cfd_token
#!/bin/sh /etc/rc.common

USE_PROCD=1
START=95
STOP=01

cfd_init="/etc/init.d/cloudflared"
cfd_token=""

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`
}
  • 启用并启动服务
/etc/init.d/cloudflared enable
/etc/init.d/cloudflared start

来源: https://hmolina.dev/p/cloudflared-tunnel-in-openwrt/

内容来源于:矩阵开发者

OpenWRT 中的 Cloudflared 隧道
如果想访问家庭中(内网)erp、nas、web,远程桌面,在或者是想实现手机相册自动同步备份到NAS,随时观看局域网
中学习视频、随时下载电脑中的文件。
当我们有公网IP的时候可以通过端口映射转发来实现这些需求。
如果有公网IPV4,配合DDNS可以实现域名加端口访问。(缺点:不能使用80、443端口。IP暴露在公网(套CDN解决)、
优点速度取决于你带宽的上行(套CDN外)。
没有IPV4有IPV6可以可以实现域名加端口访问。(除了和IPv4一样的优缺点,还有个缺点 访问者必须支持IPV6) 。
第三方内网穿透平台(花生壳、神卓、节点小宝) 优点:有免费服务会有速度和数量限制,缺点:付费价格不划算,大部
分为国内节点无法使用80和443端口。
vps(云服务器)端口转发,通过安装frp或者nps来实现远程访问。访问速度取决于你服务器带宽。大陆vps(服务器)速度
快、价格便宜,域名需备案后使用80和443端口,香港、台湾vps(服务器)没有80和443端口限制价格稍微贵点。国外
vps(服务器)首选韩国、日本延迟也非常低。
接下来说下今天的主角 Cloudflare 的 Zero Trust(Cloudflared)。 Cloudflared :无需公网实现远程访问局域网任意设
备,没有任何费用。 缺点:速度慢(可进行IP优选解决,如果点赞和观看人多会在出一期IP优选视频)
Cloudflared安装在局域网中任何一台电脑上都可以实现远程访问局域网中同IP端的设备。 支持windows、linux、
MAC、docker。方法比较简单。 简单演示一下。
OpenWRT(软路由)24小时开机、功耗的的优点。但官方没有提供OpenWRT软件包,但是在 Github提供了各种架构的
二进制文件。
VERSION="2022.12.1"
curl -O -L \
https://github.com/cloudflare/cloudflared/releases/download/${VERSION}/cloudflared-linux-amd64 \
&& chmod +x cloudflared-linux-amd64 \
&& mv cloudflared-linux-amd64 /usr/bin/cloudflared
现在,我们将创建一个 init.d 服务,以便在设备启动时启动 Cloudflared。
touch /etc/init.d/cloudflared
chmod +x /etc/init.d/cloudflared
然后将以下内容添加到/etc/init.d/cloud dflared:
#!/bin/sh /etc/rc.common
USE_PROCD=1
START=95
STOP=01
cfd_init="/etc/init.d/cloudflared"
cfd_token="<yourtoken>"
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`
}
只要确保用在 Cloudflare 的 web GUI 中创建通道时生成的实际令牌替换“ yourtoken”并保存更改即可。
最后,确保启用了新的 Cloudflred init.d 服务并以下列方式启动:
/etc/init.d/cloudflared enable
/etc/init.d/cloudflared start
如果一切顺利,云状二进制文件应该在你的设备上运行:
ps | grep cloudflared
logread | grep cloudflared
cloudflared命令 系统中
cloudflared start 启动该服务
cloudflared stop 停止该服务
cloudflared restart 重新启动服务
cloudflared reload 重新加载配置文件(如果服务不实现重载或重新启动)
cloudflared enable 使服务自动启动
cloudflared disable 禁用自动启动服务
cloudflared enabled 检查服务是否在引导时启动
cloudflared running 检查服务是否正在运行
cloudflared status 服务状态
cloudflared trace 从系统调用跟踪
cloudflared info 转储procd服务信息
cloudflared service uninstall 卸载
./usr/local/etc/cloudflared start
路由器
/etc/init.d/cloudflared enable
/etc/init.d/cloudflared start

以下内容适合czh家中的N1盒子操作:

在openwrt中安装cloudflared tunnel程序包的命令

curl -O -L \

https://github.com/cloudflare/cloudflared/releases/download/2023.8.2/cloudflared-linux-arm \

&& chmod +x cloudflared-linux-arm \

&& mv cloudflared-linux-arm /usr/bin/cloudflared

运行cloudflared tunnel的命令:

cloudflared tunnel run 后面是隧道的名称!

在win10中,使用“cloudflared service uninstall”这个命令行来清理现有的隧道服务!

发表评论

0 评论