Skip to content

外网访问家中群晖-Tailscale篇

一、Tailscale 与群晖的奇妙组合

(一)Tailscale 的特点与优势

  1. Tailscale 作为一款强大的虚拟组网工具,具有诸多显著特点和优势。首先,基于 WireGuard 的它能够高效地加密数据传输,确保网络通信的安全性。据统计,Tailscale 使用的加密算法能够抵御绝大多数的网络攻击,为用户的数据提供坚实的保护。

  2. 其跨运营商设备互访稳定性较好,无论用户使用的是移动、联通还是电信等不同运营商的网络,都能较为顺畅地实现设备之间的连接。

  3. Tailscale 的客户端开源也是一大优势。这意味着开发者和用户可以根据自己的需求对客户端进行定制和优化,同时也促进了社区的发展,为用户提供了更多的技术支持和解决方案。

(二)群晖在其中的作用

  1. 在远程访问方面,用户可以随时随地通过安装了 Tailscale 的设备访问群晖中的文件,摆脱了传统网络环境的限制。无论是在外出差还是在办公室,都能像在本地局域网一样方便地访问群晖中的照片、文档、视频等各种文件。
  2. 通过 Tailscale 的虚拟局域网,用户可以轻松实现多设备之间的文件同步,确保重要文件在不同设备上的一致性。同时,群晖的备份功能也能为用户的数据提供额外的保障,防止数据丢失。
  3. 通过安装 Tailscale 套件,群晖成为虚拟局域网中的重要接入网关,为用户远程访问其他设备提供了便利。

二、使用 Tailscale 访问群晖的步骤

(一)注册与准备工作

  1. 国内用户首先需要注册一个微软的 outlook 邮箱,可前往 outlook.com 官网进行注册。

  2. 注册完成后,打开 Tailscale 官方网站 Tailscale.com,点击 “Get started” 。

  3. 选择中间的微软账号登录,使用注册好的 outlook 邮箱进行登录。

  4. 登录到 tailscale 后,未添加设备的情况下,会看到没有任何设备列表。(截图显示我的账号,前期已经添加了3个设备)。

(二)群晖 NAS 安装 Tailscale 套件

  1. 进入群晖后台,打开套件中心,在所有套件栏搜索“Tailscale”,按提示进行安装,一路点击 “下一步” 即可安装完成。

  2. 套件中心自带的不一定为最新版本,若想安装最新版本,请从 该地址下载对应的最新版本。黑群晖一般为X86平台,选择DSM6 / DSM7的第一个链接,即 64-bit x86(amd64) 版本。

  3. 在群辉后台套件中心右侧,选择”手动安装“,按提示一步步操作即可。

  4. 安装套件完成后,直接在套件中心打开 Tailscale,会自动跳转到登录页面。和网页端登录相同,选择自己微软邮箱账号登录即可。

  5. 登录后可以看到有个设备名称已经显示出来,如截图显示的home就是 NAS 的设备名称。后面的 100 开头的 IP 地址即是 NAS 主机的虚拟网络的 IP。但此时还不能直接进行访问,需要访问 nas 主机的电脑/手机安装 tailscale 客户端。

(三)电脑端安装 Tailscale 软件

  1. 在 tailscale 的官网有各类平台的客户端下载,如电脑是 win 系统,可下载 windows 软件安装。

  2. 下载 windows 客户端安装后提示登录,登录后可以看到本机名称及虚拟 IP 地址。这时可以复制 nas 的虚拟 ip 到浏览器,并加5000端口就可以直接访问 nas 主机。

(四)手机端访问 NAS 主机

  1. 下载 Tailscale 的手机端 app 并安装。(苹果手机应用商城要非国区的 ID 才可以下载)。
  2. 安装好后,打开直接提示登录,点进去提示登录操作和 pc 操作一样,选择微软账号 outlook 邮箱登录。
  3. Tailscale 的设备列表,可以看到使用同一账号登录的不同设备。
  4. 复制 nas 的虚拟 ip 到浏览器 app,IP:5000 就可以直接访问 nas 主机。
  5. 其它群晖官方 app 登录管理 nas 主机的话,只要地址使用以上虚拟 IP 地址,即可登录使用。

三、Tailscale 的高级功能与设置

(一)子网路由设置

  1. 子网路由以前也被称为 relay node 或者 relaynode。其作用是充当网关,将流量从 Tailscale 网络中继到物理子网。例如,当我们有一些使用不运行外部软件的嵌入式设备,如打印机、普通路由器、玩客云等,不能给每台设备都安装 Tailscale 时,就可以设置一个子网路由来实现从 Tailscale 访问这些设备。

  2. 登录群晖后台,按下列标识步骤打开群晖的SSH功能(建议日常使用关闭,避免不必要的隐患)。

  3. 用 SSH 客户端(如FinalShell)登录到群晖,在命令行中输入

    sudo tailscale up --advertise-routes 192.168.0.0/24 --advertise-exit-node --reset

    (如果是多个网段,用逗号隔离)。其中 192.168.0.0/24 替换为你所在的局域网段,如我自己的局域网段:10.10.10.0/24

  4. 进入Tailscale管理控制台,找到安装了 Tailscale 的群晖主机。

  5. 点击右侧三个小圆点,并进入Edit route settings。

  6. 可以看到我们命令行中设置的局域网地址段,勾选并保存确认。

  7. 这是在其他设备上,就可以直接输入局域网中的设备 IP 进行访问了。比如在手机或公司的办公机上输入 10.10.10.10 就可以访问家里的设备(10.10.10.10为我家中Unraid的IP,以你实际情况为准)。

  8. 提醒:安全机制考虑,Tailscale的Key过一段时间会过期,为了能长期使用,建议按如下操作将Key过期功能关闭。

(二)出口节点设置

  1. 出口节点功能允许您通过网络上的特定设备路由访问互联网流量,这台特定的路由设备称为出口节点,应用场景:

    • 在 Wi-Fi 不受信任的咖啡馆中浏览互联网,避免个人隐私泄密。
    • 在出国旅行时需要访问仅在本国可用的在线服务(例如银行业务)。
    • 局域网中有技能加持的设备,想通过该设备进行爱国学习。
  2. 以群晖作为出口节点的设置方法如下:群晖端的命令在设置子网路由时已经合并处理过参数

    --advertise-exit-node

    所以不需要再执行了,只要在进控制台启用即可。

Released under the MIT License.