Cloudflare Tunnel内网穿透
背景:
ngrok免费版无固定域名;
小米球需要实名认证;
钉钉pierced项目失效;
优缺点:
免费且不需要服务器
暂时不支持UDP协议
前提条件:
一个托管于Cloudflare的域名
一个本地Linux Web服务器,即内网穿透的对象
正常网络连接
#安装Cloudflared
git项目地址
https://github.com/cloudflare/cloudflared
下载对应的系统版本的安装包(本地:cloudflared-linux-x86_64.rpm)
安装命令
1 | cd /opt |
登录 Cloudflared
cloudflared tunnel login
这时会弹出来一个URL,用浏览器打开,登录认证,然后选择你想用来做内网穿透的域名即可。
成功后会生成证书,放置于 ~/.cloudflared/cert.pem 中。
注:如果该目录下文件不存在,重复几次;
Tunnel配置
新建Tunnel
名字可以随意起:
cloudflared tunnel create <Tunnel-NAME>
成功后会提示,相关凭证已放置于 ~/.cloudflared/<Tunnel-UUID>.json 中。
新建 Tunnel 对应的 DNS 记录
cloudflared tunnel route dns <Tunnel-NAME> <SUBDOMAIN>
成功后会创建CNAME记录将域名指向隧道。
新建配置文件
vi ~/.cloudflared/config.yml
写入以下配置:
1 | tunnel: <Tunnel-UUID> |
注:
2022.4.20 更新:经测试,http2与h2mux均可正常建立连接,只有quic无法建立连接。
由于国内环境关系,无法使用默认的quic建立隧道,因此需指定http2,http://localhost:80为本地服务的地址。
启动Cloudflared
命令行启动
1 | cloudflared tunnel --loglevel debug --transport-loglevel warn --config /root/.cloudflared/config.yml run <Tunnel-NAME> |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Tangor小屋!
评论

