route1337.manage_cloudflared

Ansible 角色 - 管理 cloudflared

这个仓库包含了用于配置 cloudflared 服务器的 Ansible 角色,支持 WARP 模式或入口模式。

这个角色的功能

这个 Ansible 角色可以让你在 Ubuntu 20.04+ 服务器上配置 cloudflared,支持 WARP 隧道模式或入口模式。

  1. 通过软件包仓库下载并安装 cloudflared
  2. 配置 cloudflared
    1. 设置 cloudflared 为服务启动
    2. 启动 cloudflared

变量

需要提供隧道配置文件,因为出于安全原因,这个角色故意不包含身份验证和隧道创建功能。

以下变量是必需的:

  1. manage_cloudflared.warp - 使用 WARP 隧道而不是入口(默认: false
    manage_cloudflared.warp: true
    manage_cloudflared.tunnel_uuid: "a1b234c5-de67-89f0-g123-4hi5jk678l90"
    manage_cloudflared.account_tag: "1234567abcdefg890123hijklom45678"
    manage_cloudflared.tunnel_secret: "YmFkc2VjcmV0Cg=="
    manage_cloudflared.tunnel_name: "internal_warp"
    
  2. 使用 manage_cloudflared.console_token 方法或本地配置方法
    console_token: "隧道令牌的 BASE64 字符串"
    
    或者
    manage_cloudflared.tunnel_uuid: "a1b234c5-de67-89f0-g123-4hi5jk678l90"
    manage_cloudflared.account_tag: "1234567abcdefg890123hijklom45678"
    manage_cloudflared.tunnel_secret: "YmFkc2VjcmV0Cg=="
    manage_cloudflared.tunnel_name: "internal_websites"
    manage_cloudflared.ingresses:
       - hostname: statuspage.externaldomain.com
         service: "https://10.1.2.3:443"
         dont_verify_ssl: true
         host_header: "status.internaldomain.com"
       - hostname: timeclock.externaldomain.com
         service: "https://timeclock.internaldomain.net:443"
       - hostname: timeclock.externaldomain.com
         service: "https://timeclock.internaldomain.net:443"
    

ZTA 管理的隧道

如果你使用 manage_cloudflared.console_token,则不需要指定其他变量,因为零信任控制台会管理其他所有内容。

另外,请注意,在配置文件管理和 ZTA 管理的隧道之间迁移将无法正常工作,因为服务安装测试只检查服务是否存在,因此在安装一个之前安装另一个不会删除旧的服务。你必须先手动删除旧服务。

测试

由于这个角色配置的服务特性,所有测试都是手动进行的。
TESTING.md 包含测试的详细信息和说明。

支持这个 Ansible 角色的捐赠

Route 1337 LLC 的开源代码高度依赖于捐赠。如果你觉得这个 Ansible 角色有用,请考虑使用 GitHub Sponsors 按钮来表达你的持续支持。

感谢你的支持!

关于项目

Deploy and configure cloudflared using pre-created tunnel credentials

安装
ansible-galaxy install route1337.manage_cloudflared
许可证
mit
下载
147
拥有者
Modern InfoSec, Zero Trust, and DevOps consulting for Web2 and Web3 clients.