PVE Cloudflare 内网穿透 教程

PVE 内网穿透

本教材适用环境:

  • 无公网
  • 有域名(托管CF)
  • 无VPS

第一步 pve登录SSH(不详细讲解)

第二步:安装 cloudflared(PVE 上)

1
2
3
4
5
6
7
8
# 添加 Cloudflare 官方仓库密钥
curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg >/dev/null

# 添加仓库源
echo "deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared buster main" | sudo tee /etc/apt/sources.list.d/cloudflared.list

# 更新并安装 cloudflared
apt update && apt install cloudflared -y

如果安装失败,检查网络是否正常

第三步:创建 Tunnel 并认证 Cloudflare 账号

1
cloudflared tunnel login

这条命令下面一个网页地址,复制在浏览器打开登录 Cloudflare 并选择你要操作的域名(如:123456.com)。
完成后 Cloudflare 会在你的本地生成一个证书文件。

第四步:创建并配置一个 tunnel

1
cloudflared tunnel create pve-tunnel

记下命令输出中的 Tunnel ID(如 a9e9b0ef-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
然后创建配置文件:

1
2
mkdir -p ~/.cloudflared
nano ~/.cloudflared/config.yml

复制以下内容,替换相关内容,进行粘贴:

  • 你的Tunnel ID : 上面步骤中得到的
  • hostname : pve.123456.com (你的域名下随意二级以上域名)
  • 192.168.xx.xxx : 你的内网IP (两处都要更换)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    tunnel: <你的Tunnel ID>
    credentials-file: /root/.cloudflared/<你的Tunnel ID>.json

    ingress:
    - hostname: pve.123456.com
    service: https://192.168.xx.xxx:8006
    originServerName: 192.168.xx.xxx
    originRequest:
    noTLSVerify: true
    - service: http_status:404
  • 按:Ctrl + O → 回车保存
  • 再按:Ctrl + X → 退出 nano

第五步:将域名绑定 Tunnel

1
cloudflared tunnel route dns pve-tunnel pve.123456.com

Cloudflare 会自动添加一条 CNAME 到 Tunnel 的 DNS 记录。

第六步:启动 tunnel

1
cloudflared tunnel run pve-tunnel

此时访问:

1
https://pve.123456.com

应该可以看到 PVE 登录页面了 ✅

第七步(可选):注册为系统服务

让 tunnel 自动随系统启动:

1
cloudflared service install

这条命令会:

  • 自动生成 systemd 服务文件
  • 将隧道设置为开机自启
  • 启动服务并后台运行

调试服务命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 查看服务状态
systemctl status cloudflared

# 启动服务
systemctl start cloudflared

# 停止服务
systemctl stop cloudflared

# 重启服务
systemctl restart cloudflared

# 日志查看
journalctl -u cloudflared -f

进入资源网盘           小龙定制网盘