tailscale について
Tailscaleは、安全なネットワーク製品の説明資料と操作リファレンスをまとめたスキルです。デバイス接続、アクセス制御、企業インフラの設定やトラブルシューティング向けに、タスク別の資料を提供します。
主な機能
- 01tailnet、WireGuard、MagicDNSの解説
- 02タスク別のネットワーク情報索引
- 03tailnetポリシー作成のガイド
- 04コンテナ、企業ネットワーク、デバイス管理を網羅
- 05操作コマンドと説明資料を区別
活用シーン
- 01デバイス間のプライベートネットワーク接続
- 02tailnetのアクセスルール作成
- 03接続、DNS、Kubernetesの問題調査
- 04エージェントが使えるネットワークツールやデータの計画
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ tailscale/ tailscale-skill --skill tailscaleインストール後、Claude Code で/tailscaleを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/access-control.mdaperture.mdapi.mdborder0.mdcli.mdcommon-tasks.mdconnectivity.mdcontainers.mddevice-management.mdenterprise.mderror-messages.mdexit-nodes.mdinstallation.mdsession-recording.mdsharing-and-publishing.mdsubnet-routers.mdtsnet.md詳細
Tailscale
Tailscale は、デバイス間に安全なピアツーピアネットワーク(tailnet と呼ばれます)を作成する、設定不要のメッシュ VPN です。暗号化には WireGuard を使用し、中央ゲートウェイを経由せずにデバイス同士を直接接続します。
中核となる VPN に加えて、Tailscale は同じ認証情報とネットワーク層を基盤とする製品群を提供しています。このスキルではそれらすべてを扱います。該当するトピックについては、参照ファイルを確認してください。
参照ファイルの使い方
参照ファイルは、このスキルがユーザーのために行う内容に応じて、2 種類に分かれています。
説明用の参照ファイル(ほとんどのファイル — aperture.md、containers.md、enterprise.md、device-management.md、session-recording.md、api.md、tsnet.md)は、トピックをユーザーに説明するためのものです。内容の説明、設定の作成、アプローチの推奨などに使います。これらは、安定した基本概念と重要な設定形式を本文に記載し、最新情報の確認には正規の tailscale.com/docs/... URL を厳選して掲載するハイブリッド形式です。最新情報を確認するには、記載された指示に従って WebFetch を使用してください。WebFetch を利用できる場合は、具体的な情報(設定キー、環境変数、サポート対象モデル、価格など)について、本文の要約よりも最新のページを優先してください。WebFetch を利用できない場合は、本文の内容に基づいて回答し、確認すべきドキュメントページをユーザーに伝えてください。
操作用の参照ファイル(現在は cli.md のみ)は、ユーザーのマシン上でツールを操作するためのものです。Claude が実際にコマンドを実行します。誤ったフラグは実システムに影響するため、具体的なコマンドやフラグを本文に記載しています。ネットワークではなく、ローカルで確認するため、代替手段として提案する前に tailscale help <subcommand> を実行してフラグを確認してください。ツールがインストールされていない場合は、正規のドキュメント URL を次の代替手段として使用します。
残りの参照ファイル(access-control.md、common-tasks.md、connectivity.md、exit-nodes.md、installation.md、subnet-routers.md)は、より小規模で自己完結しています。ファイルを読み、質問に回答してください。
基本概念
- Tailnet:認証済みのデバイスとユーザーで構成されるプライベートネットワークです。
- WireGuard:Tailscale の基盤となる暗号化プロトコルです。鍵の管理は自動で行われます。
- MagicDNS:各デバイスに自動で割り当てられる DNS 名です(例:
ssh my-server)。 - 100.x.y.z アドレス:各デバイスには、CGNAT 範囲の安定した Tailscale IP アドレスが割り当てられます。
- Tailnet ポリシーファイル:アクセス制御、グループ、タグ、SSH ルールを定義する、管理コンソール内の JSON 設定です。デフォルトではアクセスを拒否します。
作成時のデフォルト
ユーザーから tailnet ポリシーファイルの作成または編集を依頼された場合:
- ACL ではなく grants を使用してください。 Tailscale では、アクセスルールの表現に grants を使うことが推奨されています。Grants は ACL の機能(ネットワーク層のアクセス)に加え、アプリケーション層の機能(Kubernetes、Aperture、tsrecorder、Taildrive)も一つの形式で扱えます。既存のポリシーの読み取りや移行では ACL も引き続きサポートされますが、新たに記述するアクセスルールにはすべて grant を使用してください。変換方法については
references/access-control.mdを参照し、正規の比較情報は https://tailscale.com/docs/reference/grants-vs-acls を確認してください。 - grant と ACL の選択は、アクセスルールにのみ適用されます。 ポリシーファイルのほかのセクションには、それぞれ独自の構文があり、grants ではありません。例として、
"ssh"(SSH アクセス)、"autoApprovers"(広告されたルートと出口ノードの自動承認)、"nodeAttrs"(Funnel などのノードレベル属性)、"postures"(デバイスのポスチャ定義。grants からsrcPosture経由で参照)、および"groups"/"tagOwners"の定義があります。
クイックスタート
macOS/Windows の場合は、https://tailscale.com/download から Tailscale をダウンロードします。
iOS、iPadOS、tvOS、Android デバイス、Roku デバイス、Fire TV の場合は、各プラットフォームのアプリストアから Tailscale をインストールします。
Linux デバイスには、インストールスクリプトを使って Tailscale をインストールします:
curl -fsSL https://tailscale.com/install.sh | sh # Install (Linux)
sudo tailscale up # Connect
tailscale status # Verify
Tailscale で認証する際は、ユーザーデバイスをユーザーアカウントに関連付けてください。サーバーやユーザー以外のデバイスを tailnet に追加するには、タグと認証キーを使用します。
タスクを探す
「個人用のノートパソコンやスマートフォンから、仕事用のマシンに接続したい」
Need remote access to work?
├─ My work computers or internal apps → references/common-tasks.md
├─ Remote desktop into my work machine (RDP, VNC) → references/connectivity.md
├─ Replace our old company VPN → references/enterprise.md
└─ A device that can't run Tailscale (printer, camera, cloud VPC) → references/subnet-routers.md
「旅行中も、自宅にいるときのようにインターネットを使いたい」
Traveling or on Wi-Fi you don't trust?
├─ Protect my traffic on hotel, cafe, or airport Wi-Fi → references/exit-nodes.md
├─ Use my home country's sites and streaming while abroad → references/exit-nodes.md
└─ Set up an exit node for family (the one you mail your parents) → references/exit-nodes.md
「必要なときだけサーバーへのアクセスを許可し、相手が行った操作を監査したい」
Need to lock down access?
├─ Access only when it's needed, not standing admin rights → references/access-control.md
├─ A break-glass path for emergencies → references/access-control.md
├─ Record SSH or kubectl sessions → references/session-recording.md
├─ Govern privileged access to servers, databases, and clusters (PAM) → references/border0.md
└─ Reach the Kubernetes API server → references/containers.md
「ネットワークをまたいで、サービスやマシンを安全に接続したい」
Need machines talking to each other?
├─ A CI/CD pipeline that reaches private infra → references/enterprise.md
├─ Kubernetes workloads across clusters or clouds → references/containers.md
├─ Services across more than one cloud → references/enterprise.md
├─ Thousands of field devices (fleets, vehicles, robots) → references/device-management.md
├─ Fix overlapping IPs across sites → references/subnet-routers.md
└─ Link two office networks together (site-to-site) → references/subnet-routers.md
「自分のマシンにあるファイルやアプリを、ほかの人と共有したい」
Need to share or open something up?
├─ Send a file to someone's device → references/sharing-and-publishing.md (Taildrop)
├─ Keep a folder synced across my devices → references/sharing-and-publishing.md (Taildrive)
├─ Let a teammate reach an app on my laptop → references/sharing-and-publishing.md (Serve)
└─ Put an app on the public internet → references/sharing-and-publishing.md (Funnel)
「アプリをテストしていて、別の場所に接続する必要がある、または別の場所にいるように見せたい」
Testing an app?
├─ Preview a local dev server with teammates or the internet → references/sharing-and-publishing.md
├─ Remote into a desktop (RDP, VNC, RustDesk) → references/connectivity.md
└─ Make test traffic appear to come from another country → references/exit-nodes.md
「何かが壊れた、またはエラーメッセージが表示された」
Hit an error or something not working?
├─ A specific error or status message (in the app or admin console) → references/error-messages.md
├─ Devices can't connect, slow/relayed, or DNS/NAT problems → references/connectivity.md
├─ A grant or access rule isn't behaving → references/access-control.md
└─ Kubernetes operator problems → references/containers.md
「自分のLLMを実行し、プライベートに保ちたい」
Running your own AI?
├─ Reach my home model (Ollama, LM Studio) from my other devices → references/installation.md
├─ Put my home GPU on my tailnet for inference → references/tsnet.md
└─ Open my private chat UI or RAG to just my devices → references/sharing-and-publishing.md (Serve)
「会社のAIツールのコストとアクセス範囲を管理したい」
Governing how your company uses AI?
├─ Centralize and rotate our LLM API keys → references/aperture.md
├─ See cost and usage per person or team → references/aperture.md
├─ Put quotas or budgets on AI spend → references/aperture.md
└─ Control which MCP tools agents are allowed to use → references/aperture.md
「AIエージェントに、ツールへアクセスするための安全なIDを与えたい」
Securing AI agents?
├─ Give each agent its own identity on the network → references/tsnet.md
├─ Let agents reach each other across machines → references/tsnet.md
├─ Control exactly which tools and data an agent can reach → references/access-control.md
└─ Fence an agent off so it can only touch what I allow → references/access-control.md
「外出先から、自宅のコンピューター、ファイル、メディアにアクセスしたい」
Need to reach home?
├─ Home computers and files → references/installation.md
├─ A headless Pi or home server, with no port forwarding → references/subnet-routers.md
├─ Media or backups (Jellyfin, *arr, Nextcloud) → references/sharing-and-publishing.md
├─ Smart-home gear (Home Assistant, Pi-hole) → references/subnet-routers.md
└─ Remote desktop or game streaming (Moonlight, RDP) → references/connectivity.md
「メールまたはSSOを使って、会社のデバイスを安全に接続したい」
Need everyone connected through SSO?
├─ Provision users from our identity provider (SSO, SCIM) → references/device-management.md
├─ Push Tailscale to managed devices (Jamf, Intune) → references/device-management.md
├─ Require posture or approval before connecting → references/device-management.md
└─ Automate nodes (auth keys, ephemeral nodes, Terraform) → references/enterprise.md
「プライベートリソースに安全にアクセスする必要があるアプリを開発している」
Building it into your app?
├─ My service needs to reach a private database or API → references/tsnet.md
├─ Give my app its own identity, separate from the host → references/tsnet.md
└─ Serve or publish my app straight from code → references/tsnet.md
トピック一覧
ユーザーの質問に合ったリファレンスファイルを読みます。各ファイルは単独で参照できます。
ネットワーキングと接続
| トピック | リファレンスファイル | 参照するタイミング |
|---|---|---|
| インストール | references/installation.md | あらゆるプラットフォームへのTailscaleのインストール、アップデート、アンインストール |
| Exitノード | references/exit-nodes.md | デバイス経由でインターネットトラフィックをすべてルーティングする(VPN方式)、旅行中のセキュリティ |
| サブネットルーター | references/subnet-routers.md | Tailscaleを実行できないデバイス(プリンター、カメラ、クラウドVPC)への接続 |
| アクセス制御 | references/access-control.md | Grants、ACL、タグ、グループ、ポリシーファイルの構造 |
| 接続性 | references/connectivity.md | ピアリレー、DERPサーバー、NATトラバーサル、tailnet lock、接続タイプ |
| 一般的なタスク | references/common-tasks.md | Tailscale SSH、MagicDNS、認証キー、キーの有効期限 |
共有と公開
| トピック | リファレンスファイル | 参照するタイミング |
|---|---|---|
| 共有と公開 | references/sharing-and-publishing.md | Taildrop(ファイル転送)、Taildrive(フォルダーの永続的な共有)、Tailscale Serve(プライベート)、Tailscale Funnel(パブリック) |
コンテナとオーケストレーション
| トピック | リファレンスファイル | 参照するタイミング |
|---|---|---|
| DockerとKubernetes | references/containers.md | DockerコンテナでのTailscaleの実行、サイドカーパターン、Docker Compose、Kubernetesオペレーター、クラスターのイングレス/エグレス、Connector CRD、ProxyGroup |
エンタープライズとインフラストラクチャ
| トピック | リファレンスファイル | 参照するタイミング |
|---|---|---|
| エンタープライズパターン | references/enterprise.md | VPNの置き換え、インフラストラクチャへのアクセス、一時的なノード、CI/CD統合(GitHub Actions)、拠点間ネットワーキング、アプリコネクター、自動化用の認証キー、Terraformプロバイダー |
| デバイス管理 | references/device-management.md | デバイス承認、デバイスのポスチャー、MDMデプロイ、SCIMによるユーザー/グループのプロビジョニング、大量のデバイス操作、エンタープライズ展開 |
| セッション記録 | references/session-recording.md | tsrecorderのセットアップ、SSHセッションの記録、S3ストレージ、Kubernetes kubectlの記録、APIリクエストの記録、フェイルオーバー、監査コンプライアンス |
| Border0(PAM) | references/border0.md | 特権アクセス管理、アプリケーションを考慮したアクセス、ジャストインタイムアクセス、SSH/Kubernetes/RDP/VNC/データベースのセッション記録、コネクターとソケット、認証情報の排除 |
Tailscale を基盤にした開発
| トピック | 参照ファイル | 読むタイミング |
|---|---|---|
| tsnet(Go ライブラリ) | references/tsnet.md | Tailscale を組み込んだ Go アプリケーションを構築し、アプリ自体を tailnet 上のデバイスにする場合。別途ログインフローを設けず、Tailscale の ID でユーザーを認証するアプリを作る場合。ポリシーファイルで管理するタグと機能付与を使ってアクセスを制御するアプリを作る場合。それぞれ独自の ID とアクセスルールを持つ複数のアプリを 1 台のホストで実行する場合。公開せずに、Go からプライベートな tailnet サービスにアクセスしたり、サービスを提供したりする場合 |
AI と LLM のガバナンス
| トピック | 参照ファイル | 読むタイミング |
|---|---|---|
| Aperture | references/aperture.md | AI ゲートウェイ、LLM リクエストのルーティング、API キーの一元管理、使用状況の可視化、コスト管理、クォータ、コーディングエージェントとの統合、MCP のプロキシ |
リファレンス
| トピック | 参照ファイル | 読むタイミング |
|---|---|---|
| CLI | references/cli.md | Tailscale CLI コマンド、フラグ、serve/funnel、ファイル転送、診断、tailnet lock |
| API | references/api.md | Tailscale REST API、認証、デバイス管理、DNS、ポリシーファイル、ウェブフック |
| エラーとステータスメッセージ | references/error-messages.md | 特定のクライアントまたは管理コンソールのエラー/ステータスメッセージ(DERP リレー、DNS、SSH/SELinux、Docker、Windows、SSO、請求)の調査と、その解決方法 |
CLI クイックリファレンス
| コマンド | 動作 |
|---|---|
tailscale up | tailnet に接続します |
tailscale down | 切断します |
tailscale status | 接続中のデバイスを表示します |
tailscale ip | Tailscale の IP アドレスを表示します |
tailscale ping <host> | デバイスへの接続をテストします |
tailscale set --ssh | このデバイスで Tailscale SSH を有効にします |
tailscale set --advertise-exit-node | exit node としてアドバタイズします |
tailscale set --exit-node=<ip> | 特定の exit node を使用します |
tailscale set --advertise-routes=<cidr> | サブネットルートをアドバタイズします |
tailscale set --accept-routes | アドバタイズされたサブネットルートを受け入れます(Linux) |