赛博佛祖内网穿透踩坑备忘

这几年赛博佛祖越来越火,于是决定把vps上frp的方案替换成tunnel方案,并决定用docker部署客户端,踩坑步骤记录如下:

1,设置 https://one.dash.cloudflare.com/ -> networks -> tunnels 步骤较简单,按提示操作即可;

2,踩坑步骤之一:Openwrt上新建docker目录并设置权限,不然会导致生成的cert.pem没有权限写入本地。这里需要额外说明的是 cloudflare/cloudflared 官方镜像不带sh且默认用户是nonroot,查询这个用户UID花了点时间。

1
2
3
mkdir -p /mnt/mmcblk2p4/cloudflared/config/
chown -R 65532:65532 /mnt/mmcblk2p4/cloudflared/
chmod -R 777 /mnt/mmcblk2p4/cloudflared/

3,登录并生成客户端证书

1
docker run --rm -v /mnt/mmcblk2p4/cloudflared/config/:/home/nonroot/.cloudflared/ cloudflare/cloudflared:2024.1.5 tunnel login

以上步骤完成后会生成 /mnt/mmcblk2p4/cloudflared/config/cert.pem 证书

4,踩坑步骤之二:运行cloudflared容器,这里最大的坑在于,一定需要将官方的cloudflare/cloudflared:lastet改成cloudflare/cloudflared:2024.1.5这个版本,不然会报错

1
docker run --name tunnel -d --restart always -v /mnt/mmcblk2p4/cloudflared/config/:/home/nonroot/.cloudflared/ cloudflare/cloudflared:2024.1.5 tunnel --no-autoupdate --protocol http2 run --token XXXX

5,简单验证

1
docker run --name tunnel -d --restart always -v /mnt/mmcblk2p4/cloudflared/config/:/home/nonroot/.cloudflared/ cloudflare/cloudflared:2024.1.5 tunnel --no-autoupdate --protocol http2 run --token XXXX

接下来就是访问自己的域名CNAME,看看能不能打开内网openwrt网址了。不得不说这个方案比frp简单且好用。

6,额外步骤就是关闭Openwrt上的frp服务,路径是http://XXXX/cgi-bin/luci/admin/services/frp

完毕!


赛博佛祖内网穿透踩坑备忘
https://ajasonwang.github.io/2024/08/17/cloudflare-tunnel/
作者
Wang Jia
发布于
2024年8月17日
许可协议