51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

【实用Docker推荐】使用zerotier实现内网穿透—无公网IP也能在线访问NAS

前言

当自己DIY组装了NAS,却无法通过外网访问。此时可以使用Zerotier来进行内网穿透。

内网穿透:内网,就是在公司或者家庭内部,建立的局域网络或者是办公网络,可以实现多台电脑之间的资源共享,包括设备、资料、数据等。而外网则是通过一个网关与其它的网络系统连接,相对于内网而言,这种网络系统称之为外部网络,常见的就是我们日常使用的互联网。

一般而言,在没有固定公网IP的情况下,外网设备无法直接访问内网设备。

而内网穿透技术,顾名思义就是能让外网的设备找到处于内网的设备,从而实现数据通信。

另外一种内网穿透方式:frp 使用FRP实现内网穿透访问群晖NAS详细搭建教程(含ZeroTier对比)

通过内网穿透,让我们身在外地就能通过IP + 端口访问NAS

【实用Docker推荐】使用zerotier实现内网穿透—无公网IP也能在线访问NAS 1

Clip_2024-05-25_08-45-53

图片转自花生壳内网穿透

Zerotier介绍

Zerotier将自己的所有互联网设备组成一个大的局域网,也就是私有网络。

Clip_2024-05-25_08-52-26

通过上图我们可以看出,当使用A(在外地的笔记本电脑) 访问 B(家庭NAS)

  1. 首先通过Zerotier搭建的局域网,A、B两台设备都加入到这个局域网中
  2. A设备加入到局域网后,设备IP为:192.168.192.229
  3. B设备加入到局域网后,设备IP为:192.168.192.163
  4. 两个设备都处于同一网段下,所以可以互相连接

注册Zerotier

Zerotier官网 :https://www.zerotier.com/

请自行注册账号,如不会可以自行Google或Bing

注册成功后,我们创建一个network,将会拥有自己的network ID,请记住这个ID。等下就会用得上

Clip_2024-05-25_08-59-15

选择心仪的IP地址,这里我选择的是192.168.196.*

Clip_2024-05-25_09-01-21

安装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  
  1. 创建目录来存储 ZeroTier 的身份和配置

mkdir /var/lib/zerotier-one
  1. 调用 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
  1. 查看节点状态

docker exec -it zt zerotier-cli status
  1. 加入您的网络

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
  1. 在Zerotier网站同意设备加入节点

请点击Auth? 上的 √ 授权设备加入节点

Clip_2024-05-25_09-03-02

  1. 在手机或者笔记本上远程访问NAS

在上述5.6步骤中,已经将NAS加入到了局域网中。

此时想通过手机或者笔记本远程访问NAS,还需要将本机设备也加入到局域网中。

手机和电脑端可以下载Zerotier软件。

IOS手机端:需要打开此软件连接节点才可访问

ios手机端

window客户端:https://www.zerotier.com/download/ 下载链接window的zerotier下载

下载好以后直接 添加NetWorkID,加入局域网即可。

  1. 升级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

现在,重新运行"设置容器"部分中的命令。

拓展资料

赞(0)
未经允许不得转载:工具盒子 » 【实用Docker推荐】使用zerotier实现内网穿透—无公网IP也能在线访问NAS