diff --git a/CHANGELOG.md b/CHANGELOG.md index 3249bc2..79fa370 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -107,6 +107,17 @@ - 为 `clash.home.961504.xyz:10443` 与 `router.home.961504.xyz:10443` 开启 `basic_auth` 密码认证(账号 `ixvii0iv`,密码与 Mac mini 一致)。 - **回滚方式**:`ssh mini "cd ~/homelab/stacks/sun-panel && docker compose down"` +### 11. 部署 Mac mini Tailscale 异地组网与家庭子网路由 (`100.108.205.40`) +- **操作时间**:2026-11-06 22:10 ~ 22:18 +- **目标设备**:小米路由器 (`192.168.31.1`) & Mac mini (`192.168.31.164`) & 本机 MacBook Air +- **变更内容**: + 1. **路由器防冲突配置**:在 [`configs/router-shellcrash-config.yaml`](file:///Users/ixvii0iv/homelab/configs/router-shellcrash-config.yaml) 中将 `+.tailscale.com`、`+.tailscale.io`、`+.ts.net` 加入 `fake-ip-filter` 与 `全球直连`,并添加防火墙 `Tailscale_UDP_41641` 端口映射,确保 P2P 直连打洞不被国外代理劫持。 + 2. **Mac mini 系统级守护进程**:开启内核 IPv4 转发 (`net.inet.ip.forwarding=1`),安装并启动 `sudo brew services start tailscale`,执行 `sudo tailscale up --advertise-routes=192.168.31.0/24 --accept-dns=false`。 + 3. **组网结果**:Mac mini 获得固定 Tailscale IP `100.108.205.40`,同时实测 Mac mini 海外出口 IP 仍为 `104.43.105.243` (SG Azure),对家庭原有网络零干扰。 + 4. **本机 SSH 别名**:在 [`~/.ssh/config`](file:///Users/ixvii0iv/.ssh/config) 新增 `Host mini-ts` (`100.108.205.40`)。 +- **回滚方式**:`ssh mini "sudo /opt/homebrew/bin/tailscale down && sudo brew services stop tailscale"` + + diff --git a/PLAN.md b/PLAN.md index 925377a..4fc3fd7 100644 --- a/PLAN.md +++ b/PLAN.md @@ -28,8 +28,9 @@ - 已配置 [`scripts/cloudflare-ddns.sh`](file:///Users/ixvii0iv/homelab/scripts/cloudflare-ddns.sh) 并注册 macOS `LaunchAgent` (`com.homelab.cf-ddns.plist`,每 5 分钟自动检测并同步公网 IP 至 `home.961504.xyz` 与 `*.home.961504.xyz`)。 - 已通过 `acme.sh` + Cloudflare DNS API 自动签发 `home.961504.xyz` 与 `*.home.961504.xyz` 免费泛域名 SSL 证书。 - 已部署明文 Git 管理的 `home-gateway` ([`stacks/gateway/Caddyfile`](file:///Users/ixvii0iv/homelab/stacks/gateway/Caddyfile)),监听 `10443` 端口反代极空间 Z4 (`https://nas.home.961504.xyz:10443`)、Lucky (`https://lucky.home.961504.xyz:10443`) 与 Clash 面板 (`https://clash.home.961504.xyz:10443`)。 -- [ ] **2.3 部署 Tailscale(打通 MacBook + Mac mini + Azure 2C4G)**: - - 三端登录同一 Tailnet,开启 Mac mini 的 Subnet Router(子网路由:`192.168.31.0/24`),实现在外网免配置直接用 `192.168.31.x` 访问家里极空间与路由器。 +- [x] **2.3 部署 Tailscale(异地组网与家庭子网路由)**: + - 已在小米路由器配置 `*.tailscale.com` / `*.ts.net` 免 Fake-IP 直连与 UDP `41641` 端口映射。 + - 已在 Mac mini 启动系统级 `tailscaled` 守护进程(分配固定虚拟 IP `100.108.205.40`),开启 `192.168.31.0/24` 子网路由并关闭 `--accept-dns=false` 保护原有分流网络。 - [ ] **2.4 配置 Azure 2C4G 联动服务**: - 部署 **Uptime Kuma**:从公网外部监控家里公网 IP 与核心服务,断网/掉线立即推送告警。 - 部署 **Caddy / Nginx 443 免端口反代**:通过 Tailscale/WireGuard 隧道将轻量 Web 服务免端口(标准 `443`)暴露。 diff --git a/README.md b/README.md index d9ed897..2607212 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ flowchart TB | 设备角色 | 设备名称 | 局域网/公网 IP | 硬件配置 | SSH 快捷连接 | 核心职责 | | :--- | :--- | :--- | :--- | :--- | :--- | -| **核心计算/AIO** | **Mac mini** | `192.168.31.164` | Apple M6 (12C) / 24GB / 512G | `ssh mini` | Lucky 公网反代、Tailscale 节点、OrbStack 容器、24h 远程开发与 AI 算力 | +| **核心计算/AIO** | **Mac mini** | 内网 `192.168.31.164`
Tailscale `100.108.205.40` | Apple M6 (12C) / 24GB / 512G | `ssh mini` (或 `ssh mini-ts`) | Caddy/Lucky 公网反代、Tailscale 子网路由、OrbStack 容器、24h 远程开发与 AI 算力 | | **核心存储/NAS** | **极空间 Z4** | `192.168.31.185` | 磁盘阵列 NAS | - | 大容量影视/相册/冷备份存储,通过 SMB 挂载给 Mac mini | | **主路由/透明网关** | **小米路由器** | `192.168.31.1` (联通公网 `124.90.142.21`) | 已解锁 SSH + ShellCrash | `ssh 192.168.31.1` | 宽带拨号、全屋 DHCP、ShellCrash (Mihomo) 科学上网分流、端口映射 | | **云端协同节点** | **Azure 2C4G** | `104.43.105.243` (`sea.961504.xyz`) | 2 vCPU / 4 GB RAM | `ssh ixvii0iv@104.43.105.243` | 443 免端口反向代理、Uptime Kuma 外部断网告警、企微固定白名单 IP 转发 | diff --git a/configs/router-shellcrash-config.yaml b/configs/router-shellcrash-config.yaml index c223fe1..6b83111 100644 --- a/configs/router-shellcrash-config.yaml +++ b/configs/router-shellcrash-config.yaml @@ -56,6 +56,9 @@ dns: - '+.lan' - '+.local' - '+.home.961504.xyz' + - '+.tailscale.com' + - '+.tailscale.io' + - '+.ts.net' - '+.msftconnecttest.com' - '+.msftncsi.com' - '+.pool.ntp.org' @@ -161,6 +164,9 @@ rule-providers: rules: - DOMAIN-SUFFIX,home.961504.xyz,全球直连 + - DOMAIN-SUFFIX,tailscale.com,全球直连 + - DOMAIN-SUFFIX,tailscale.io,全球直连 + - DOMAIN-SUFFIX,ts.net,全球直连 - RULE-SET,applications,全球直连 - DOMAIN,clash.razord.top,全球直连 - DOMAIN,yacd.haishan.me,全球直连 diff --git a/stacks/azure-edge/Caddyfile b/stacks/azure-edge/Caddyfile index 43c04b6..a739a17 100644 --- a/stacks/azure-edge/Caddyfile +++ b/stacks/azure-edge/Caddyfile @@ -9,8 +9,8 @@ status.961504.xyz { reverse_proxy 127.0.0.1:3001 } -# 2. 家庭导航/服务免端口 443 反代示例(通过 Tailscale 加密隧道回源到家里 Mac mini) -# home.961504.xyz { -# encode zstd gzip -# reverse_proxy :16601 -# } +# 2. 家庭导航/服务免端口 443 反代(通过 Tailscale 加密隧道 100.108.205.40 回源到家里 Mac mini) +nav.961504.xyz { + encode zstd gzip + reverse_proxy 100.108.205.40:3002 +}