MENU

#教程#树莓派/群晖/NAS使用内网穿透做服务器/Cloudflare tunnel怎么使用

December 7, 2022 • Read: 1136 • 网络笔记

好早之前也用过一个内网穿透工具,但由于网站关闭状态也没有记录,所以最后不了了之,再加上大部分内网穿透工具都不是免费的,所以不管是折腾上还是其他方面不如cloudflare免费的好,唯一的缺点大概就是访问并不会很快,毕竟利用的是cloudflare的边缘网络。好处就是目前还是纯免费。看了网上很多教程,都不尽如人意,自己找了一篇英文原档敲起键盘。

此处所用镜像为树莓派镜像,如果你是ubuntu或者其他镜像源。可参考官网

https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-guide/local/#arch-linux

开始

大部分网上教程直接让你在github上下载二进制文件,考虑到大陆对github已经全面封杀,再加上树莓派这种Linux板大部分人对于网络代理这一块还是懵逼,这里直接在源上安装。

以下命令均运行于root账户,如不是root账户下操作请自行在每条命令行前添加sudo

更新源

apt update
apt upgrade

安装必备包

apt install curl lsb-release

添加库

curl -L https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-archive-keyring.gpg >/dev/null

保存密钥

echo "deb [signed-by=/usr/share/keyrings/cloudflare-archive-keyring.gpg] https://pkg.cloudflare.com/cloudflared $(lsb_release -cs) main" | sudo tee  /etc/apt/sources.list.d/cloudflared.list

更新缓存

apt update

安装软件包

apt install cloudflared

使用

登陆

cloudflared tunnel login

你将得到大概如下信息


https://dash.cloudflare.com/argotunnel?callback=https%3A%2F%2Flogin.cloudflareaccess.org%2FXXXXXXXXXX

Leave cloudflared running to download the cert automatically.

复制第二行https://开头的链接打开浏览器登录账户

大致会得到如下登陆信息

You have successfully logged in.
If you wish to copy your credentials to a server, they have been saved to:
/home/pi/.cloudflared/cert.pem

创建隧道

cloudflared tunnel create name(这个名字你自己能记住就行)

输入命令后会得到如下信息


Created tunnel pimytunnel with id XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

记得保存下

链接域名

cloudflared tunnel route dns name(上一步命令中提到的名字) DOMAINNAME(此处更换成你的域名,可以是二级域名,域名不必解析,但是一定要托管在cloudflare)

如上述命令正常将大概得到如下反馈

通过隧道转发端口

cloudflared tunnel run --url localhost:PORT(PORT更换成转发断口) name(更换成你记得的名字)

写进系统常驻

上门的操作只是为了让你确认隧道可行性,如果可行即可写入开机自启。

vi ~/.cloudflared/config.yml

配置如例

credentials-file: /home/[USERNAME]/.cloudflared/[UUID].json

ingress:
    - hostname: [HOSTNAME]
      service: [PROTOCOL]://localhost:[PORT]
    - service: http_status:404

安装服务

cloudflared --config ~/.cloudflared/config.yml service install

启动在线

systemctl enable cloudflared
systemctl start cloudflared
Archives QR Code Tip
QR Code for this page
Tipping QR Code