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提供了各种架构的二进制文件。

1
2
3
4
5
6
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/cloudflared:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/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 服务并以下列方式启动:

1
2
/etc/init.d/cloudflared enable
/etc/init.d/cloudflared start

如果一切顺利,云状二进制文件应该在你的设备上运行:

1
2
ps | grep cloudflared
logread | grep cloudflared

直接在1:22开始观看


文章作者: Jems Join
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Jems Join !
  目录