Skip to content

服务器 & 部署 & 运维

Cloudflare Tunnel:无公网 IP 安全访问内网服务

解决的问题: 本地服务(如 NAS、树莓派、开发机)没有公网 IP,如何让外网访问?

知识点:

  • Cloudflare Tunnel 在本地设备上运行 cloudflared,建立到 Cloudflare 边缘网络的反向隧道
  • 不需要端口映射、不需要公网 IP、不需要配置路由器防火墙
  • 流量经过 Cloudflare 的 DDoS 防护和 CDN 加速
  • 免费版支持,配合 Cloudflare Access 可实现 SSO 登录保护

使用步骤:

bash
# 1. 安装 cloudflared
# 2. 登录授权
cloudflared tunnel login
# 3. 创建隧道
cloudflared tunnel create my-tunnel
# 4. 配置 DNS 记录
cloudflared tunnel route dns my-tunnel mydomain.com
# 5. 启动
cloudflared tunnel run my-tunnel

Cloudflare 免费版限制

  • 域名 DNS 必须在 Cloudflare 管理
  • Cloudflare 终结 TLS(中间人),数据在 CF 服务端明文可见,敏感应用慎用
  • 免费版有带宽和请求数限制(具体参见官方定价页)

旧笔记本改造为 Web 服务器

知识点:

  • 笔记本功耗低(15-30W),7×24 运行电费可控
  • 安装 Linux Server(Ubuntu Server 或 Debian),去掉 GUI 减少资源占用
  • 合盖不休眠:修改 /etc/systemd/logind.confHandleLidSwitch=ignore
  • Docker 部署服务,便于管理和迁移
  • 配合 Cloudflare Tunnel 实现外网访问
  • 注意散热:老旧笔记本清灰换硅脂

安全注意事项

  • ⚠️ 电池风险: 老旧笔记本电池长期插电有鼓包/起火隐患,建议拆除电池仅用电源适配器
  • 数据备份: 至少配置定期自动备份(rsync/restic + 云存储),硬盘是消耗品
  • 安全加固: 关闭 root SSH 密码登录(仅密钥)、配置 fail2ban 防暴力破解、定期 apt update
  • 性能监控: 至少跑个 htop 或 Prometheus + Grafana 关注 CPU 温度和内存

Released under the MIT License.