感谢 TurboAI对本博客的的大力赞助。 创作不易,如果您觉得有帮助,请支持LIncol29!
前言
当自己DIY组装了NAS,却无法通过外网访问。此时可以使用Zerotier来进行内网穿透。
内网穿透:内网,就是在公司或者家庭内部,建立的局域网络或者是办公网络,可以实现多台电脑之间的资源共享,包括设备、资料、数据等。而外网则是通过一个网关与其它的网络系统连接,相对于内网而言,这种网络系统称之为外部网络,常见的就是我们日常使用的互联网。
一般而言,在没有固定公网IP的情况下,外网设备无法直接访问内网设备。
而内网穿透技术,顾名思义就是能让外网的设备找到处于内网的设备,从而实现数据通信。
另外一种内网穿透方式:frp 使用FRP实现内网穿透访问群晖NAS详细搭建教程(含ZeroTier对比)
通过内网穿透,让我们身在外地就能通过IP + 端口访问NAS
图片转自花生壳内网穿透
Zerotier介绍
Zerotier将自己的所有互联网设备组成一个大的局域网,也就是私有网络。
通过上图我们可以看出,当使用A(在外地的笔记本电脑) 访问 B(家庭NAS)
- 首先通过Zerotier搭建的局域网,A、B两台设备都加入到这个局域网中
- A设备加入到局域网后,设备IP为:192.168.192.229
- B设备加入到局域网后,设备IP为:192.168.192.163
- 两个设备都处于同一网段下,所以可以互相连接
注册Zerotier
Zerotier官网 :https://www.zerotier.com/
请自行注册账号,如不会可以自行Google或Bing
注册成功后,我们创建一个network,将会拥有自己的network ID,请记住这个ID。等下就会用得上
选择心仪的IP地址,这里我选择的是192.168.196.*
安装Zerotier
本文将使用Docker容器的方式部署,大家可以自行选择合适的方式
在您的NAS安装docker
群辉安装dockere:Package Center -> Search “Docker” -> Install
部署Docker
1. 通过 SSH 连接到您的 NAS
user为你的用户名 local-IP为你自己NAS的IP地址
ssh user@local-ip
以 root 身份运行
sudo -i
2. 创建目录来存储 ZeroTier 的身份和配置
mkdir /var/lib/zerotier-one
3. 调用 Docker 容器zt(存储库:zerotier/zerotier-synology)
docker run -d \
--name zt \
--restart=always \
--device=/dev/net/tun \
--net=host \
--cap-add=NET_ADMIN \
--cap-add=SYS_ADMIN \
-v /var/lib/zerotier-one:/var/lib/zerotier-one zerotier/zerotier-synology:latest
4. 查看节点状态
docker exec -it zt zerotier-cli status
5. 加入您的网络
JOIN 后面的ID为自己zerotier的ID,不要弄混
注意:zerotierID 为刚刚注册后创建的NetWorkID,复制过来即可
docker exec -it zt zerotier-cli join zerotierID
ZeroTier Central上的 NAS 。然后查看网络状态:
docker exec -it zt zerotier-cli listnetworks
显示正在运行的容器(可选)
docker ps
输入容器(可选)
docker exec -it zt bash
6. 在Zerotier网站同意设备加入节点
请点击Auth? 上的 √ 授权设备加入节点
7. 在手机或者笔记本上远程访问NAS
在上述5.6步骤中,已经将NAS加入到了局域网中。
此时想通过手机或者笔记本远程访问NAS,还需要将本机设备也加入到局域网中。
手机和电脑端可以下载Zerotier软件。
IOS手机端:需要打开此软件连接节点才可访问
window客户端:https://www.zerotier.com/download/ 下载链接
下载好以后直接 添加NetWorkID,加入局域网即可。
8. 升级Zerotier
要升级 ZeroTier,您需要停止并删除容器,然后拉取最新版本并启动一个新容器:
docker ps
输出示例:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
52c7cb58a1dd zerotier/zerotier-synology:latest "zerotier-one" 5 weeks ago Up 9 days zt
停止容器
docker stop 52c7cb58a1dd
取出容器
docker container rm 52c7cb58a1dd
拉取最新更新
docker pull zerotier/zerotier-synology:latest
现在,重新运行“设置容器”部分中的命令。
拓展资料
- 【实用Docker推荐】搭建moon节点实现zerotier加速访问 :当你已经搭建好zerotier以后,你会发现网速不够用。这时候你可以看一下如何搭建moon节点,使连接NAS网速更快。ping值可以从400多降低到50。
- 使用FRP实现内网穿透访问群晖NAS详细搭建教程(含ZeroTier对比) :另一种内网穿透方式,可以参考一下对比。
- 网站地图 – Lincol29 : 在这个网站地图中,你可以找到关于C#、常用生产力工具、面试面经、Docker、WordPress、RSS、等各类技术主题的教程和分享,以及对本站内容快速导航。
移动4g太坑了,有线网络还行。
我ping了一下,如果是不搭建moon节点的话,非常慢而且会有8%的几率丢包。使用自己的服务器搭建monn节点,可以达到50ms,已经算很不错了。
我一般用的是n2n,可以p2p也可以中转,很方便。
速度怎么样。可以的话我后面去了解一下
如果能够进行p2p的话网速就取决于两台设备宽带低的那个(毕竟流量不走服务器,服务器仅充当握手的人),如果不能进行p2p的话那网速就取决于服务器了(验证码10/5我居然填了5。。。)