ZeroTier 内网穿透,并搭建 moon 中转服务器

前言

由于本系列是建立在个人 NAS 的基础上,所以最好不要通过域名、公网 IP 等访问。

本文以广泛使用的 ZeroTier 为例。当然,后面也会给出大部分可用的内网穿透方法链接,可自行参考。

预先准备:

  • 注册 ZeroTier 服务
  • NAS 主机
  • 客户端主机

进阶准备:

  • moon 中转服务器。

    官方 moon 中转服务器在国外,国内客户端使用延迟大,甚至出现访问不了的问题。可以自己搭建 moon 中转服务器,来实现稳定的服务。

主要步骤:

由于平台太多,请使用右侧导航目录。

  • 注册 ZeroTier 服务
  • 安装 ZeroTier
  • 设备连接虚拟网络
  • 测试访问NAS 服务

注册 ZeroTier 服务

  • 访问官网:ZeroTier官网 ,注册用户、验证邮箱并登录。

  • 进入后台管理首页。

  • 点击顶部菜单栏的 “Networks” ,进入虚拟网络管理页面。

  • 点击 “Create a Network” ,创建虚拟网络。

    刷新页面可以看到创建的虚拟网络。

设置 ZeroTier 服务

  • 点击创建的虚拟网络 ID ,进行设置。

    这个 ID 就是虚拟网络的地址。

  • 打开虚拟网络设置界面,页面会自动滚到添加设备项。

  • 滚动页面到最上方,进行设置。

  • “Basics” 基础。

    • “Network ID” :虚拟网络地址 ID 。
    • “Name” :虚拟网络名称,自拟。
    • “Description” :描述。
    • “Access Control” :访问控制,默认 PRIVATE(私有),以后添加设备需要管理员同意。

  • “Advanced” 高级。

    • “Managed Routes” :托管路线,设置虚拟网络的 IP 网段。
    • “IPv4 Auto-Assign” :虚拟网络下 IPv4 自动分配,自选。
    • 其他选项保持默认。

  • 只要设置步骤结束,以上步骤不用点击保存,已经在设置过程中保存了更改。

安装 ZeroTier

Linux

  • 使用命令行。

    • SSH 服务。
    • 之前安装的 Cockpit 内含终端。
    • Shellinabox 插件。
  • 安装 curl 。

    复制sudo apt install curl
    
  • 下载 ZeroTier 。

    访问 ZeroTier – Global Area Networking ,点击顶部菜单栏的 “DOWNLOAD” 。

    向下滚动到 “Linux (DEB/RPM)” 部分,复制执行两条绿色指令其一即可。

  • 如果下载 zerotier-one 出错。

    这里以 Debian 为例。

    • 通过浏览器找到你系统的对应安装包,下载,再传输到 OMV 主机: Index of /RELEASES/1.4.6/dist/ 。

    • 终端命令行下载:

      复制# Debian
      wget https://download.zerotier.com/RELEASES/1.4.6/dist/debian/buster/zerotier-one_1.4.6_amd64.deb
      

    安装:

    复制sudo dpkg -i zerotier-one_1.4.6_amd64.deb
    

    再执行之前的绿色指令。

Windows

  • 访问 ZeroTier – Global Area Networking ,点击顶部菜单栏的 “DOWNLOAD” 。

  • 向下滚动到 “Microsoft Windows” 部分,点击 “MSI Installer (x86/x64)” 下载 .msi 格式安装包。

  • 安装并运行。

MacOS

Android

  • Google Play 下载。

Apple iOS

  • App Store 下载。

设备连接虚拟网络

将设备连接虚拟网络有两种方法:设备中添加虚拟网络地址 ID ;在 ZeroTier 网络管理界面添加设备。

但是由于在 ZeroTier 网络管理界面添加设备需要公有 IP ,这里不做说明。

Linux

  • 记下将要添加的虚拟网络的地址 ID 。

  • 终端命令行输入:

    复制sudo zerotier-cli join [虚拟网络地址ID]
    

    示例:

  • 刷新 ZeroTier 虚拟网络管理页面,找到 “Members” ,可以看到一个设备连接到虚拟网络。

  • 手动授权,设置信息。

    • 勾选该设备前面的选框。
    • 可以自定命名、描述。
    • 已经自动分配 IP ,可以添加/删除 IP 地址。

  • 终端中查看 ZeroTier IP 分配情况。

    复制ifconfig
    

  • 查看加入虚拟网络。

    复制sudo zerotier-cli info
    或
    sudo zerotier-cli listnetworks
    
  • 现在,设备已经连接虚拟网络。

Windows

  • 右键点击右下角 ZeroTier 图标,点击 “Join Network” 。

  • 窗口中输入要添加的虚拟网络的地址 ID ,点击 “Join” 。

  • 在弹出的网络连接中,点击 “是” 以加入虚拟网络。

  • 右键点击右下角 ZeroTier 图标,可以看到添加的虚拟网络地址 ID ,并且在前显示勾选。

  • 进行手动授权,步骤同 Linux 。

MacOS

同 Windows 。

Android

  • 创建虚拟网络连接。

  • 输入虚拟网络地址 ID ,点击 “Add Network” 。

  • 点击滑块,启用虚拟网络。

  • 同意连接请求。

  • 进行手动授权,步骤同 Linux 。

  • 点击滑块,关闭,再点击滑块,启用。连接信息刷新,连接成功。

Apple iOS

同 Android 。

测试访问NAS 服务

Linux

以 Ubuntu 18.04 TLS 为例。

  • 打开资源管理器。

  • 点击 “其他位置” ,即可看到 OMV NAS 服务。

  • 也可以在 “其他位置” 下的地址栏中输入以下链接:

    • 这里不是反斜线。
    复制smb://[NAS 设备在虚拟网络中的 IP]
    

  • 在弹出的凭据认证中,输入用户名、密码,即可访问 NAS。

Windows

  • 在资源管理器中,输入:

    两个反斜线 \ + NAS 设备在虚拟网络中的 IP。

    复制\\[NAS 设备在虚拟网络中的 IP]
    

    回车。

  • 在弹出的凭据认证中,输入用户名、密码,即可访问 NAS。

MacOS

  • 打开资源管理器。

  • 使用快捷键 Command + k 。

  • 输入以下链接:

    • 这里不是反斜线。
    复制smb://[NAS 设备在虚拟网络中的 IP]
    
  • 在弹出的凭据认证中,输入用户名、密码,即可访问 NAS。

Android

  • 新建连接。

  • 选择 SAMBA 类型,输入 NAS 虚拟网络中的 IP 。

  • 在弹出的凭据认证中,输入用户名、密码,即可访问 NAS。

Apple iOS

同 Android 。

OMV 5 web管理页面

  • 浏览器中输入 OMV NAS 设备在虚拟网络中的 IP,访问 OMV 5 web管理页面。

下一篇:搭建 ZeroTier moon 服务器

官方 moon 中转服务器在国外,国内客户端使用延迟大,甚至出现访问不了的问题。可以自己搭建 moon 中转服务器,来实现稳定的服务。

请参阅:ZeroTier 搭建 moon 服务器 。

【出处】:https://www.cnblogs.com/Yogile/p/12502311.html

=======================================================================================

ZeroTier 搭建 moon 服务器

前言

前文实现了 ZeroTier 内网穿透 。但是由于 ZeroTier 的官方 moon 中转服务器在国外,国内客户端可能出现使用延迟大,甚至出现访问不了的问题。可以自己搭建 moon 中转服务器,来实现稳定的服务。

注意:

  • 1.2.4 版本之后的 ZeroTier 才支持 moon 服务器。

moon 安装 ZeroTier 并加入虚拟网络

请参阅:ZeroTier 内网穿透 。

moon 服务器配置

  • 进入 ZeroTier 配置文件目录。

    复制cd /var/lib/zerotier-one
    
  • 生成 moon.json 签名文件。

    复制sudo -s
    zerotier-idtool initmoon identity.public >>moon.json
    
  • 编辑

    复制vim moon.json
    

    可以看到如下信息:

    moon.json
    复制  
      {
       "id": "0123456789",
       "objtype": "world",
       "roots": [
        {
         "identity": "xxxxxxxx:0:xxxxxxxx",
         "stableEndpoints": []
        }
       ],
       "signingKey": "xxxxxxxx",
       "signingKey_SECRET": "xxxxxxxx",
       "updatesMustBeSignedBy": "xxxxxxxx",
       "worldType": "moon"
      }
        

    注意:记录下 moon.json 文件中的 id 。

  • 修改信息。

    找到 "stableEndpoints": [] 。

    添加 "IPv4地址/9993" 或者 "IPv4地址/9993","IPv6地址/9993" 。

    示例:

    复制"stableEndpoints": ["1.2.3.4/9993","2001:abcd:abcd::1/9993" ]
    
  • 生成 .moon 签名文件

    复制zerotier-idtool genmoon moon.json
    

    显示:

    复制wrote 0000006xxxxxxxxx.moon (signed world with timestamp 15xxxxxxxxxx7)
    
  • 创建 moon 结点文件夹。

    复制mkdir /var/lib/zerotier-one/moods.d
    
  • 将签名文件复制到 moods.d 文件夹中

    复制cp 0000006xxxxxxxxx.moon moons.d/
    
  • 重启 ZeroTier 服务

    复制/etc/init.d/zerotier-one restart
    

设备连入 moon 服务器

自动配置

  • 输入命令:

    复制sudo zerotier-cli orbit [moon.json 文件中的 id] [moon.json 文件中的 id]
    
  • Windows 有一点不同,需要使用管理员权限的 PowerShell 输入:

    复制zerotier-cli orbit [moon.json 文件中的 id] [moon.json 文件中的 id]
    

手动配置

各个系统平台下 ZeroTier 目录位置 :

复制 Windows: C:\ProgramData\ZeroTier\One
 Macintosh: /Library/Application Support/ZeroTier/One (在 Terminal 中应为 /Library/Application\ Support/ZeroTier/One)
 Linux: /var/lib/zerotier-one
 FreeBSD/OpenBSD: /var/db/zerotier-one
  • 在对应系统平台下的 ZeroTier 目录位置,创建 moods.d 文件夹。

    复制sudo mkdir /var/lib/zerotier-one/moods.d
    
  • 将 moon 服务器生成的 0000006xxxxxxxxx.moon 拷贝到 moods.d 文件夹下。

  • 重启 zerotier-one 服务。

    • Linux :/etc/init.d/zerotier-one restart
    • Windows :
      • 按下 windows键+r ,打开 “运行” 窗口。
      • 输入 services.msc 回车。
      • 找到 ZeroTier One 服务,右键选择 “重新启动” 。

检测生效

  • 在非 moon 的客户端,输入命令:

    复制zerotier-cli listpeers
    
  • Windows 有一点不同,需要使用管理员权限的 PowerShell 输入:

    复制zerotier-cli listpeers
    

如果出现如下情况:

  • moon 服务器的 ID 、IP 地址出现在列表中,证明联通 moon 服务器。
复制200 listpeers <ztaddr> <path> <latency> <version> <role>
...................
200 listpeers 6xxxxxxxxx [moon IPv4地址]/60723;11450;11405 -1 1.4.6 MOON
...................

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值