新增 Tailscale 公网访问方案并落地
- 调研对比 Tailscale / Cloudflare Tunnel / frp / QuickConnect, 自用+大文件+隐藏IP 场景下选定 Tailscale(避开 CF 免费版 100MB 上限) - NAS 已上线 tailnet(ds925 / 100.95.151.13),Gitea 与 Synology Photos 公网访问已验证(含 >100MB 视频上传) - 修复关键坑:mihomo fake-ip 劫持 Tailscale 控制面域名导致 tailscale up 卡住,在 fake-ip-filter 加入 +.tailscale.com 等并提供修复脚本 - 文档:docs/public-access.md(部署/踩坑/验证) - 可选件:docker/derp(自建 DERP 中继) - 同步更新 CLAUDE.md(修正 git 公网地址、新增公网访问小节、端口、TODO) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -51,9 +51,10 @@ NAS 上实际路径:`/volume1/docker/<服务名>/`,与仓库 `docker/` 目
|
||||
|
||||
### Forgejo(Git 服务)
|
||||
|
||||
- **外网地址**:`http://git.51yanmei.com/`
|
||||
- **`git.51yanmei.com` 当前仅局域网可达**:DNS 记录指向 `192.168.3.200`(内网私有 IP、未走 CF 代理),公网打不开
|
||||
- **局域网直连**:`http://192.168.3.200:3000/`
|
||||
- **SSH Clone**:`ssh://git@git.51yanmei.com:2222/`
|
||||
- **公网访问**:经 Tailscale,`http://100.95.151.13:3000`(或 `https://ds925.tail6e8719.ts.net`),见 `docs/public-access.md`
|
||||
- **SSH Clone(局域网)**:`ssh://git@192.168.3.200:2222/`
|
||||
- **配置方式**:优先通过 docker-compose.yml 的环境变量(`GITEA__section__key`)管理,避免直接改 app.ini
|
||||
- **app.ini 路径**:`/volume1/docker/forgejo/data/gitea/conf/app.ini`(属于 uid=1000,wangjia 只读,需 root 修改)
|
||||
- **数据库**:SQLite,`/volume1/docker/forgejo/data/gitea/gitea.db`
|
||||
@@ -126,6 +127,7 @@ ssh nas "ls -lh /volume1/docker/backups/jiu-db/"
|
||||
| 6690 | Synology Drive |
|
||||
| 7890 | mihomo 混合代理(HTTP/SOCKS5) |
|
||||
| 9090 | mihomo 管理 API |
|
||||
| 41641/udp | Tailscale WireGuard |
|
||||
| 445 / 139 | SMB 文件共享 |
|
||||
|
||||
## Synology 反向代理
|
||||
@@ -151,8 +153,28 @@ ssh nas "ip route show table 2022 | head -5"
|
||||
ssh nas "ip addr show Meta"
|
||||
```
|
||||
|
||||
## 公网访问(Tailscale,已上线)
|
||||
|
||||
NAS 通过 **Tailscale(WireGuard 网格 VPN)** 对外提供 Gitea 与 Synology Photos 访问:
|
||||
零公网暴露、无文件大小限制、不泄露家庭公网 IP。部署与踩坑详见 `docs/public-access.md`。
|
||||
(Cloudflare Tunnel 因免费版 100MB 上限不适合 Photos 大文件,故选 Tailscale。)
|
||||
|
||||
- **节点**:`ds925`,Tailscale IP `100.95.151.13`,MagicDNS `ds925.tail6e8719.ts.net`
|
||||
- **身份**:Google SSO(`wang880812@gmail.com`);Google 仅登录/进后台时需要,日常用不需要
|
||||
- **CLI 路径**:`/var/packages/Tailscale/target/bin/tailscale`(已设 `--operator=wangjia`,免 sudo)
|
||||
- **关键依赖**:mihomo 的 `fake-ip-filter` 必须含 `+.tailscale.com` 等(见 mihomo 配置注释),
|
||||
否则 fake-ip 劫持会导致 `tailscale up` 卡住。修复脚本:`scripts/fix-mihomo-tailscale.sh`
|
||||
|
||||
```bash
|
||||
ssh nas "/var/packages/Tailscale/target/bin/tailscale status" # 查看节点与对端连接
|
||||
```
|
||||
|
||||
## TODO
|
||||
|
||||
- [x] NAS 安装 Tailscale 套件并登录,Gitea/Photos 公网访问已验证(含 >100MB 上传)
|
||||
- [ ] 后台对 `ds925` 关闭 key expiry(否则 ~180 天掉线需重新过 Google 登录)
|
||||
- [ ] (可选)`tailscale serve` 给 Gitea 套 HTTPS(解决 Arc 等强制 HTTPS 浏览器超时)
|
||||
- [ ] (可选)新加坡 EC2 自建 DERP 中继 / 把 Tailscale UDP 排除出 mihomo,从香港中继提速到 P2P 直连(`docker/derp/`)
|
||||
- [ ] wangjia 用户加入 docker 组,方便 SSH 管理容器
|
||||
- [ ] dnsmasq 启用(全局 DHCP 分发,让其他设备也自动走透明代理)
|
||||
- [ ] Forgejo app.ini 的 DOMAIN/SSH_DOMAIN/ROOT_URL 改为 `git.51yanmei.com`(需 root,docker-compose 环境变量已覆盖,改 app.ini 仅为保持一致)
|
||||
|
||||
Reference in New Issue
Block a user