8.5 KiB
8.5 KiB
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永続化)
どちらを選びますか?