VPS常用命令
新装VPS必用命令
root用户密码登录
root用户密钥登录
VPS重装系统脚本
Oracle DD系统后获取ipv6地址
V2ray安装
x-ui安装
PVE实用命令
speedtest-cli
OpenWrt接口配置示例
利用Cloudflare Tunnel实现内网穿透
ubuntu通过netplan设置静态ip
PVE温度显示以及去除弹窗脚本
Caddy示例配置文件
hysteria2的搭建与使用
Clash Meta配置模板
VPS流量监控脚本
rclone完全备份脚本
Oracle Cloud安装Alpine Linux
Caddy-dns的配置与使用
sing-box安装与配置
通过 CF Warp 为 IPv4/6 Only VPS 添加 IPv6/4 支持
流量转发脚本
ssh配置文件
rsync传输文件
阿里云盘CLi安装
Linux 设置IPv4优先
流量监控脚本
Openwrt中使用ddns-go加Caddy实现域名访问
NAT VPS 使用 Caddy 为内部服务提供 HTTPS 访问
Docker 多平台镜像构建与推送教程(arm64 主机示例)
本文档使用 MrDoc 发布
-
+
首页
利用Cloudflare Tunnel实现内网穿透
通过Cloudflare Tunnel,可以实现云与设备之间打通一条加密通道,这样Cloudflare的CDN就可以很方便的通过这条加密通道访问到部署在内网的服务,包括Web、SSH等。同时,还不用考虑电信、移动等ISP不提供固定IP地址、不能开放端口,甚至解决备案的问题。而且,还免费。 ### 安装Cloudflared ubuntu可以通过命令行安装 ```bash wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb && dpkg -i cloudflared-linux-amd64.deb ``` 注意:VPS需开放TCP/UDP 7844 端口 ### 登陆Cloudflared获取授权 ```bash cloudflared tunnel login ``` 输入命令后,终端会给出一个登陆地址,我们拷贝到浏览器里面打开,选择需要授权的站点。授权完成后会在工作目录下创建`.cloudflared`文件夹用以存放相应文件,之后的命令需进入此文件夹执行。 >注意:授权一次只能选择一个站点。如果存在多个不同域名的网站,请授权完成后不要关闭网页,点击第二个、第三个要授权的域名,进行多次授权。 ### 创建隧道 授权完以后,我们需要创建隧道。一般建议一台服务器创建一个隧道。 ```bash cloudflared tunnel create tunnel1 ``` `tunnel1`是隧道的名称,可以随意更改。创建完后会输出隧道的uuid。利用`cloudflared tunnel list`查看所有隧道的名称和uuid。 ### 域名指向 ```bash cloudflared tunnel route dns tunnel1 www.abc.com ``` 这时候,Cloudflare会自动添加一条CNAME记录到对应的域名,可在Cloudflare网页控制台中查看到。 ### 配置Cloudflared 接着,我们开始配置Cloudflared,先编辑一个配置文件 ```bash vim ~/.cloudflared/config.yml ``` 输入下面的内容(根据自己要求编辑) ```bash tunnel: e3acf9b9-xxxx-xxxx-xxxx-ff7de883538a #uuid credentials-file: /root/.cloudflared/e3acf9b9-3d00-4533-a99c-ff7de883538a.json ingress: # http服务 - hostname: www.abc.com service: http://10.0.0.167:11062 # https协议,连接到内网443端口,禁用证书校验(用于自签名SSL证书) - hostname: <域名2.com> service: https://127.0.0.1:443 originRequest: noTLSVerify: true originServerName: <域名2.com> # 反代SSH服务 - hostname: <ssh.域名.com> service: ssh://localhost:22 # 如果都没有匹配,则返回404,这句不能少 - service: http_status:404 ``` 测试下配置文件有没有问题 ```bash cloudflared tunnel ingress validate ``` 测试下规则是否命中 ```bash cloudflared tunnel ingress rule https://<域名1.com> ``` ### 测试运行 一切妥当,我们开始测试 ```bash cloudflared --loglevel debug --transport-loglevel warn --config ~/.cloudflared/config.yml tunnel run <隧道UUID> ``` 终端会输出一大堆log,但没有红色报错,那就没问题。如果相应服务配置正确,此时可以通过域名访问对应的服务。 ### 创建系统服务 按下Ctrl+z,先停掉刚才启动的服务。为了让服务能每次系统启动的时候都跟着启动,我们需要把Cloudflared注册成系统服务。 ```bash cloudflared service install systemctl start cloudflared systemctl status cloudflared systemctl restart cloudflared systemctl enable cloudflared ``` >注意:创建系统服务后,配置文件会被拷贝到`/etc/cloudflared/config.yml`,后续修改配置必须修改新文件 教程可能失效,随时访问[官方文档](https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/ "官方文档")寻求帮助
koalalove
2024年4月12日 16:18
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码