tailscale について
Tailscale ネットワークの管理に使うコマンド、設定例、運用手順をまとめたスキルです。デバイス接続やアクセス制御を行う運用担当者向けで、サブネットルーター、出口ノード、SSH、サービス公開を扱います。
主な機能
- 01接続とピア状態の管理
- 02サブネットルーターと出口ノードの設定
- 03Tailscale SSH の設定
- 04tailnet サービスや Funnel の公開
- 05Grants と ACL の設定
- 06自動セットアップスクリプト
活用シーン
- 01ピアの状態と接続性の確認
- 02デバイスをサブネットルーターに設定
- 03出口ノード経由のトラフィック転送
- 04SSH アクセスとネットワーク権限の管理
インストール
コマンドをコピーしてターミナルで実行します。
$
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 > デバイス > Edit route settings)
- Linux クライアント:
sudo tailscale up --accept-routes
Exit Node のセットアップ
scripts/setup_exit_node.sh [auth_key] を実行すると、自動でセットアップできます。
手動での手順:
- Exit Node で IP 転送を有効にします
sudo tailscale up --advertise-exit-node- 管理コンソールで承認します(Machines > デバイス > 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
アクセス制御
ACL(旧式)よりも Grants(最新の推奨方式)を使用してください。どちらも機能しますが、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 - 接続診断、サブネットルーターの問題、Exit Node の問題、SSH の問題、MagicDNS、パフォーマンス調整、よくあるエラーメッセージ
- production-setup.md - アーキテクチャパターン、高可用性セットアップ、セキュリティ強化、IaC(Terraform/Ansible/K8s)、モニタリング、DR、運用手順
スクリプト
scripts/setup_subnet_router.sh <subnet_cidr> [auth_key]- サブネットルーターを自動でセットアップします(Tailscale のインストール、IP 転送の有効化、ルートの設定)scripts/setup_exit_node.sh [auth_key]- Exit Node を自動でセットアップします(Tailscale のインストール、IP 転送の有効化、Exit Node としてのアドバタイズ)
コメント
Markdown 対応