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