前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >有关nas中使用zerotier实现内网穿透的配置说明

有关nas中使用zerotier实现内网穿透的配置说明

作者头像
黯然销魂掌
发布2022-07-12 16:58:35
6.6K0
发布2022-07-12 16:58:35
举报
文章被收录于专栏:python爬虫日记python爬虫日记

一、背景介绍

由于工作变动,很久不写博客了。

新入坑nas(群晖 220+),原因不阐述,经过一段时间折腾,陆续实现以下用途:

1、手机照片自动备份。

2、工作资料多机器自动同步。(家、单位、常驻出差地点)

3、网盘本地化(把存储在某度云上大概200G的照片、资料全部挪到nas上)

4、nas部署qt,远程下载

中间踩了不少坑,趟雷的过程很有共性,供大家参考,本文重点说zerotier实现内网穿透。

1、zerotier内网穿透效果:

1、把分散在广域网上的多个设备(pc、手机、nas等),通过虚拟组网技术,实现局域网化,提升访问和传输速度。

2、不需要固定ip,不需要域名,不需要端口映射之类。

3、需要在各设备上安装并运行zerotier 的客户端。

2、zerotier内网穿透原理:

先说明下,没太细研究,纯猜测(只吃猪肉就好,不关心猪吃啥饲料)。

1、由zerotier客户端向zerotier中心端(zerotier官方服务器)提交运行zerotier客户端设备的外网ip,端口。

2、中心端分配虚拟局域网ip。

3、客户端通过虚拟局域网ip直接通讯,这里提升速度的核心,是绕开中心端的数据转发。

4、中间应该有些加密、隧道打通之类的东西。

3、环境:

设备:

1、群晖 220+  ,放在家里(DSM7.0版本)。

2、公司pc (win10)。

3、家pc(win10) 。

4、N台手机(小米)。

5、电视盒子(小米)……

网络:

1、家,北方某省移动宽带100M外网出口,光猫拨号,小米路由器做无线AP。

ps:曾经探讨光猫做桥接,小米路由器负责拨号,铁通的安装人员死活不同意,懒得废话,放弃

2、公司 中国电信100M 出口。

3、出差地,联通出口,带宽不详。

4、手机,移动4G

5、没有申请固定域名,没有固定ip,也没研究ipv6地址之类。

二、具体配置方法

1、zerotier官网注册账号,申请虚拟组网ID

 这一部分都是常规申请操作,目的是到zerotier官网,申请一个zerotier虚拟组网id,后续新加入客户端,也需要在官网主页上要进行授权审批。

具体这一部分的操作流程,可以查看这个链接: 群晖docker安装Zerotier实现内网穿透_嘉兴龙的博客-CSDN博客_群晖zerotier

2、在NAS上利用docker安装运行zerotier

具体这一部分的操作流程,还是查看这个链接: 群晖docker安装Zerotier实现内网穿透_嘉兴龙的博客-CSDN博客_群晖zerotier

这里需要说明的,我下载和安装的是zerotier/zerotier-synology,比较小一共27M(1.81版本zerotier),配置什么的都是一样的。

关于运行zerotier-cli join 233ccaa88751182c ,这一命令有以下几点补充内容:

a)后头这一串字符,要改成你在zerotier申请到虚拟组网id。

b)这个命令只需要运行一次。

c)执行该命令只是向zerotier服务端发出申请,需要登录到zerotier官网里去审批同意,审批同意之后才算正式加入。

d)pc端同样要运行zerotier的客户端,申请加入虚拟组网id,并且在服务端审批同意之后,才能正式加入到虚拟网中。

3、判断组网是否成功

组网成功之后,在pc端浏览器用**.quickconnect.to域名访问nas,会发现quickconnect会自动解析出虚拟组网分配的IP。

这时候无论是用synology driver client,还是ds file ,ds phtoto,ds video同步文件还是电影,速度都提高了一个层级。

对比我本人实测的数据,使用zerotier之前,synology 同步文件速度约30K/s,使用zerotier之后,synology速度稳定在2M/s左右。

三、有关持久化

非IT人员对持久化理解起来有点累,说说实际情况吧,不做持久化,只要NAS一不小心掉电重启,或者NAS里的docker异常重启,都会导致zerotier组网失败。

表现形式,就是quickconnect访问无法解析出ip,手工在docker中执行zerotier-cli join *** 的时候,反馈500错误。

解决办法:

参看这个材料。黑群晖(DSM7)挂载zerotier one(使用docker)部署分享_NAS存储_什么值得买 (smzdm.com)

1、NAS开启ssh

2、用putty之类telnet软件访问NAS

3、访问成功之后,用sudu -i 切换到root权限。

4、安装和配置tun.ko

特别说明的是,他这个有错误,稍微懂点脚本都知道,#是注释符号,第一句话那么写根本不会执行,没有任何意义。

所以n应该是\n ,估计博主也是转来转去,不同编辑器导致信息就失真了。

代码语言:javascript
复制
#错误写法
echo -e '#!/bin/sh -e ninsmod /lib/modules/tun.ko' > /usr/local/etc/rc.d/tun.sh 


#正确写法
echo -e '#!/bin/sh -e \n insmod /lib/modules/tun.ko' > /usr/local/etc/rc.d/tun.sh 

5、关闭ssh

重启之后,一切正常。

临时解决办法:

在找到上述解决方案之前,我找到一个傻办法,就是删掉docker,重新配置zerotier ,发现竟然可以。

以上。。。。 

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-07-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、背景介绍
  • 1、zerotier内网穿透效果:
    • 2、zerotier内网穿透原理:
      • 3、环境:
      • 二、具体配置方法
        • 1、zerotier官网注册账号,申请虚拟组网ID
          • 2、在NAS上利用docker安装运行zerotier
            • 3、判断组网是否成功
            • 三、有关持久化
            相关产品与服务
            容器镜像服务
            容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档