102 lines
9.1 KiB
Markdown
102 lines
9.1 KiB
Markdown
---
|
||
title: "家庭网络环境概览"
|
||
type: source
|
||
tags: [home-office, nas, synology, ubuntu, vps]
|
||
date: 2026-04-03
|
||
---
|
||
|
||
## Source File
|
||
- [[raw/Home Office/家庭网络环境概览_2026-04-03.md]]
|
||
|
||
## Summary (用中文描述)
|
||
- **核心主题**:星曜家庭网络基础设施的完整架构图谱,涵盖5大节点(1个公网VPS + 1个Mac Mini + 1个Synology NAS + 2个Ubuntu Server),近50个Docker应用服务的部署现状、端口映射与公网访问方案。
|
||
- **问题域**:如何将分散在多个物理位置和内网的服务,通过FRP内网穿透 + Caddy反向代理 + Cloudflare DNS,实现统一的HTTPS公网访问?
|
||
- **方法/机制**:
|
||
- **FRP**(frps/frpc):在内网各节点部署frpc客户端,公网VPS运行frps服务端,通过TCP隧道将内网端口映射到公网;
|
||
- **Caddy**:在公网VPS上运行,自动申请Let's Encrypt证书,根据域名将请求反向代理到对应的FRP映射端口;
|
||
- **Cloudflare**:托管 ishenwei.online 域名的DNS解析,将子域名A记录指向VPS公网IP;
|
||
- **Docker Compose**:各节点上的服务通过Docker Compose管理,独立部署、版本隔离。
|
||
- **结论/价值**:该架构实现了"零静态IP依赖"的公网访问方案,所有内网服务均可通过 *.ishenwei.online 子域名从公网访问,同时保持了内网服务的隐私性和低带宽成本。
|
||
|
||
## Key Claims (用中文描述)
|
||
- VPS(192.227.222.142)通过FRP Server(端口7000)+ Caddy Web服务器,为全网内网服务提供统一的HTTPS公网入口。
|
||
- Mac Mini M4(192.168.3.189)作为主控节点,运行OpenClaw AI助手框架、vaultwarden密码管理器及STQ项目管理系统。
|
||
- Synology NAS DS718(192.168.3.17)托管了媒体服务(Jellyfin/Navidrome)、监控栈(Prometheus/Alertmanager/node_exporter)、密码管理(vaultwarden)、云盘挂载(CloudDrive2)等核心应用。
|
||
- Ubuntu Server 1(192.168.3.47)承担监控可视化(Grafana/Superset)、个人导航(Homarr)、BT下载(Transmission)等面向公网的服务。
|
||
- Ubuntu Server 2(192.168.3.45)运行n8n工作流自动化、Gitea自建Git服务及TikTok项目管理系统(DEV环境)。
|
||
- 科学上网代理(SOCKS5: 10808)在Mac mini、ubuntu1、ubuntu2上均正常,仅NAS(端口20170)仅本机监听。
|
||
|
||
## Key Quotes
|
||
> "Caddy — 现代化 Web 服务器,自带 HTTPS 自动化证书申请,常作为前置反向代理处理业务流量。" — 域名映射表说明
|
||
|
||
> "FRP Server — 高性能内网穿透服务端(frps),负责将内网 NAS 或本地开发环境的服务暴露至公网访问。端口 7000" — VPS应用说明
|
||
|
||
> "n8n 已迁移至 Ubuntu2,Mac Mini 不再暴露 n8n 端口" — Mac Mini FRP配置说明
|
||
|
||
## Key Concepts
|
||
- [[内网穿透]]:通过FRP反向隧道将内网服务暴露至公网访问的完整方案,包含frps(服务端)和frpc(客户端)两个组件。
|
||
- [[反向代理]]:通过Caddy根据域名将公网HTTPS请求反向代理到内网FRP映射端口的机制。
|
||
- [[HTTPS自动化证书]]:Caddy自动申请和管理Let's Encrypt SSL证书的机制。
|
||
- [[Docker Compose]]:各节点服务通过YAML文件声明式定义和管理的多容器编排工具。
|
||
- [[时序数据库]]:Prometheus作为监控数据的时序数据库,用于采集和存储node_exporter/cAdvisor/blackbox_exporter的指标。
|
||
- [[告警管理]]:Alertmanager处理Prometheus告警的分组、抑制、静默和多通道路由。
|
||
- [[SOCKS5代理]]:本地科学上网代理协议,监听127.0.0.1:10808。
|
||
- [[DNS托管]]:Cloudflare免费提供域名DNS解析服务,含CDN和SSL。
|
||
|
||
## Key Entities
|
||
- [[RackNerd]]:VPS提供商,托管公网VPS1(192.227.222.142),提供frps和Caddy服务。
|
||
- [[Mac Mini M4]]:Apple Silicon Mac Mini作为家庭服务器主控节点(192.168.3.189),运行OpenClaw、vaultwarden、STQ项目等应用。
|
||
- [[Synology NAS DS718]]:群晖NAS设备(192.168.3.17),运行DSM管理界面及Calibre/MinIO/Zipline/Navidrome/Jellyfin等Docker应用。
|
||
- [[Ubuntu Server]]:两个内网Ubuntu服务器节点(Ubuntu1: 192.168.3.47, Ubuntu2: 192.168.3.45),承担监控/导航/下载/工作流/Git等服务。
|
||
- [[Caddy]]:公网VPS上的自动HTTPS反向代理服务器,绑定*.ishenwei.online域名。
|
||
- [[frp]]:内网穿透工具(frps/frpc v0.65.0),实现内网端口到公网端口的TCP隧道映射。
|
||
- [[Prometheus]]:时序数据库监控系统,在NAS和Ubuntu1上运行,采集node_exporter/cAdvisor/blackbox_exporter指标。
|
||
- [[Grafana]]:监控可视化平台(Ubuntu1:13000),通过Dashboard ID导入官方模板。
|
||
- [[vaultwarden]]:轻量级Bitwarden密码管理器服务端,在Mac Mini和NAS上均有部署。
|
||
- [[Jellyfin]]:开源媒体服务器,在NAS上运行(端口8096),公网通过FRP+Caddy访问。
|
||
- [[Navidrome]]:开源音乐流媒体服务器,Subsonic API兼容,在NAS上运行(端口4533)。
|
||
- [[Transmission]]:BT下载客户端,在Ubuntu1上运行(端口9091),公网通过FRP+Caddy访问。
|
||
- [[n8n]]:工作流自动化平台,已从Mac Mini迁移至Ubuntu2(端口5678),公网通过FRP+Caddy访问。
|
||
- [[Portainer]]:Docker容器可视化管理界面,在NAS、Ubuntu1、Ubuntu2上均有部署。
|
||
- [[Homarr]]:个人导航页面/仪表板,在Ubuntu1上运行(端口7575),公网通过FRP+Caddy访问。
|
||
- [[Apache Superset]]:开源BI平台,在Ubuntu1上运行(端口8777),公网通过FRP+Caddy访问。
|
||
- [[Zipline]]:自托管图床应用,在NAS上运行(端口3333),后端为PostgreSQL。
|
||
- [[MinIO]]:S3兼容对象存储,在NAS上运行(端口9001),作为Zipline的存储后端。
|
||
- [[Cloudflare]]:DNS托管服务商,免费提供CDN和SSL证书,托管ishenwei.online域名。
|
||
- [[OpenClaw]]:AI助手框架,在Mac Mini上运行(端口8080),星曜的主要运行环境。
|
||
- [[Calibre]]:电子书库管理工具,在NAS上运行(端口8083),公网通过FRP+Caddy访问。
|
||
- [[v2rayA]]:V2Ray图形化代理客户端,在NAS上运行(端口2017),SOCKS5仅本机监听。
|
||
- [[CloudDrive2]]:多云盘挂载工具,在NAS上运行(端口19798),支持阿里云盘等。
|
||
- [[Alertmanager]]:Prometheus告警分发组件,在NAS和Ubuntu1上运行(端口9093)。
|
||
- [[node_exporter]]:Prometheus官方主机指标采集器,以host network模式运行。
|
||
- [[cAdvisor]]:Google开源容器资源监控工具,挂载Docker socket采集容器级指标。
|
||
- [[blackbox_exporter]]:Prometheus官方黑盒探测exporter,支持HTTP/TCP/ICMP/DNS/TLS探测。
|
||
- [[nginx-proxy-manager]]:反向代理管理工具,在Ubuntu1上运行(端口81)。
|
||
- [[Gitea]]:自建Git服务,在Ubuntu2上运行(端口3000)。
|
||
- [[Draw.io]]:在线图表编辑器,在Ubuntu2上运行(端口8085),公网通过FRP+Caddy访问。
|
||
- [[it-tools]]:开源开发者工具集合,在Ubuntu1和Ubuntu2上运行(端口8999),提供URL编解码、UUID生成、哈希计算等100+工具。
|
||
|
||
## Connections
|
||
- [[Caddy]] ← 反向代理 ← [[frp]](Caddy将HTTPS请求代理到FRP映射端口)
|
||
- [[Cloudflare]] ← DNS托管 ← [[Caddy]](DNS A记录指向VPS公网IP)
|
||
- [[Prometheus]] ← 指标采集 ← [[node_exporter]] + [[cAdvisor]] + [[blackbox_exporter]]
|
||
- [[Grafana]] ← 数据源 ← [[Prometheus]](Grafana消费Prometheus指标)
|
||
- [[Alertmanager]] ← 告警路由 ← [[Prometheus]](Prometheus触发告警后发送至Alertmanager)
|
||
- [[Zipline]] ← 存储后端 ← [[MinIO]](Zipline使用MinIO存储图片)
|
||
- [[Zipline]] ← 数据库 ← [[PostgreSQL]](NAS上zipline_postgres容器)
|
||
- [[Jellyfin]] ← 下载来源 ← [[Transmission]](下载→整理→播放工作流)
|
||
- [[Navidrome]] ← 同 ← [[Jellyfin]](均为媒体服务,下载→播放工作流)
|
||
- [[OpenClaw]] ← 运行平台 ← [[Mac Mini M4]](OpenClaw的主要运行环境)
|
||
- [[n8n]] ← 数据存储 ← [[PostgreSQL]](Ubuntu2上n8n_postgres容器)
|
||
- [[Cloudflare]] ← DNS ← [[RackNerd]](VPS IP: 192.227.222.142)
|
||
- [[frp]] ← 客户端节点 ← [[Mac Mini M4]] + [[Synology NAS DS718]] + [[Ubuntu Server 1]] + [[Ubuntu Server 2]](4个frpc客户端)
|
||
- [[frp]] ← 服务端 ← [[RackNerd]](VPS运行frps服务端)
|
||
- [[Docker Compose]] ← 部署载体 ← [[Prometheus]] + [[Grafana]] + [[Jellyfin]] + [[Navidrome]] + [[n8n]] + [[Zipline]] + [[MinIO]] + [[v2rayA]] + [[vaultwarden]] + [[Portainer]] + [[Homarr]] + [[Apache Superset]] + [[Gitea]] + [[it-tools]](所有Docker应用均通过Docker Compose部署)
|
||
|
||
## Contradictions
|
||
- 与 [[ubuntu-server科学上网]] 冲突:
|
||
- **冲突点**:NAS上v2rayA的SOCKS5代理(端口20170)状态为"仅本机监听",而ubuntu-server科学上网方案强调Docker Daemon也需要代理配置。
|
||
- **当前观点**:v2rayA在NAS上运行但仅本机监听,Docker pull仍可能受限。
|
||
- **对方观点**:Ubuntu Server可通过ProxyChains/Docker Daemon Proxy显式配置代理,覆盖终端和Docker Daemon两层。
|
||
- **Resolution**:v2rayA仅覆盖NAS本身,NAS上Docker pull可能还需配置Docker Daemon Proxy(参考[[群晖NAS科学上网]]方案)。
|