Docker Compose 部署 Tailscale 連線至自架 Headscale 控制伺服器, 包含子網路由、出口節點、iptables NAT 設定及完整中文文件。 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
68 lines
1.7 KiB
Markdown
68 lines
1.7 KiB
Markdown
# Tailscale Docker 部署(Headscale)
|
||
|
||
使用 Docker Compose 部署 Tailscale,連線至自架的 Headscale 控制伺服器。
|
||
|
||
## 功能
|
||
|
||
- 透過 Docker 容器執行 Tailscale,使用 host 網路模式
|
||
- 連線至 `https://headscale.lotimmy.com`
|
||
- 子網路由廣播(192.168.88.0/24)
|
||
- 出口節點(Exit Node)支援
|
||
- iptables NAT/轉送自動設定
|
||
- 透過 Watchtower 自動更新容器映像
|
||
|
||
## 檔案結構
|
||
|
||
| 檔案 | 說明 |
|
||
|------|------|
|
||
| `docker-compose.yml` | Docker 服務定義 |
|
||
| `.env` | 環境變數(TS_AUTHKEY) |
|
||
| `run.sh` | 啟動容器 |
|
||
| `stop.sh` | 停止容器 |
|
||
| `docker_exec_tailscale_up.sh` | 連線至 Headscale(含路由與出口節點設定) |
|
||
| `docker_exec_tailscale_status.sh` | 查看連線狀態 |
|
||
| `docker_exec_tailscale_ip.sh` | 查詢 Tailscale IP |
|
||
| `tailscale` | Tailscale CLI 包裝腳本 |
|
||
| `iptables_reset_and_configure.sh` | 防火牆與 NAT 設定 |
|
||
|
||
## 快速開始
|
||
|
||
```bash
|
||
# 1. 設定 .env 中的 TS_AUTHKEY
|
||
# 2. 啟動
|
||
./run.sh
|
||
|
||
# 3. 連線至 Headscale
|
||
./docker_exec_tailscale_up.sh
|
||
|
||
# 4. 設定防火牆(如需路由功能)
|
||
sudo ./iptables_reset_and_configure.sh
|
||
|
||
# 5. 驗證
|
||
./docker_exec_tailscale_status.sh
|
||
```
|
||
|
||
## 網路架構
|
||
|
||
```
|
||
Tailscale 節點 ──► Headscale (headscale.lotimmy.com)
|
||
│
|
||
▼
|
||
tailscale0 介面 (100.64.0.0/10)
|
||
│
|
||
NAT MASQUERADE
|
||
│
|
||
▼
|
||
eth0 ──► LAN (192.168.88.0/24)
|
||
```
|
||
|
||
## 主機名稱慣例
|
||
|
||
使用 `ip-192-168-88-XX` 格式,對應主機的區域網路 IP。
|
||
|
||
## 相關文件
|
||
|
||
- [QUICKSTART.md](QUICKSTART.md) — 快速開始指南
|
||
- [OPERATIONS.md](OPERATIONS.md) — 維運操作手冊
|
||
- [SUMMARY.md](SUMMARY.md) — 專案摘要
|