使用Openvpn免费异地组网方案出来后大家有以下问题:一是没有公网IP,这个使用IPV6可以解决。二是担心暴露在公网环境不安全,确实存在这种问题。然后我就在寻找用IPV6的异地组网方案,把WireGuard、Zerotier都来了一遍,最后使用了Tailscale。
Tailscale是基于开源的WireGuard协议实现加密的点对点连接,
Tailscale的优点:一是稳定,打洞成功不走中继服务器,直连。二是配置比WireGuard简单,与Zerotier相当。
Tailscale的缺点:没有官方安卓安装包,网上搜索apk可以下载,或者自己编译一个,IOS不支持CN地区。
1.注册Tailscal
2.群晖安装Tailscale
https://pkgs.tailscale.com/stable/可以找到大部分安装包,也可以添加矿神的社群地址https://spk7.imnks.com/后搜索安装Tailscale完成安装后直接打开连接,登录注册的Tailscale账号,在Tailscale后台管理界面看到群晖Connected就代表实时在线。
3.威联通安装Tailscale
QNAP版本的Tailscale是由社区成员开发并维护,需要自行到Github(搜索tailscale-qpkg)在Release页面下载对应的.qpkg文件,我的是X86架构的,就选择带_X86后缀的版本。下载好后在QNAP的APP Center选择手动安装并上传刚下载好的.qpkg文件。安装完成后点击打开大概率是报错,这里有一个坑,需要将QNAP的访问端口从默认5000改为8080后再点打开即可打开正确链接登录账号,后台可见即可。如果还是不行,需要用命令关联。
4.Windows安装Tailscale
https://pkgs.tailscale.com/stable/找到Windows安装包,安装完成登录邮箱账号,后台可见即可。
5.简单设置
Tailscale默认Key定期失效,常用设备选择Disable key expiry。
在安装了Tailscale电脑上打开Windows PowerShell,输入tailscale status回车,会显示各客户端连接状态。direct直连状态,通过IPV6,这样,它们之间的远程访问相当于公网直连。
此时通过Tailscale分配的内网地址已经可以访问两地NAS,但我们的目标是异地组网,需要使用TailScale子网路由功能。官方有说明文档https://tailscale.com/kb/1019/subnets/
6.TailScale子网路由设置
6.1 群晖配置
开启ssh,使用ssh工具登录群晖,参考官方文档命令:
sudo tailscale up --advertise-routes=10.0.0.0/24,10.0.1.0/24
其中10.0.0.0/24替换为A地的内网网段192.168.2.0/24,如果A地有多个内网网段则逗号连接,只有一个就把逗号后面删除,命令改为以下这个:
sudo tailscale up --advertise-routes 192.168.2.0/24 --reset
输入密码后TailScale后台在群晖地址后面选择Edit route settings再打开内网网段的开关,至此ping A地所有内网网址已通。
6.2 威联通配置
基本与群晖相同,开启ssh,使用ssh工具登录QNAP,
获取安装路径,在SSH输入以下代码获取路径(例如我的:/share/CACHEDEV1_DATA)
getcfg SHARE_DEF defVolMP -f /etc/config/def_share.info
进入到Tailscale安装路径
cd /share/CACHEDEV1_DATA/.qpkg/Tailscale
使用B地的内网网段192.168.3.0/24,QNAP命令有微调:
./tailscale up --advertise-routes 192.168.3.0/24 --reset
在TailScale后台QNAP地址后面选择Edit route settings再打开内网网段的开关,至此ping B地所有内网网址已通。
6.3 Docker配置
如果其它品牌NAS或者搞不好安装包也可以用Docker配置,但据说还是会遇到Key失效的问题,实在不行了再用Docker。这里有Docker的官方介绍,有兴趣的可以瞅一眼,https://hub.docker.com/r/tailscale/tailscale。
打开https://login.tailscale.com/admin/settings/keys,创建一个Key
下载镜像tailscale/tailscale,启动容器,网络选择host,需要添加环境
TS_AUTH_KEY,把在tailscale控制台获取的key粘贴在这里
TS_ROUTES,后面填Docker所在A地内网网段地址,后面的/24一定要加上
需要挂载两个路径,新建对应两个文件夹
/var/lib
/dev/net/tunTailScale后台在Docker所在主机地址后面选择Edit route settings再打开内网网段的开关,至此ping A地所有内网网址已通。
评论 (0)