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

前言

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

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

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

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

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

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  

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? 上的 √ 授权设备加入节点

Clip_2024-05-25_09-03-02

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

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

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

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

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

ios手机端

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

下载好以后直接 添加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

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

觉得有帮助可以投喂下博主哦~感谢!
作者:Lincol
本文链接:https://www.lincol29.cn/usezerotier
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0协议转载请注明文章地址及作者哦~

评论

  1. Windows Edge
    3 周前
    2024-5-25 14:25:06

    移动4g太坑了,有线网络还行。

    • 博主
      网友小宋
      Windows Chrome
      3 周前
      2024-5-25 14:33:19

      我ping了一下,如果是不搭建moon节点的话,非常慢而且会有8%的几率丢包。使用自己的服务器搭建monn节点,可以达到50ms,已经算很不错了。

  2. Windows Edge
    3 周前
    2024-5-26 20:29:23

    我一般用的是n2n,可以p2p也可以中转,很方便。

    • 博主
      GoodBoyboy
      Windows Chrome
      3 周前
      2024-5-26 21:19:39

      速度怎么样。可以的话我后面去了解一下

      • Lincol
        Windows Edge
        3 周前
        2024-5-26 21:34:27

        如果能够进行p2p的话网速就取决于两台设备宽带低的那个(毕竟流量不走服务器,服务器仅充当握手的人),如果不能进行p2p的话那网速就取决于服务器了(验证码10/5我居然填了5。。。)

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇