mcpField
T
tailscale-setup

tailscale-setup

github.com/cursorクラウド・DevOps15.0k43 回インストール1 日前に更新
リポジトリ

tailscale-setup について

Grok Bot で Tailscale を接続するための設定ガイドです。tailnet 内の MCP サーバーへアクセスするメンバーや管理者向けに、会社用・個人用 tailnet、アクセス制御、サーバー追加、トラブルシューティングを説明します。

主な機能

  1. 01会社用または個人用 tailnet の接続
  2. 02デバイス姿勢とアクセス制御の設定
  3. 03tailnet ごとの MCP サーバー追加
  4. 04デフォルト tailnet と接続の管理
  5. 05認証やネットワークアクセスの問題解決

活用シーン

  1. 01Grok Bot から tailnet 内の MCP サーバーに接続
  2. 02会社デバイスのアクセス先を限定
  3. 03個人用 tailnet の切り替えと接続確認

MCP 対応

Tailscale 経由で tailnet 内の MCP サーバーに接続する方法と、ホスト名やポートに基づくアクセス制御を説明します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/cursor/plugins --skill tailscale-setup

インストール後、Claude Code で/tailscale-setupを入力して読み込まれたか確認します。

詳細

Grok Bot の Tailscale セットアップ

Grok Bot デスクトップには Tailscale の行が 1 つあります:Connect apps → Your plugins → Tailscale。この行にはテールネットごとに 1 つの枠があり、テールネット名、Personal またはチーム名、.ts.net アドレスの順に表示されます。

メンバーは複数の会社のテールネットに同時に接続でき、個人用テールネットは一度に 1 つ接続できます。個人用テールネットは複数追加できますが、有効にできるのは 1 つだけです。切り替えるには、別のテールネットをデフォルトに設定すると、現在のものは一時停止されます。テールネットの .ts.net 名を含むアドレスは、そのテールネットに接続します。短い名前または 100.x アドレスは、メンバーのデフォルトのテールネットに接続します。デフォルトを変更するには、Grok Bot に依頼します。

Grok Bot は、デバイスの削除、テールネットの追加、またはデフォルトの変更の前に、許可/拒否カードを表示します。Allow が表示されるまで待ってください。

この行を通じて、テールネット上の MCP サーバーにアクセスします。ボットのコンピューターにインストールされた Tailscale クライアントは、そのコンピューターを交換すると消去されます。

テールネットごとに 1 つの接続方法を使用してください。

会社のテールネット

チームの管理者は、cursor.com の Integrations → Tailscale で一度だけ有効にします。Enable Tailscale ダイアログでテールネット名を入力するか、Sign in to Tailscale をクリックし、Members' Grok Bot devices may join this tailnet にチェックを入れて、Enable をクリックします。テールネットには Tailscale Premium または Enterprise が必要です。

各メンバーにはそれぞれ専用の Grok Bot デバイスが割り当てられ、そのデバイスには custom:grokbot 属性が付与されます。ポスチャを使ってそのデバイスを制限してください。ポスチャを設定しない場合、デバイスはそのメンバー自身のアクセス権を持ちます。

以下のキーを既存のポリシーファイルに統合します。ポリシーにデフォルトのポスチャがすでにある場合は、それぞれに "custom:grokbot NOT SET" を追加し、defaultSrcPosture はそのままにします。

{
  "postures": {
    "posture:grokbot": ["custom:grokbot == true"],
    "posture:human": ["custom:grokbot NOT SET"],
  },
  "defaultSrcPosture": ["posture:human"],
  "grants": [
    {
      "src": ["group:[email protected]"],
      "srcPosture": ["posture:grokbot"],
      "dst": ["tag:mcp-servers"],
      "ip": ["tcp:443"],
    },
  ],
  "tests": [
    {
      "src": "[email protected]",
      "srcPostureAttrs": {"custom:grokbot": true},
      "accept": ["tag:mcp-servers:443"],
    },
  ],
}

実際のグループと、MCP サーバーのタグまたはホスト名を、各サーバーが待ち受けるポートで使用します。テストの src は、そのグループのメンバーである必要があります。

メンバーは該当するテールネットの枠を開き、Authenticate をクリックします。テールネットでデバイスの承認が必要な場合、管理者は Machines ページで grokbot- デバイスを承認します。

個人用テールネット

メンバーのチームが会社のテールネットとして登録しているテールネットへの個人アカウントでのサインインは拒否されます。そのテールネットには会社用の枠を使用してください。

メンバーがテールネットの所有者または管理者で、ワンクリックの接続が利用できる場合、Authenticate をクリックすると Tailscale の同意画面に進み、デバイスをすぐに使用できます。タグは付与されず、所有者のアクセス権を持ちます。特定の MCP サーバーだけを許可するには、タグを使う方法を使用してください。

それ以外の場合は、tag:grokbot を定義して、MCP サーバーだけにアクセスを許可してから、タグを使ってサインインします。ポリシーファイルに次の内容を統合してください。

{
  "tagOwners": {
    "tag:grokbot": ["autogroup:admin"],
  },
  "grants": [
    {
      "src": ["tag:grokbot"],
      "dst": ["mcp-server.tail1234.ts.net"],
      "ip": ["tcp:443"],
    },
  ],
}

tagOwners には、サインインするユーザーまたは autogroup:admin を含める必要があります。実際のホスト名とポートを使用してください。ポリシーにデフォルトの全許可ルールが残っている場合、tag:grokbot はすべてのデバイスにアクセスできます。そのことを伝え、許可範囲を狭めてください。

利用できるユーザー

個人用テールネットでは、ボット所有者のメッセージ、リンク済みのチームメイト、および所有者がスケジュールしたルーティンのみが利用できます。会社のテールネットでは、そのメンバー自身の Grok Bot チャット、Slack の DM、およびそのメンバーがスケジュールしたルーティンのみが利用できます。Slack Connect チャンネルではテールネットを使用しません。チームからメンバーを削除すると、そのデバイスはログアウトされます。

MCP サーバーを追加する

テールネット上の http:// または https:// アドレスを使ってサーバーを追加するか、ユーザーの依頼に応じて追加します。そのテールネットを使用するサーバーには、完全な name.tailnet.ts.net ホスト名を使用してください。短い名前または 100.x アドレスは、デフォルトのテールネットを使用します。スプリット DNS 名とサブネットルートのアドレスには、ポート 443 の HTTPS を使用します。

トラブルシューティング

  • アカウントまたはテールネットが間違っています: 再度サインインしてください。
  • リンクまたはデバイスの有効期限が切れています: 再度認証してください。会社のデバイスには、テールネットのキー有効期限が適用されます。
  • 「お使いのテールネットでは Grok Bot の Tailscale アプリが許可されていません」: テールネット管理者がアプリを許可した後、メンバーが再接続します。
  • 「Tailscale が会社のテールネットのサインインキーを拒否しました」: 会社でサインインするには、カスタムノード属性に対応したプラン(Tailscale Premium または Enterprise)が必要です。テールネットをいずれかのプランに移行してから、再度認証してください。
  • サーバーに接続できません: 完全な .ts.net 名がデフォルトのテールネットと一致しているか、そのホストとポートに対するポリシー許可、スプリット DNS とサブネットルート(有効化するにはユーザーの Cursor 担当者に問い合わせてください)、および証明書を確認してください。Tailscale アドレスを指すパブリック DNS 名は使用できません。MagicDNS 名またはスプリット DNS を使用してください。
  • 別のテールネットから共有されたデバイス: 名前では接続できません。受信側のテールネットをデフォルトに設定し、そのデバイスの 100.x アドレスを使用してください。
  • 内部証明書を使用するサーバー: チーム管理者が Integrations → Tailscale で CA を追加します(有効化するにはユーザーの Cursor 担当者に問い合わせてください)。

コメント