对于NAS玩家来说,外网访问是刚需,但传统的方案如DDNS或端口映射常常伴随着域名费用、繁琐的配置,甚至安全风险。今天,我们将分享一个更简单、更安全、更重要的是完全免费的解决方案——Tailscale

本教程将详细介绍如何使用Tailscale,让你轻松实现NAS的内网穿透,告别一切复杂设置,享受丝滑流畅的远程访问体验。

视频教程

如果你更喜欢通过视频学习,可以观看下面的教程。本篇博文的内容与视频同步,方便你边看边操作。


第一步:获取Tailscale API Key

Tailscale的部署非常简单,第一步就是获取一个用于部署的API Key。

  1. 登录Tailscale官网:访问 https://tailscale.com/,你可以选择用Google或GitHub账号直接登录,非常方便。

  2. 创建API Key:登录后,导航至**“Settings”,点击左侧的“Keys”**选项。

  3. 点击 “Create key”,给它取一个你喜欢的名字,然后点击创建。


第二步:在飞牛NAS上部署Tailscale

现在,我们将在飞牛NAS上部署Tailscale容器。

  1. 准备部署目录:在飞牛NAS的文件管理中,新建一个用于存放Compose文件的文件夹,例如 tailscale

  2. 创建Compose项目:打开Docker,进入 Compose 选项,点击 “新增项目”

  3. 填写项目名称,路径选择你刚才创建的文件夹。

  4. 将视频简介中提供的Compose文件代码粘贴进来。

  5. 配置API Key:在粘贴的代码中,找到对应的变量,将你第一步复制的API Key粘贴进去。

  6. 点击确定,然后开始构建。

稍等片刻,你的NAS容器就会在Tailscale的网络中上线,并自动分配一个IP地址。


第三步:客户端连接与远程访问

现在,你的NAS已经准备好被访问了,只需在你的设备上安装Tailscale客户端。

  1. 下载并登录客户端:在你的手机、电脑或其他设备上下载并安装Tailscale应用。登录时,请使用你在官网登录的同一个账号。

  2. 获取NAS IP:登录后,你会看到你的NAS服务已经出现在设备列表中。点击它,可以复制它分配的IP地址。

  3. 远程访问:打开浏览器,输入这个IP地址,后面加上你NAS里服务的端口号(例如:[IP地址]:8096),你就能轻松访问了!

如果你有IPv6地址,那么Tailscale会利用它实现点对点直连,速度非常理想。你可以通过SSH连接到NAS,运行指定命令来确认是否处于直连状态。

相关代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
version: "3.8"
services:
tailscale:
image: tailscale/tailscale:latest
hostname: your-server-name # 在Tailscale网络中显示的主机名
container_name: tailscaled
volumes:
- /var/lib/tailscale:/var/lib/tailscale
cap_add:
- net_admin
- net_raw
devices:
- /dev/net/tun:/dev/net/tun
network_mode: host
restart: unless-stopped
environment:
# 替换成你在Tailscale管理后台生成的认证密钥
- TS_AUTHKEY=
# 如果需要,可以添加标签
# - TS_EXTRA_ARGS=--advertise-tags=tag:server

1
2
3
4

docker ps
docker exec -it xxxxxx tailscale status


总结

通过Tailscale,我们不仅实现了NAS的外网访问,还摆脱了域名、端口映射和防火墙规则的限制,真正做到了零成本、零配置。更重要的是,Tailscale自带的端到端加密技术,让你的远程访问更加安全可靠。

希望这篇教程对你有所帮助。如果你在部署中遇到任何问题,欢迎在评论区留言交流。