关于 tailscale
此技能为 Tailscale 网络管理提供命令、配置示例和操作参考,面向需要连接设备并管理访问策略的运维人员。内容涵盖子网路由、出口节点、SSH 及服务发布。
主要功能
- 01连接状态与节点管理
- 02配置子网路由和出口节点
- 03设置 Tailscale SSH
- 04发布 tailnet 服务或 Funnel
- 05配置 Grants 与 ACL
- 06提供自动化设置脚本
适用场景
- 01检查对等设备状态与连通性
- 02将设备配置为子网路由器
- 03通过出口节点转发流量
- 04管理 SSH 访问及网络权限
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ el-feo/ ai-context --skill tailscale安装后在 Claude Code 中输入/tailscale确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/acl-examples.mdapi-usage.mdcli-reference.mdproduction-setup.mdtroubleshooting.mdscripts/setup_exit_node.shsetup_subnet_router.sh详细介绍
Tailscale 网络管理
快速入门
# Install (Linux)
curl -fsSL https://tailscale.com/install.sh | sh
# Install (macOS)
brew install tailscale
# Connect and authenticate
sudo tailscale up
# Check status
tailscale status
# Get your Tailscale IP
tailscale ip -4
常见操作
连接管理
tailscale up # Connect
tailscale down # Disconnect (daemon stays running)
tailscale status # View peers
tailscale status --json | jq # Detailed network map
tailscale ping machine-name # Test connectivity (ignores ACLs)
tailscale ping --icmp machine-name # Test with ACLs
tailscale set --exit-node=name # Use exit node
tailscale set --exit-node= # Stop using exit node
使用 tailscale set 更改设置,无需重新连接。初始设置请使用 tailscale up。
子网路由器设置
运行 scripts/setup_subnet_router.sh <subnet_cidr> [auth_key] 自动完成设置。
手动步骤:
- 在路由器设备上启用 IP 转发
sudo tailscale up --advertise-routes=192.168.1.0/24- 在管理控制台中批准路由(Machines > device > Edit route settings)
- Linux 客户端:
sudo tailscale up --accept-routes
出口节点设置
运行 scripts/setup_exit_node.sh [auth_key] 自动完成设置。
手动步骤:
- 在出口节点上启用 IP 转发
sudo tailscale up --advertise-exit-node- 在管理控制台中批准(Machines > device > Edit route settings > Use as exit node)
- 客户端:
tailscale set --exit-node=node-name --exit-node-allow-lan-access
Tailscale SSH
# Enable on server
sudo tailscale set --ssh
# Connect from client (no special setup needed)
ssh machine-name
需要同时配置网络访问授权和 SSH ACL 规则。SSH ACL 模式请参阅 acl-examples.md。
Serve 和 Funnel
# Serve locally to tailnet
tailscale serve 3000
# Expose to public internet (ports 443, 8443, or 10000 only)
tailscale funnel 3000
# TCP forwarding with TLS termination
tailscale serve --tls-terminated-tcp=5432 localhost:5432
# Check status / turn off
tailscale serve status
tailscale serve off
访问控制
优先使用 Grants(现代、推荐)而非 ACL(旧版)。两者均可使用,但 Grants 支持应用层功能。
{
"groups": {
"group:engineering": ["[email protected]"]
},
"tagOwners": {
"tag:server": ["group:engineering"]
},
"grants": [
{
"src": ["group:engineering"],
"dst": ["tag:server"],
"ip": ["22", "443"]
}
]
}
关键模式: 使用组管理人员,使用标签管理机器。SSH 访问始终需要同时配置网络授权和 SSH 规则。
有关详细的 ACL 场景、SSH 访问模式、设备状态检查、自动批准器、GitOps 集成和常见错误,请参阅 acl-examples.md。
参考文件
- cli-reference.md - 完整的 CLI 命令参考,包含所有标志、目标格式和特定平台说明
- acl-examples.md - 详细的 ACL/Grants 配置:基于团队的访问、开发/暂存/生产环境隔离、SSH 模式、设备状态检查、自动批准器、GitOps,以及从 ACL 迁移到 Grants
- api-usage.md - REST API、Terraform 提供程序、Python SDK、webhook 和自动化示例
- troubleshooting.md - 连接诊断、子网路由器问题、出口节点问题、SSH 问题、MagicDNS、性能调优和常见错误消息
- production-setup.md - 架构模式、高可用设置、安全加固、IaC(Terraform/Ansible/K8s)、监控、灾难恢复和运维流程
脚本
scripts/setup_subnet_router.sh <subnet_cidr> [auth_key]- 自动设置子网路由器(安装 Tailscale、启用 IP 转发、配置路由)scripts/setup_exit_node.sh [auth_key]- 自动设置出口节点(安装 Tailscale、启用 IP 转发、将其通告为出口节点)
评论
支持 Markdown