【Nas】tailscale内网穿透
慕雪年华

转载已获得原作者授权
https://post.smzdm.com/p/agqd5k87/

image

使用tailscale内网穿透访问你家的极空间

匿名用户 2022-11-25 16:14:13 18点赞 139收藏 16评论

相比于其他的几种内网穿透方案,这个应该看起来很简单而且完全免费。

相比官方的内网穿透,还是有以下优点的:

  • 相比官方的小水管,打洞成功的tailscale能跑满你家的上行带宽

  • 能访问你部署的docker服务,例如aria2、alist等

1、注册tailscale

网址在这里,基本上有手就行,tailscale官网

image

2、登陆

在你的设备(pc、mac、android、ios)上下载对应的客户端,登陆就行,然后在浏览器打开网页版控制台,就这个网址

https://login.tailscale.com/admin/settings/keys

生成一个key,复制它,你只有一直机会后续就不再出现了

image

3、docker部署

这里有docker的官方介绍,有兴趣的可以瞅一眼。https://hub.docker.com/r/tailscale/tailscale,看不看都行

然后在你的docker仓库搜索 tailscale,下载它

image

然后添加到容器,这里需要注意的的是有两个挂载路径,对应填上就行

1
2
/var/lib
/dev/net/tun

image

网络选择host

image

环境需要加一个 TS_AUTH_KEY,把你在tailscale控制台获取的key粘贴在这里就行了

再加一个TS_ROUTES,后面就是你家路由器的局域网地址,后面的/24固定的,不用改

注意,这里的路由器局域网地址应该是以.0结尾的,并不是路由器的管理ip
比如你的路由器管理后台ip是192.168.32.1那么就应该填192.168.32.0/24

image

然后启动就行了

4、获取ip

打开tailscale控制台 machines下面应该就能看到你新加入的设备了,记得打开subnet routes,这样无论内外访问都是相同的ip地址

image

image

5、访问

访问之前,你需要在你的电脑/手机上下载tailscale客户端或app

上一步获取到的ip,其实就可以替代你原来nas的 内网ip了

比如,你之前 alist的访问方式是 192.168.1.200:5244,那现在你远程访问的就是 tailscale的ip:5244。

此外,如果你开启了subnet routes,外网的访问地址还是192.168.1.200:5244,是不是更方便了

image

6、关于重启

测试后发现,每次重启都会导致节点变更,还需要手动开启subnet,后来查看官方文档后,可以进行一下额外配置。

首先在Acls里面添加这两个

  • 添加tag

  • 设置autoApprovers

1
2
3
4
5
6
7
8
9
10
11
12
13
{  
"tagOwners": {
"tag:docker": ["换成你的账户邮箱"],
},
"autoApprovers": {
// Alice can create subnet routers advertising routes in 10.0.0.0/24 that are auto-approved
"routes": {
"192.168.32.0/24": ["换成你的账户邮箱"],
},
// A device tagged security can advertise exit nodes that are auto-approved
"exitNode": ["tag:docker"],
},
}

那个192.168.32.0记得换成你自家的局域网链接,然后点save保存

image

在重新去生成一个key,需要注意的是 resuable、Ephemeral都需要打开,tag选你刚刚在acl配置的那个tag,简单说明下

Reusable打开可以让你的key在重启后也能再次使用

Ephemeral打开可以在设备离线的时候,自动移除节点,重启的时候在生成一个,避免出现Z4-1、Z2-2、Z4-3这种情况

Tags选择后,能通过autoApprovers,在设备回复上线后,自动配置subnet

image

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

THE END


测试情况

没有开启tailsacle时,无法访问本地Ip
image

开启之后,延迟还算不错。如果你的延迟是几百ms,那么说明穿透失败了,或者穿透的是米国的节点

image

虽然可以正常打开qbt的webui,也能链接上jellyfin,但是速度有点感人。几GB的视频也看不了,拖动进度条就会卡住。

稳定的时候大概能有 2-3mb/s 的速度,也算是给内网穿透多一种选择吧!