ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-07-10 16:36:32  阅读:914  来源: 互联网

标签:NAS ip 穿透 nas 虚拟 zerotier docker 组网


一、背景介绍

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

新入坑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 ,估计博主也是转来转去,不同编辑器导致信息就失真了。

#错误写法
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 ,发现竟然可以。

 

以上。。。。 

 

标签:NAS,ip,穿透,nas,虚拟,zerotier,docker,组网
来源: https://www.cnblogs.com/zhongtang/p/16462728.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有