cloudflared零信任隧道重新部署

Sep 5, 2023 · 3 mins read

本次安装环境

  • debian 11 arm64
  • 使用过旧的应用以配置界面的安装方式使用过

两种安装方式

两种安装方式互相不完全兼容

  1. 通过包管理器安装

    echo 'deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared bullseye main' | sudo tee /etc/apt/sources.list.d/cloudflared.list
    
    sudo apt-get update
    
    sudo apt-get install cloudflared
    
    sudo aptitude install cloudflared
    
  2. 通过dpkg安装

    curl -L --output cloudflared.deb https://ghproxy.com/https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64.deb && 
    
    sudo dpkg -i cloudflared.deb 
    
    sudo cloudflared service install [token]
    

使用方法

两种使用方式

  1. 本地控制

    只能在本机控制,可以使用平台,在隧道运行时转换为远程控制,但是过程不可逆

  2. 远程控制

    目前本篇正在使用的方法,较为简单。先本地创建再在控制页面中转为远程控制。

解决重装和卸载的问题

如果以下命令没有报错

sudo apt-get remove cloudflared

sudo apt-get purge cloudflared

有一种报错尝试使用以下命令后重试

sudo rm /var/lib/dpkg/info/cloudflared.*

用户登录验证

cloudflared login 

这一步骤将会在目标用户的.cloudflared文件夹下创建 cert.pem 用于tunnel create等命令

创建新的隧道

cloudflared tunnel create

这一步骤将会在目标用户的.cloudflared文件夹下创建隧道的配置文件 xxx-xxx-xxx-xxx(uid).json用于 tunnel run等命令

重写cloudflared.service

 sudo nano /etc/systemd/system/cloudflared.service
 
 [Unit]
Description=cloudflared
After=network.target

[Service]
TimeoutStartSec=0
Type=notify
ExecStart=/usr/bin/cloudflared tunnel run [隧道名/隧道uid]
Restart=on-failure
RestartSec=5s
User=[这里是指定的用户名]

[Install]
WantedBy=multi-user.target

注意

不建议使用root 用户,运行命令的用户下应该要有对应的配置文件

参考链接

Sharing is caring!