前言
为了实现数据自主和随时随地的远程办公,我利用一台 N150 (8G RAM) 小主机,搭建了以 Debian Server 为核心的家庭私有云。本文记录了从系统安装到实现全球无感访问的全过程。
1. 基础设施搭建:Debian 与 Docker
第一步是夯实地基。选择 Debian 服务器版是为了极致的稳定与轻量。
-
系统环境:Debian Server
-
内网 IP:
** -
核心工具:安装 Docker 与 Docker Compose,作为所有服务的运行容器。
2. 网络优化:Mihomo (Clash) 的深度调优
在家庭网络环境中,N150 同时承担了流量导流的任务。我们使用了 Mihomo 内核,但在配置过程中遇到了一个经典坑位:内网穿透流量被代理劫持。
关键突破:配置直连规则
为了防止 Cloudflare Tunnel 的流量被 Mihomo 误拦截导致连接失败(出现 198.18.x.x 虚拟 IP 报错),我们在 /etc/clashctl/resources/runtime.yaml 的 rules 最上方加入了强制直连规则:
YAML
rules:
- DOMAIN-SUFFIX,cloudflare.com,DIRECT
- DOMAIN-SUFFIX,argotunnel.com,DIRECT
- DOMAIN-KEYWORD,cloudflared,DIRECT
经验总结:修改配置后务必重启 mihomo.service,确保规则生效。
3. 全球访问:Cloudflare Tunnel 隧道打通
在没有公网 IP 的环境下,Cloudflare Tunnel 是目前最优雅的内网穿透方案。
核心步骤:
-
安装与注册:将
cloudflared安装为系统服务。 -
协议优化:针对国内网络环境,强制使用
--protocol http2。 -
绕过拦截:通过设置
export TUNNEL_DNS_UPSTREAM=https://223.5.5.5/dns-query,确保隧道建立时不被本地 DNS 污染干扰。
最终效果:
通过 laoqiao.life 域名,实现了外网 HTTPS 安全访问家中的 CasaOS 管理面板。
4. 私有同步桥梁:WebDAV 服务的部署
为了让笔记本软件(如 Tabby、Obsidian)能够实时同步数据,我们部署了轻量级的 WebDAV 服务。
Docker Compose 配置示例:
YAML
services:
webdav:
image: bytemark/webdav
container_name: webdav
restart: always
ports:
- "8080:80"
environment:
- AUTH_TYPE=Basic # 兼容性最好的验证方式
- USERNAME=peter
- PASSWORD=your_password
volumes:
- ./data:/var/lib/dav
实战笔记:在配置 Tabby 同步插件时,务必使用 Basic 验证模式,并确保 Cloudflare 端的 Public Hostname 正确指向了 **:8080 端口。
5. 成果展示与未来规划
目前,这台 N150 已经实现了:
-
CasaOS 全球远程管理。
-
Tabby 终端 跨设备自动同步配置。
-
WebDAV 作为笔记和文件的存储后端。
下一步计划:
-
部署 Immich 管理胶片摄影作品。
-
编写 Python 脚本实现 A 股与黄金数据 的自动化采集与展示。