ponshu-room-lite/docs/TAILSCALE_FUNNEL_EXPLAINED.md

8.5 KiB
Raw Blame History

Tailscale Funnel 完全図解

🎯 一言で言うと

「Tailscaleを入れていない人でも、あなたの自宅サーバーにHTTPSでアクセスできるようにする機能」


📊 通常のTailscaleとFunnelの違い

通常のTailscaleプライベートVPN

┌─────────────────────────────────────────────────────┐
│  Tailscale ネットワークTailnet- 閉じた専用線   │
│                                                     │
│  [あなたのPC] ←────────→ [Synology]                │
│  Tailscale導入済み      Tailscale導入済み          │
│                                                     │
│  [娘さんのPC] ←────────→ [Synology]                │
│  Tailscale導入済み      Tailscale導入済み          │
│                                                     │
└─────────────────────────────────────────────────────┘

✅ 安全: Tailscaleを入れた人だけが接続可能
❌ 制限: 知人や外部からはアクセス不可

Tailscale Funnel一部を公開

┌───────────────────── インターネット ─────────────────────┐
│                                                          │
│  [一般ユーザー]  [知人]  [Tailscale未導入の共同開発者]   │
│       │            │              │                      │
│       └────────────┴──────────────┘                      │
│                    │                                     │
│                    │ HTTPS                               │
│                    ▼                                     │
│         ┌─────────────────────┐                          │
│         │ Tailscale Relay     │ ← Tailscaleの中継サーバー│
│         │ (Funnel入口)        │    (あなたが管理する必要なし)
│         └─────────────────────┘                          │
│                    │                                     │
│                    │ 暗号化トンネル (WireGuard)          │
│                    │                                     │
└────────────────────┼─────────────────────────────────────┘
                     │
                     ▼
              ┌─────────────┐
              │  Synology   │ ← あなたの自宅
              │  (Funnel有効)│
              └─────────────┘
                     │
                     ├── :8080 → Posimai Brain API
                     ├── :3000 → Gitea
                     └── :5000 → Posimai API

公開URL:

https://posimai-lab.tail72e846.ts.net

利点: Tailscale未導入の人でもアクセス可能 ⚠️ 注意: 認証APIキーを必ず実装しないと全世界公開


🔒 セキュリティの仕組み

Geminiの警告は正しい:

Funnelは「全世界」に公開されるため、認証パスワードやAPIキーをしっかりかけていないと、誰でもあなたのサーバーを覗けてしまいます。

現在の保護レイヤー:

[一般ユーザー]
    │
    │ ① HTTPSで接続暗号化
    ▼
[Tailscale Relay]
    │
    │ ② WireGuardトンネル暗号化
    ▼
[Synology]
    │
    │ ③ APIキー認証 ← ★これが最後の砦★
    ▼
[Posimai Brain API]

重要: ①②は「通信の暗号化」であり、「誰がアクセスできるか」は制御していない③のAPIキー認証が必須


🌐 Funnel vs Cloudflare Tunnel vs VPS比較

項目 Tailscale Funnel Cloudflare Tunnel VPS + Nginx
クラウド依存 Relayのみ依存 Cloudflare依存 VPS管理
コスト 無料 無料 $3-5/月
安定性 Relay経由 99.99% VPS次第
設定難易度
データ経路 Tailscale Relay経由 Cloudflare経由 VPS経由
プライバシー Tailscale社のRelay通過 Cloudflare通過 自分のVPS

🤔 「クラウド依存を避ける」という方針との整合性

Tailscale Funnelの実態:

あなたのデータの流れ:
[知人のブラウザ]
    ↓
[Tailscale社のRelay] ← ★ここを通る★
    ↓
[あなたのSynology]

事実:

  • データは暗号化されているTailscale社でも読めない
  • ⚠️ Tailscale社のRelayサーバーを経由しているクラウド依存
  • ⚠️ Tailscale社が倒産/サービス停止したら使えなくなる

完全なセルフホストとは言えない理由:

FunnelはTailscale社のインフラに依存しています。 Cloudflare Tunnelと同じく「第三者のRelayを使う」点では変わりません。


🏆 本当に完全セルフホストするなら

方法1: VPS + Reverse Proxy最も純粋なセルフホスト

[知人] → [あなたが借りたVPS] → [Tailscale P2P] → [Synology]
         ★自分で管理★

メリット:

  • 完全に自分の管理下
  • VPSはあなたが選んだ業者Vultr, Hetznerなど
  • Tailscaleはプライベートネットワークのみ使用Funnel不使用

デメリット:

  • 月$3-5のコスト
  • VPS管理の手間

方法2: ダイナミックDNS + Let's Encrypt完全無料

[知人] → [DDNSドメイン] → [自宅ルーター:443] → [Synology]

メリット:

  • 完全無料
  • クラウド依存なし

デメリット:

  • ルーターのポート開放が必要(セキュリティリスク)
  • グローバルIPが変わると接続できなくなる
  • 二重ルーター環境では動作しない

📊 まとめ: Funnelは「妥協案」

方式 クラウド依存度 セキュリティ コスト 推奨度
Tailscale Funnel 無料
Cloudflare Tunnel 最高 無料
VPS + Reverse Proxy $3-5/月
DDNS + ポート開放 なし 無料

🎯 あなたの方針に対する推奨

現状のTailscale Funnel:

  • APIキー認証で保護されている
  • 無料で使える
  • ⚠️ Tailscale社のRelayに依存完全セルフホストではない
  • ⚠️ 再起動時に手動復旧が必要Docker Composeで解決可能

完全セルフホストにこだわるなら:

VPS + Reverse Proxy方式月$3-5 を推奨

# VPS上の設定例Nginx Reverse Proxy
server {
    listen 443 ssl;
    server_name posimai-brain.yourdomain.com;

    ssl_certificate /etc/letsencrypt/live/posimai-brain.yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/posimai-brain.yourdomain.com/privkey.pem;

    location / {
        proxy_pass http://100.x.x.x:8080;  # TailscaleのプライベートIPアドレス
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

この方式なら:

  • VPSは自分で選んだ業者Vultr, Hetzner等
  • TailscaleはプライベートネットワークのみFunnel不使用
  • VPSが死んでも別のVPSに30分で移行可能
  • 完全に自分の管理下

結論

Tailscale Funnelは「便利だが、完全セルフホストではない」

  • Cloudflare Tunnelと同じく、第三者のRelayに依存
  • 完全セルフホストにこだわるなら → VPS + Reverse Proxy
  • コストを抑えて手軽に使いたい → Tailscale Funnel現状維持 + Docker永続化

どちらを選びますか?