说明: Tailscale 是一款基于 WireGuard® 保护的虚拟局域组网工具,相信使用过 ZeroTier 对虚拟局域网应该也有所了解,虚拟局域网与本地组网的最大差别在于设备与设备之间允许不在一个机房、国家甚至地区,但通过 P2P 或者中转节点,通过异地组网最终实现局域网的效果。
没有公网 IP,又想能满足远程办公需求?担心暴露公网 IP 而被频繁的恶意扫描、攻击?Tailscale 的诞生,成为解决这些痛点的全新选择。
功能特点
- 无需注册,授权登录,开箱即用;无需配置防火墙;没有额外的配置。
- 高安全性、私密性;自动密钥轮换基于 WireGuard® 保护点对点连接支持用户审查端到端的访问记录
- 访问 / 连接,高度可控支持使用节点共享与指定的 Tailscale 用户共享您的设备。支持使用ACL限制对设备的访问。
- 低延时,不限速。设备间在不跨运营商的前提条件下,设备所在网络环境的上行带宽就是访问下载的最大带宽。
安装使用教程
至少两台设备来设置和配置 Tailscale 网络。
Tailscale 官网地址:
Tailscale 下载地址:download
注:免费用户最多支持 20 个设备,加入更多设备需要花银子。
群晖 NAS 安装使用 Tailscale
以群晖为例 --> 下载 Tailscale ,然后到 套件中心 手动安装 spk 文件。
安装完成后,进入终端 SSH,执行 sudo tailscale up 命令,或者直接打开 Tailscale 进入授权登录页面。(国内网络环境推荐使用巨硬)
授权登录成功后,会自动为该设备分配一个 Tailscale IP(可用于局域网内设备间的访问)
群晖 NAS 如果作为被访问端,需要访问端(例如电脑)同时下载安装 Tailscale 并授权设备登录成功后才能通过被访问端(群晖 NAS) 的 Tailscale IP 或 设备名 进行远程访问。
OpenWrt 安装使用 Tailscale
SSH 终端进入 OpenWrt ,下载 openwrt-tailscale-enabler -> Releases 发布页面
# 进入 tmp 目录 cd /tmp # 下载 openwrt-tailscale-enabler wget
提取文件覆盖到系统根目录:
tar x -zvC / -f o
安装依赖:
# 更新包列表 opkg update # 安装依赖 opkg install libustream-openssl ca-bundle kmod-tun
首次运行:
# 启动 tailscale 守护进程 /etc start # 屏幕打印 tailscale 登录地址,进行授权登录 tailscale up --accept-dns=false
运行以上两个命令,会自动在 /tmp 目录下载 tailscale 包文件包含了 tailscale 和 tailscaled 二进制文件,并自动解压、移动到 /usr/bin 目录。
可能出现的问题:例如 OpenWrt x86_64 平台会请求下载 包文件(实际发布页并无此包而导致报错),需要自行在 版本发布页 下载 到/tmp目录解压,并将 tailscale 和 tailscaled 二进制文件移动到 /usr/bin 目录,最后再重新执行上面两行命令即可。
开机启动:
# 加入开机启动 /etc enable # 验证是否成功加入开机启动项: ls /etc*tailscale*
版本更新:
在 这里 找到适应平台架构的文件,下载解压替换 OpenWrt 中的 /usr/bin/tailscale 和 /usr/bin/tailscaled 这两个文件。
关于设备的 Tailscale IP,可运行 ip addr show tailscale0 命令获取。或者访问 管理面板 在 Machines(设备列表)中查看。
Docker 安装使用 Tailscale
官方提供了 Dockerfile -> 传送门,大家可以自行构建 docker 镜像来运行容器,也可以直接使用 fastandfearless/tailscale 这个镜像,安装使用如下:
创建并运行容器:
docker run -d --name=tailscaled -v /var/lib:/var/lib -v /dev/net/tun:/dev/net/tun --network=host --privileged fastandfearless/tailscale tailscaled
验证机器并将其连接到 Tailscale 网络:
# 屏幕打印 tailscale 登录地址,进行授权登录 docker exec tailscaled tailscale up
获取设备的 Tailscale IP 地址:
ip addr show tailscale0
查看设备状态:
docker exec tailscaled tailscale status
CentOS 7 安装 Tailscale
注:该软件包支持 x86 和 ARM CPU 架构,包括 32 位和 64 位系统。
安装 yum-utils
sudo yum install yum-utils
添加 YUM 源,并安装 Tailscale
sudo yum-config-manager --add-repo sudo yum install tailscale
添加开机启动,并启动服务
sudo systemctl enable --now tailscaled
验证机器并将其连接到 Tailscale 网络
sudo tailscale up
复制屏幕打印的登录地址,使用浏览器访问进行授权登录。如果使用 @gmail.com 地址登录,则会自动获得授权。
获取设备的 Tailscale IP 地址
ip addr show tailscale0
在其他终端设备安装 Tailscale
Tailscale 目前已支持了 Linux 、macOS、iOS、Windows、Android、Synology、Raspberry Pi & ARM 等平台,几乎做到了终端设备的全面覆盖。
在 Tailscale 下载中心 选择下载对应平台的应用,并通过登录同一个账号使设备都在同一个虚拟局域网内,只有加入局域网的设备才支持设备间的连接。
设备禁用密钥过期
Tailscale 一般每隔 6 个月会要求重新进行身份验证,以确保网络安全。为避免发生这种情况时访问中断,请访问 管理面板 在 Machines(设备列表)中找到需要禁用的设备,并选择 Disable Key Expiry (禁用密钥过期),让设备免受中断的长期使用下去。
写在最后
体验了一个下午发现 Tailscale 打洞的成功率比 ZeroTier 高太多,此刻已卸载 ZeroTier,更多骚操作请查看 -> 官方文档