手把手教你怎么用 Cloudflare Tunnel 穿透 HTTPSSHTCP 服务
- 内容介绍
- 文章标签
- 相关推荐
写在前面
我回来辣!
以后应该会在 Linux DO 站上同步发我的 Blog 内容 (分享一些杂七杂八的东西,以教程为主)
本文: https://wyf9.top/p/cloudflared-advanced
知周所众
Cloudflare Tunnel 可以用来把你本地的网站映射到公网 (前提是你的域名已经添加到 Cloudflare)
那 SSH / TCP 呢? 当然可以!
但既然都是手把手教程了,我们就从头开始讲起:
安装 Cloudflared
Cloudflared 是 Cloudflare Tunnel 的客户端,必须在服务器上安装它才能穿透你的服务 (如果穿透 SSH / TCP 还得在客户端安装)
打开它的 Releases 页面,然后选择你系统的客户端
几种常见的:
- Windows:
cloudflared-windows-amd64.exe - Debian / Ubuntu:
cloudflared-linux-amd64.deb - Linux 通用:
cloudflared-linux-amd64 - Mac:
cloudflared-darwin-amd64.tgz
配置隧道
安装完成后打开 Cloudflare Zero Trust Dashboard:
Cloudflare One
Cloudflare One replaces legacy security perimeters with our global edge, making the Internet faster and safer for teams around the world.
导航到 网络 (Network) → Tunnels,点击 创建隧道
图片1920×993 223 KB
选择 Cloudflared:
图片872×320 52.8 KB
随便填一个名称,保存:
图片1570×334 81.5 KB
来到 安装并运行连接器,选择你的服务器系统,复制安装服务命令并在服务器上执行:
图片1048×780 168 KB
图片803×169 32.8 KB
安装完成后,Connectors 应该会出现你的机器,这时就可以继续了
图片1569×309 30.8 KB
穿透你的服务
HTTP 网站
如果你的服务监听 localhost:12345,想用 example.wyf9.top 访问,就可以按下面的图片配置:
图片1560×578 88.5 KB
SSH 服务
假设你的 sshd 监听 localhost:22,想用 example-ssh.wyf9.top 访问,按下面的图片配置:
图片1544×479 66.9 KB
注意不能直接用浏览器访问,需要先在客户端安装 Cloudflared,并编辑你的 SSH 配置文件
- Windows:
C:\Users\你的用户名\.ssh\config - Linux:
/home/你的用户名/.ssh/config(root 是/root/.ssh/config)
增加以下内容:
Host ALIAS
Hostname HOSTNAME
ProxyCommand cloudflared access ssh --hostname %h
User USER
将 ALIAS 替换为你连接时想要使用的别名,HOSTNAME 替换为你在上面配置的主机名,USER 替换为你在机器上的用户,保存退出
比如我的配置如下:
图片548×114 36.9 KB
配置好后,以后即可使用 ssh HOSTNAME 连接:
图片1037×295 81.2 KB
也可以去 Cloudflare Access 配置 WebSSH,但我没有绑信用卡所以不讲
TCP 服务
假设你的服务监听 localhost:9876,想用 example-tcp.wyf9.top 访问,按下图配置:
图片1526×502 72 KB
同样不能用浏览器直接访问,需要在客户端执行下面的命令打开隧道:
cloudflared access tcp --hostname example-tcp.wyf9.top --url localhost:9876
把 example.com 替换为你的主机名,localhost:9876 替换为客户端监听的地址 (可以和服务器不同)
测试服务器搭建
图片1428×577 149 KB
测试效果:
图片809×285 45.3 KB
example-tcp.wyf9.top是真实服务,可以用来测试你的 Cloudflared 能否使用
你问我为什么是 HTTP? 因为 HTTP 1/2 本质上也是 TCP 服务器,以及我一时间想不到好的 TCP 服务用来演示了
Ref
Cloudflare 官方教程:
- SSH
- RDP
- SMB
- gRPC
--【壹】--:
前排支持
--【贰】--:
不错,感谢分享
--【叁】--:
其实 Tunnel 不绑银行卡也能用
Access 必须绑,否则只能创建新应用不能查看应用列表
--【肆】--:
感谢大佬分享
--【伍】--:
Cloudflare Zero Trust 要绑银行卡
--【陆】--:
感谢佬友分享
--【柒】--:
支持一下
--【捌】--:
弄好了,说卡也还行,感谢大佬
--【玖】--:
猜猜我域名没备案怎么解决的
--【拾】--:
谢谢分享
--【拾壹】--:
感谢大佬教程,非常有用
--【拾贰】--:
我有个问题,就是我联网用路由器模式,创建不了通道,但是用桥接模式就可以,是为啥呢
--【拾叁】--:
感谢佬的分享
--【拾肆】--:
我个人建议是用 EO 或者其他的 CDN 反代下 (Host 头记得填源站的)
CF 去年年底更新了 ToS,禁止搭代理 / 优选,封号看运气 (有人被封了有人没被封)
--【拾伍】--:
免费是免费,听说网速不大行。但是又听说可以优选IP?还听说敢优选IP就封号。
--【拾陆】--:
感谢分享
--【拾柒】--:
严肃学习,每次都卡在怎么按连接器上面
--【拾捌】--:
速度确实不太行,优选过后也就那样,而且我这用着还时不时的掉线
--【拾玖】--:
感谢大佬!
写在前面
我回来辣!
以后应该会在 Linux DO 站上同步发我的 Blog 内容 (分享一些杂七杂八的东西,以教程为主)
本文: https://wyf9.top/p/cloudflared-advanced
知周所众
Cloudflare Tunnel 可以用来把你本地的网站映射到公网 (前提是你的域名已经添加到 Cloudflare)
那 SSH / TCP 呢? 当然可以!
但既然都是手把手教程了,我们就从头开始讲起:
安装 Cloudflared
Cloudflared 是 Cloudflare Tunnel 的客户端,必须在服务器上安装它才能穿透你的服务 (如果穿透 SSH / TCP 还得在客户端安装)
打开它的 Releases 页面,然后选择你系统的客户端
几种常见的:
- Windows:
cloudflared-windows-amd64.exe - Debian / Ubuntu:
cloudflared-linux-amd64.deb - Linux 通用:
cloudflared-linux-amd64 - Mac:
cloudflared-darwin-amd64.tgz
配置隧道
安装完成后打开 Cloudflare Zero Trust Dashboard:
Cloudflare One
Cloudflare One replaces legacy security perimeters with our global edge, making the Internet faster and safer for teams around the world.
导航到 网络 (Network) → Tunnels,点击 创建隧道
图片1920×993 223 KB
选择 Cloudflared:
图片872×320 52.8 KB
随便填一个名称,保存:
图片1570×334 81.5 KB
来到 安装并运行连接器,选择你的服务器系统,复制安装服务命令并在服务器上执行:
图片1048×780 168 KB
图片803×169 32.8 KB
安装完成后,Connectors 应该会出现你的机器,这时就可以继续了
图片1569×309 30.8 KB
穿透你的服务
HTTP 网站
如果你的服务监听 localhost:12345,想用 example.wyf9.top 访问,就可以按下面的图片配置:
图片1560×578 88.5 KB
SSH 服务
假设你的 sshd 监听 localhost:22,想用 example-ssh.wyf9.top 访问,按下面的图片配置:
图片1544×479 66.9 KB
注意不能直接用浏览器访问,需要先在客户端安装 Cloudflared,并编辑你的 SSH 配置文件
- Windows:
C:\Users\你的用户名\.ssh\config - Linux:
/home/你的用户名/.ssh/config(root 是/root/.ssh/config)
增加以下内容:
Host ALIAS
Hostname HOSTNAME
ProxyCommand cloudflared access ssh --hostname %h
User USER
将 ALIAS 替换为你连接时想要使用的别名,HOSTNAME 替换为你在上面配置的主机名,USER 替换为你在机器上的用户,保存退出
比如我的配置如下:
图片548×114 36.9 KB
配置好后,以后即可使用 ssh HOSTNAME 连接:
图片1037×295 81.2 KB
也可以去 Cloudflare Access 配置 WebSSH,但我没有绑信用卡所以不讲
TCP 服务
假设你的服务监听 localhost:9876,想用 example-tcp.wyf9.top 访问,按下图配置:
图片1526×502 72 KB
同样不能用浏览器直接访问,需要在客户端执行下面的命令打开隧道:
cloudflared access tcp --hostname example-tcp.wyf9.top --url localhost:9876
把 example.com 替换为你的主机名,localhost:9876 替换为客户端监听的地址 (可以和服务器不同)
测试服务器搭建
图片1428×577 149 KB
测试效果:
图片809×285 45.3 KB
example-tcp.wyf9.top是真实服务,可以用来测试你的 Cloudflared 能否使用
你问我为什么是 HTTP? 因为 HTTP 1/2 本质上也是 TCP 服务器,以及我一时间想不到好的 TCP 服务用来演示了
Ref
Cloudflare 官方教程:
- SSH
- RDP
- SMB
- gRPC
--【壹】--:
前排支持
--【贰】--:
不错,感谢分享
--【叁】--:
其实 Tunnel 不绑银行卡也能用
Access 必须绑,否则只能创建新应用不能查看应用列表
--【肆】--:
感谢大佬分享
--【伍】--:
Cloudflare Zero Trust 要绑银行卡
--【陆】--:
感谢佬友分享
--【柒】--:
支持一下
--【捌】--:
弄好了,说卡也还行,感谢大佬
--【玖】--:
猜猜我域名没备案怎么解决的
--【拾】--:
谢谢分享
--【拾壹】--:
感谢大佬教程,非常有用
--【拾贰】--:
我有个问题,就是我联网用路由器模式,创建不了通道,但是用桥接模式就可以,是为啥呢
--【拾叁】--:
感谢佬的分享
--【拾肆】--:
我个人建议是用 EO 或者其他的 CDN 反代下 (Host 头记得填源站的)
CF 去年年底更新了 ToS,禁止搭代理 / 优选,封号看运气 (有人被封了有人没被封)
--【拾伍】--:
免费是免费,听说网速不大行。但是又听说可以优选IP?还听说敢优选IP就封号。
--【拾陆】--:
感谢分享
--【拾柒】--:
严肃学习,每次都卡在怎么按连接器上面
--【拾捌】--:
速度确实不太行,优选过后也就那样,而且我这用着还时不时的掉线
--【拾玖】--:
感谢大佬!

