Cloudflare Tunnel 是一种将内网IP地址链接到CloudFlare安全的方式 使用隧道传输数据 无需外网IP
可以将HTTP WEB服务器 SSH服务器 远程桌面 或者其他协议连接Cloudflare 由它提供流量 免受攻击
CloudFlred 是一个基于GO语言编写的隧道守护程序 将本地端口转发到Cloudflare网络
经常忘记操作 记个笔记
开始之前
你需要将你的域名添加到且域名服务器更改为CloudFlare
安装CloudFlared
此项目在gayhub上开源 且提供多种系统环境支持
Linux端(centos)
下载rmp安装包 地址
.
wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-x86_64.rpm chmod 777 -R cloudflared-linux-x86_64.rpm //赋予安装包执行权限 yum localinstall cloudflared-linux-x86_64.rpm //使用yum本地安装软件包
身份验证
在Cloudflared进行身份验证 以便连接到Cloudflare网络 也可以匿名使用 可临时创建子域
账户认证
键入以下命令
cloudflared tunnel login //在客户端验证 会打开浏览器登陆账户认证
成功后会回显证书存放路径
匿名使用
cloudflared tunnel //匿名使用 端口默认代理8080 cloudflared tunnel --url localhost:7000 //也可以--url标志指定端口
匿名会提供一个基于 trycloudflare.com 的临时子域 并输出在控制台
创建隧道
要创建隧道,请运行以下命令:
cloudflared tunnel create <NAME> cloudflared tunnel list //列出所有隧道 cloudflared tunnel delete <NAME> //删除一个隧道 cloudflared tunnel delete <NAME> -f //运行中的隧道 -f强制删除 cloudflared tunnel run <name> (<UUID>) //启动隧道 cloudflared tunnel run <UUID> //没有cert.pem启动隧道
可以替换为任意名称 或字符串 和主机名称不想关
<NAME>
可以删除cert.pem规避被修改隧道
转发流量
现在,可以决定如何将流量发送到此持久隧道。如果要在Cloudflare仪表板中创建长期DNS记录,则可以将其指向格式为“隧道UUID”子域的记录UUID.cfargotunnel.
也可以在“Cloudflare负载平衡器”面板中执行相同的操作,将该对象添加到负载平衡池中,在该池中,该对象将仅被视为一个其他来源。
也能用cloudflared命令创建DNS记录: cloudflared tunnel route dns <name> <hostname> cloudflared tunnel route dns <UUID> <hostname> 将DNS记录与隧道地址相关联。 重新启动该cloudflared实例后,无需重新创建名称,UUID和DNS记录,隧道就可以正常工作了。