服务器 & 部署 & 运维
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-tunnelCloudflare 免费版限制
- 域名 DNS 必须在 Cloudflare 管理
- Cloudflare 终结 TLS(中间人),数据在 CF 服务端明文可见,敏感应用慎用
- 免费版有带宽和请求数限制(具体参见官方定价页)
旧笔记本改造为 Web 服务器
知识点:
- 笔记本功耗低(15-30W),7×24 运行电费可控
- 安装 Linux Server(Ubuntu Server 或 Debian),去掉 GUI 减少资源占用
- 合盖不休眠:修改
/etc/systemd/logind.conf中HandleLidSwitch=ignore - Docker 部署服务,便于管理和迁移
- 配合 Cloudflare Tunnel 实现外网访问
- 注意散热:老旧笔记本清灰换硅脂
安全注意事项
- ⚠️ 电池风险: 老旧笔记本电池长期插电有鼓包/起火隐患,建议拆除电池仅用电源适配器
- 数据备份: 至少配置定期自动备份(rsync/restic + 云存储),硬盘是消耗品
- 安全加固: 关闭 root SSH 密码登录(仅密钥)、配置 fail2ban 防暴力破解、定期
apt update - 性能监控: 至少跑个
htop或 Prometheus + Grafana 关注 CPU 温度和内存