Tailscale 使用教程
Tailscale 使用教程
简介
Tailscale 是基于 WireGuard 协议的零配置 VPN 工具,可以将不同网络下的设备组成一个私有的虚拟局域网(Mesh 网络),无需公网 IP、无需端口映射,即可实现设备间的安全互联。
核心优势:
- 零配置,开箱即用
- 基于 WireGuard,性能强、安全性高
- 支持 NAT 穿透,无需公网 IP
- 免费套餐支持最多 100 台设备 / 3 个用户
安装
macOS
brew install tailscale
或从官网下载安装包直接安装。
Linux
curl -fsSL https://tailscale.com/install.sh | sh
Windows
从官网下载安装程序,安装后系统托盘会出现 Tailscale 图标。
iOS / Android
在 App Store 或 Google Play 搜索 Tailscale 安装。
快速开始
1. 注册账号
访问 https://tailscale.com,支持 Google、Microsoft、GitHub 账号登录,无需单独注册。
2. 启动并登录
macOS / Linux:
# 启动服务
sudo tailscale up
# 会输出一个登录链接,在浏览器中打开授权
# https://login.tailscale.com/a/xxxxxxxxxxxx
Linux 后台服务:
# 启用并启动服务
sudo systemctl enable --now tailscaled
# 登录
sudo tailscale up
3. 查看设备状态
# 查看当前设备的 Tailscale IP 和所有在线节点
tailscale status
输出示例:
100.64.0.1 my-macbook [email protected] macOS active; direct 192.168.1.x:41641
100.64.0.2 my-server [email protected] linux active; relay
100.64.0.3 my-iphone [email protected] iOS -
常用命令
# 登录
tailscale up
# 登出
tailscale down
# 查看状态
tailscale status
# 查看本机 Tailscale IP
tailscale ip
# Ping 网络中的其他设备
tailscale ping <设备名或IP>
# 查看网络连接详情
tailscale netcheck
子网路由(Subnet Router)
将一台设备作为路由器,让网络中其他 Tailscale 设备访问该设备所在的局域网。
场景: 家里的 NAS 或服务器在局域网 192.168.1.0/24,希望在外网也能访问局域网内的其他设备。
开启子网路由
在需要作为路由器的设备上执行:
# 开启 IP 转发(Linux)
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
sudo sysctl -p /etc/sysctl.d/99-tailscale.conf
# 广播子网路由
sudo tailscale up --advertise-routes=192.168.1.0/24
在管理后台批准路由
登录 https://login.tailscale.com/admin/machines,找到该设备,点击 Edit route settings,启用对应的子网路由。
客户端接受路由
其他设备上执行:
sudo tailscale up --accept-routes
Exit Node(出口节点)
将某台设备设置为流量出口,让所有网络流量通过该设备转发(类似传统 VPN)。
设置 Exit Node
# 在作为出口的设备上
sudo tailscale up --advertise-exit-node
在管理后台批准该节点的 Exit Node 权限。
客户端使用 Exit Node
# 通过指定设备名或 IP 使用出口节点
sudo tailscale up --exit-node=<设备名或IP>
# 取消使用
sudo tailscale up --exit-node=
MagicDNS
Tailscale 内置 MagicDNS,可以用设备名直接访问,无需记 IP。
在管理后台 DNS 页面开启 MagicDNS 后,即可通过 设备名.域名 访问,例如:
ssh user@my-server
ping my-server
SSH 访问
Tailscale SSH 功能可以让你通过 Tailscale 网络直接 SSH 到其他设备,无需额外配置密钥。
# 在目标设备上开启 Tailscale SSH
sudo tailscale up --ssh
# 从其他设备连接
ssh user@<设备名或Tailscale IP>
在管理后台 Access Controls 页面可以配置 SSH 访问权限策略。
访问控制(ACL)
管理后台支持通过 HuJSON 格式配置精细的访问控制策略。
默认策略(所有设备互通):
{
"acls": [
{
"action": "accept",
"src": ["*"],
"dst": ["*:*"]
}
]
}
限制只有特定用户可以访问服务器的 22 端口:
{
"acls": [
{
"action": "accept",
"src": ["[email protected]"],
"dst": ["tag:server:22"]
}
]
}
常见问题
连接方式:Direct vs Relay
- Direct(直连):设备之间直接建立 P2P 连接,延迟低,速度快
- Relay(中继):通过 Tailscale 的 DERP 中继服务器转发,延迟较高
当两台设备都在严格 NAT 后面无法直连时,会自动降级为 Relay。可以用 tailscale netcheck 诊断网络连通性。
查看连接诊断
tailscale netcheck
tailscale bugreport
Linux 开机自启
sudo systemctl enable tailscaled
管理后台
原文链接:https://www.ssssmy.com/notes/tailscale-shi-yong-jiao-cheng