Centos 7.9安装cloudflared

前提条件
1.一个托管于Cloudflare的域名,相关教程看这里创建 Cloudflare 帐户并添加网站
2.一台本地Linux Web机器,即内网穿透的对象,端口号建议85
3.正常网络连接
4.Cloudflare官方网站:https://www.cloudflare.com/zh-tw/
5.免费域名申请网站:https://my.freenom.com/clientarea.php
6.Centos7.9下载地址:http://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso
1、Centos 7.9安装cloudflared
首先进入root账户,能够获取root权限安装
# 配置yum-utils
yum install yum-utils
# 添加 cloudflared.repo 到 config-manager
yum-config-manager --add-repo https://pkg.cloudflare.com/cloudflared-ascii.repo
# 安装 cloudflared
yum install cloudflared

PS:其它平台安装包下载地址以及官方安装说明文档
https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/installation/
https://pkg.cloudflare.com/index.html#centos-7

2、登录 Cloudflared
cloudflared tunnel login
# 这时会弹出来一个URL,用浏览器打开,登录成功后关闭浏览器,再次打开URL,这时候会出现授权页面,然后选择你想用来做内网穿透的域名授权即可。
# 成功后会生成证书,放置于~/cloudflared/cert.pem中。

3、建立隧道
# 名字可以随意起
cloudflared tunnel create <隧道名称>

例子:cloudflared tunnel create test
# 成功后会提示,相关凭证已放置于~/.cloudflared/<Tunnel-UUID>.json中。
cloudflared tunnel list

# 验证隧道是否建立成功,同时复制隧道ID

4、新建 Tunnel 对应的 DNS 记录
Service    Description    Example service value
HTTP/S    常规网页服务    https://localhost:80
TCP    TCP连接    tcp://localhost:2222
SSH    SSH 连接    ssh://localhost:22
RDP    RDP 远程桌面    rdp://localhost:3389

# <域名>填你想用来做内网穿透的域名
cloudflared tunnel route dns <隧道名称> <域名>

例子:cloudflared tunnel route dns test cloudfreed.tk
# 成功后会创建CNAME记录将域名指向隧道,回到Cloudflare网站,点击域名,点击左边的DNS,能看到出现一条新的CNAME的DNS记录,此时证明解析成功。

 

 

5、新建配置文件
nano ~/.cloudflared/config.yml
#写入以下配置
tunnel: <隧道ID>
credentials-file: /root/.cloudflared/<隧道ID>.json
protocol: http2
originRequest:
 connectTimeout: 30s
 noTLSVerify: false
ingress:
 - hostname: <域名>
   service: http://localhost:85
 - service: http_status:404
6、启动Cloudflared并且让 Cloudflared自启动
#修改systemd文件

nano /etc/systemd/system/cloudflared.service

#写入以下内容

[Unit]
Description=cloudflared
After=network.target

[Service]
TimeoutStartSec=0
Type=notify
ExecStart=/usr/bin/cloudflared --loglevel debug --transport-loglevel warn --config /root/.cloudflared/config.yml tunnel run <隧道名称>
Restart=on-failure
RestartSec=5s

[Install]
WantedBy=multi-user.target

#启动 Cloudflared

systemctl enable cloudflared --now

7、测试穿透是否成功
等待一两分钟,然后尝试访问域名,如可正常显示则成功。

 


社长
结果很重要,但更在于过程!
公告

最新评论

加载中...