My Computer · 2024/10/23 0

极空间NAS docker部署tailscale远程异地组网映射内网IP实现内网穿透

之前一直用tailscale来访问nas上的qBittorrent、传输文件,免费虽然速度不算快但是也够用。

最近tailscale的docker容器总是反复重启,重新捋了捋教程,可能是key到期了吧。。。

进入setting - keys菜单,点击Generate auth key,开启3个选项

复制得到的key,编辑容器,在环境 TS_AUTH_KEY 里粘贴key,应用并启动容器。

等机器上线以后更改子网路由,如果不改只能用Tailscale分配的IP访问,不如用自己内网IP方便。

找到Access Controls配置中对应的网段,选中,保存。

初次设置请参考:Tailscale docker 版傻瓜式使用教程(23 版)

1、注册账号
进入 tailscale 官网登录页面(https://login.tailscale.com/start),可以不注册而选微软或 apple账号直接登录(不建议用谷歌)。
登陆后顺利的话即可进入控制台,进入 Access Controls 页面,填入以下内容并点 Save:


// Example/default ACLs for unrestricted connections.{
"tagOwners": {
"tag:docker": ["你的账号邮箱"],},
"
autoApprovers": {
// Alice can create subnet routers advertising routes in 10.0.0.0/24 that areauto-approved
"
routes": {
"192.168.31.0/24": ["你的账号邮箱", "tag:docker"],},// A device tagged security can advertise exit nodes that are auto-approved
"
exitNode": ["tag:docker"],
},
}


其中邮箱填你页面左上角显示的邮箱,192.168.31.0/24 改成你家里网段(⚠这个很重要,下面也还要用到,简单理解即你家路由器 ip 地址最后一个数字改成 0 并加上/24,假如你的路由器管理页面是 192.168.X.1,则应填 192.168.X.0/24)。


2、获取 key
进入 Settings 标签页,然后点左侧的 Keys 栏,再点右侧的 Generate auth key
在 Generate auth key 页面中,描述随便填不填,三个开关全部勾选上,注意最后点生成之前必须要点左下角的 Add tags 并添加上刚刚设置的 tag(本教程示例为 docker)。生成 key 后记得复制并保存下来以备后用。


3、创建 docker
如果是可以ssh登录的设备可以直接用执行以下命令:docker run -d --name="tailscale" --restart unless-stopped --network host -v /mnt/docker/tailscale/dev/net/tun:/dev/net/tun -v /mnt/docker/tailscale/var/lib:/var/lib -e TS_ROUTES=改成你的网段 -e TS_AUTH_KEY=改成你的key -e TS_STATE_DIR=/var/lib/tailscale -e TS_HOSTNAME=可选项,用于指定设备显示名称 tailscale/tailscale:latest
进入极空间 docker 管理页,在镜像-仓库-自定义拉取中输入 docker pull tailscale/tailscale:latest,然后点击拉取并等待完成。
拉取完成后双击镜像创建容器,文件夹位置新建两个路径,第一个路径右侧填入/dev/net/tun,第二个右侧填入/var/lib,左侧根据实际情况来,示例如下:
网络部分点击更换,将 bridge 改为 host
环境部分需要分别填入以下三行
TS_ROUTES:第一步中所说的你的网段
TS_AUTH_KEY:第二步中获取的 keyTS_STATE_DIR:/var/lib/tailscale
然后点应用即可


4、终端安装客户端
如果一切顺利的话,此时在 tailscale 的控制台的 machine 列表中已经可以看到我们的极空间设备上线了并自动开了 subnet 功能,如下图所示:
此时我们要在自己要访问家里局域网的终端设备上安装客户端,Windows、macos、iOS、安卓等系统均可直接下载并安装客户端,Linux 系统需要用命令行方式安装,此处以 iOS 为例。进入非国区 AppStore 搜索并安装 tailscale,进入 app 并选择与第一步相同方式登录,登陆后打开左上角的开关,设备将启用 VPN 并能在 app 内看到设备列表,其中应该看到本设备和刚刚部署的极空间节点在线。
成功后即可切换到数据网络并用局域网 ip 访问极空间等局域网设备,如路由器的局域网 ip为 192.168.31.1,则可以在浏览器中 192.168.31.1 访问到路由器管理页面,体验与在家中局域网下完全一致。


5、iOS 客户端专属便捷功能(macos 后续即将支持)
iOS 客户端中,点击上方账号部分即可呼出 VPN On-Demand 子菜单,进入设置页面并按照自身需求设置,即可实现在不同网络下自动开关 tailscale。如下图的设置即会在非自家 WiFi的环境下即自动开启 tailscale,具体更多玩法可参考官方文档