OpenWRT 中运行Cloudflared(Zero Trust)实现内网穿透

OpenWRT 中运行Cloudflared(Zero Trust)实现内网穿透

如果想访问家庭中(内网)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

作者:网络菜小鸡 https://www.bilibili.com/read/cv21047301?from=search&spm_id_from=333.337.0.0 出处:bilibili

本站文章资源均来源自网络,除非特别声明,否则均不代表站方观点,并仅供查阅,不作为任何参考依据!
如有侵权请及时跟我们联系,本站将及时删除!
如遇版权问题,请查看 本站版权声明
THE END
分享
二维码
海报
OpenWRT 中运行Cloudflared(Zero Trust)实现内网穿透
如果想访问家庭中(内网)erp、nas、web,远程桌面,在或者是想实现手机相册自动同步备份到NAS,随时观看局域网中学习视频、随时下载电脑中的文件。 当我们有……
<<上一篇
下一篇>>