一、准备工作
- CloudFlare账号CloudFlare官网
- 一个可用的域名,域名的DNS服务器是可以修改的
域名须是CF认可的顶级域名,如com,cn,top,tk,ml,eu.org等
注意:注册CloudFlare时需要做好邮箱认证,邮箱未认证会导致无法给设备授权,设备获取授权时报1211错误
二、CloudFlare添加域名
-
登录CloudFlare账号
-
添加站点获取DNS服务器
【添加站点】=-=>【Free】=-=>【继续】=-=>【继续】=-=> 【确认】=-=> 将 CloudFlare 提供的两个DNS服务器地址【复制】保存出来,修改域名的DNS服务器时会用到



-
修改域名的DNS服务器
此处以腾讯云为例,等eu.org域名审批好后会增加eu.org例子
登录腾讯云并打开我的域名 =-=> 【更多】=-=> 【修改 DNS 服务器】=-=>【自定义 DNS】=-=> 删除自带的DNS服务器地址 =-=> 将CloudFlare提供的两个DNS服务器地址添加进去 =-=> 【提交】


三、设备部署CloudFlare
官方各种安装CloudFlare方式:https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/#linux
本文使用的是“Debian Bullseye”
-
添加cloudflare gpg密钥
sudo mkdir -p --mode=0755 /usr/share/keyrings curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg >/dev/null -
将此repo添加到apt库中
echo 'deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared bullseye main' | sudo tee /etc/apt/sources.list.d/cloudflared.list -
安装cloudflare
sudo apt-get update && sudo apt-get install cloudflared -
获取登录地址并授权
cloudflared login把shh页面的网址复制到浏览器打开并登录,选择要用的域名,点击【授权】


-
创建隧道
cloudflared tunnel create 隧道名
隧道名可以是英文,数字
隧道 ID 记下来,下一步需要使用cloudflared tunnel create xxx
-
创建配置存放目录
mkdir -p /etc/cloudflared/ -
编辑配置文件
vim /etc/cloudflared/config.ymltunnel: 隧道id
credentials-file: /root/.cloudflared/隧道id.json
要增加映射端口就需要增加下面两条
- hostname: 登录用的域名
service: http://127.0.0.1:端口(不加端口则默认为80)tunnel: 20103e62-c497-458b-9942-5b31e222187f credentials-file: /root/.cloudflared/20103e62-c497-458b-9942-5b31e222187f.json ingress: - hostname: blog.moyuan.asia service: http://127.0.0.1 - hostname: docker.moyuan.asia service: http://127.0.0.1:8081 - service: http_status:404若是忘记隧道 ID 可使用以下命令查看已创建的隧道
cloudflared tunnel list
-
给隧道分配域名
cloudflared tunnel route dns 隧道名 配置文件里的域名cloudflared tunnel route dns xxx blog.moyuan.asia cloudflared tunnel route dns xxx docker.moyuan.asia
如果出现提示,需进入CloudFlare对应域名的DNS中,检查DNS记录里对应名称的内容是否与隧道ID一致,不一致则需要删除,再运行分配域名命令


-
安装cloudflare.service服务
cloudflared service install
-
设置自启动
systemctl enable cloudflared -
查看信息(可选)
systemctl status cloudflared