一、前言
很多人买到的 VPS,尤其是 NAT 小鸡,都会遇到一个比较典型的问题:虽然可能有共享公网 IP,但可用的外网端口很有限,或者不能像普通独立公网主机那样自由开放服务。这就意味着,有些程序虽然装好了,却不方便直接从外网访问。
比如你想部署一个服务器监控面板(Komari),它默认只能在服务器本机访问,或者你只能依赖有限的端口映射才能打开,这样对于新手来说既麻烦又不灵活。
本教程将教你:
在 NAT 小鸡上部署 Komari 监控,并通过 Cloudflare Tunnel 用自己的域名在公网访问
最终效果:
👉 https://komari.你的域名.com 直接打开监控面板
👉 不需要额外开放端口
👉 不需要单独购买真正的公网 IP
👉 更安全(真实服务器地址不直接暴露)
二、什么是 Cloudflare Tunnel?(小白必看)
1. 一句话理解
Cloudflare Tunnel 是一种“内网穿透工具”,可以让外网访问你本地服务器的服务。
2. 通俗理解(重点)
可以把它想象成:
快递代收点 + 专属通道
- 你的服务器 = 你家(在小区里)
- Cloudflare = 快递代收点
- Tunnel = 你家到代收点的一条专属地下通道
以前访问方式:
👉 外网必须直接找到你家门牌号(公网 IP + 端口)
现在方式:
外网只需要找“代收点”(Cloudflare)
Cloudflare 会通过隧道把请求送到你家服务器
3.Cloudflare Tunnel 能解决什么问题?
✔ 没有公网 IP 也能访问服务
✔ 不用做端口映射
✔ 不需要开放防火墙端口
✔ 隐藏真实服务器 IP
✔ NAT VPS 也能部署网站/面板
4.常见使用场景
- 服务器监控面板(Komari / Grafana)
- NAS 内网穿透
- 私有网站测试
- Webhook / Bot 服务
- 家庭服务器远程访问
三、准备工作
在开始之前,你需要:
- 一台 NAT 小鸡或者 Linux VPS(Ubuntu / Debian 推荐)
- 一个已经托管到 Cloudflare 的域名
- SSH 工具(FinalShell / Xshell / Terminal)
四、安装 Komari 监控面板
官方地址:https://komari-document.pages.dev/
1.安装环境
apt update
apt install -y curl
2.安装脚本
curl -fsSL https://raw.githubusercontent.com/komari-monitor/komari/main/install-komari.sh -o install-komari.sh
chmod +x install-komari.sh
sudo ./install-komari.sh
安装完成记得保存面板的初始账号及密码
五、安装 Cloudflare Tunnel
1.查看自己系统架构
uname -m
x86_64 | 用 amd64
aarch64 | 用 arm64 —ARM(很常见,比如甲骨文、AWS Graviton、某些便宜鸡)
2.安装 cloudflared
(下载的是 x86(amd64)版本):
wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
sudo dpkg -i cloudflared-linux-amd64.deb
(下载 arm64 版本的 cloudflared):
wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64.deb
sudo dpkg -i cloudflared-linux-arm64.deb
3.登录 Cloudflare
cloudflared tunnel login
复制vps显示的链接到游览器打开,授权连接登录
如:https://dash.cloudflare.com/argotunnel?aud=&callback=https%3A%2F%2Flogin.cloudflareaccess.org%2Fek57aSu_Yz5OqVhWYoeMXL8ox4PYpFkZSlmrB8byJ2o%3D
4.创建 tunnel:
cloudflared tunnel create komari
执行后会生成一个 Tunnel UUID,请保存下来。
类似:
/root/.cloudflared/xxxxx-xxxx-xxxx.json
5.绑定域名
假设你使用:
komari.example.com
执行:
cloudflared tunnel route dns komari komari.你的域名.com
在 Cloudflare 的完整 DNS 托管里,这一步会自动帮你建记录
6.配置转发
创建配置文件:
nano ~/.cloudflared/config.yml
写入以下内容(替换 UUID 和域名,如果有修改默认端口,这里也要修改):
tunnel: 你的TunnelUUID
credentials-file: /root/.cloudflared/你的TunnelUUID.json
ingress:
- hostname: komari.你的域名.com
service: http://localhost:25774
- service: http_status:404
7.启动 Tunnel
cloudflared tunnel run komari
8.访问面板
打开浏览器访问:
👉 https://komari.你的域名.com
如果一切正常,你会看到 Komari 登录页面。
9.设置Cloudflare Tunnel 变成系统后台服务
把 Cloudflare Tunnel 变成“系统后台服务”,让它自动运行、开机自启,不用你手动一直开着 SSH 运行。
- 把 cloudflared 安装成系统服务(systemd 服务):cloudflared service install
- 立即启动 cloudflared 服务:systemctl start cloudflared
- 查看 cloudflared 当前运行状态:systemctl status cloudflared
使用 systemd 管理 cloudflared 的好处是:即使服务器重启,Tunnel 也会自动恢复,不需要手动重新运行。
六、常见问题(FAQ)
1. 打不开网页?
检查:
- Tunnel 是否运行
- DNS 是否生效
- config.yml 是否写错
2. 访问超时?
可能原因:
service 地址错误
Komari 没启动
端口写错(25774)