mcpField
T
tailscale

tailscale

github.com/el-feo云与 DevOps12322 次安装14 周前更新
代码仓库

关于 tailscale

此技能为 Tailscale 网络管理提供命令、配置示例和操作参考,面向需要连接设备并管理访问策略的运维人员。内容涵盖子网路由、出口节点、SSH 及服务发布。

主要功能

  1. 01连接状态与节点管理
  2. 02配置子网路由和出口节点
  3. 03设置 Tailscale SSH
  4. 04发布 tailnet 服务或 Funnel
  5. 05配置 Grants 与 ACL
  6. 06提供自动化设置脚本

适用场景

  1. 01检查对等设备状态与连通性
  2. 02将设备配置为子网路由器
  3. 03通过出口节点转发流量
  4. 04管理 SSH 访问及网络权限

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/el-feo/ai-context --skill tailscale

安装后在 Claude Code 中输入/tailscale确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
acl-examples.md
api-usage.md
cli-reference.md
production-setup.md
troubleshooting.md
scripts/
setup_exit_node.sh
setup_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] 自动完成设置。

手动步骤:

  1. 在路由器设备上启用 IP 转发
  2. sudo tailscale up --advertise-routes=192.168.1.0/24
  3. 在管理控制台中批准路由(Machines > device > Edit route settings)
  4. Linux 客户端:sudo tailscale up --accept-routes
出口节点设置

运行 scripts/setup_exit_node.sh [auth_key] 自动完成设置。

手动步骤:

  1. 在出口节点上启用 IP 转发
  2. sudo tailscale up --advertise-exit-node
  3. 在管理控制台中批准(Machines > device > Edit route settings > Use as exit node)
  4. 客户端: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