ponshu-room-lite/docs/TAILSCALE_FUNNEL_EXPLAINED.md

233 lines
8.5 KiB
Markdown
Raw Normal View 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** を推奨
```yaml
# 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永続化**
どちらを選びますか?