手把手教你怎么用 Cloudflare Tunnel 穿透 HTTP / SSH / TCP 服务

wyf9 2025-10-26 11:44 1

写在前面


我回来辣!


以后应该会在 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:




导航到 网络 (Network) → Tunnels,点击 创建隧道



选择 Cloudflared:



随便填一个名称,保存:



来到 安装并运行连接器,选择你的服务器系统,复制安装服务命令并在服务器上执行:




安装完成后,Connectors 应该会出现你的机器,这时就可以继续了



穿透你的服务


HTTP 网站


如果你的服务监听 localhost:12345,想用 example.wyf9.top 访问,就可以按下面的图片配置:



SSH 服务


假设你的 sshd 监听 localhost:22,想用 example-ssh.wyf9.top 访问,按下面的图片配置:



注意不能直接用浏览器访问,需要先在客户端安装 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 替换为你在机器上的用户,保存退出



比如我的配置如下:




配置好后,以后即可使用 ssh HOSTNAME 连接:




也可以去 Cloudflare Access 配置 WebSSH,但我没有绑信用卡所以不讲



TCP 服务


假设你的服务监听 localhost:9876,想用 example-tcp.wyf9.top 访问,按下图配置:



同样不能用浏览器直接访问,需要在客户端执行下面的命令打开隧道:


cloudflared access tcp --hostname example-tcp.wyf9.top --url localhost:9876

example.com 替换为你的主机名,localhost:9876 替换为客户端监听的地址 (可以和服务器不同)



测试服务器搭建



测试效果:




example-tcp.wyf9.top 是真实服务,可以用来测试你的 Cloudflared 能否使用


你问我为什么是 HTTP? 因为 HTTP 1/2 本质上也是 TCP 服务器,以及我一时间想不到好的 TCP 服务用来演示了



Ref


Cloudflare 官方教程:



  • SSH

  • RDP

  • SMB

  • gRPC

最新回复 (19)
  • delicateyjy 10-26 11:45
    1

    前排支持

  • Grogu 10-26 11:49
    2

    感谢佬友分享 ^-^

  • Sam Altman 10-26 11:51
    3

    猜猜我域名没备案怎么解决的

  • GPT 10-26 11:53
    4

    Cloudflare Zero Trust 要绑银行卡 ^-^

  • wyf9 楼主 10-26 11:54
    5

    其实 Tunnel 不绑银行卡也能用

    Access 必须绑,否则只能创建新应用不能查看应用列表

  • Abo 10-26 11:54
    6

    感谢分享

  • 大帅哥 10-26 12:11
    7

    感谢大佬!

  • zzzqq 10-26 12:27
    8

    感谢佬的分享

  • 南山 10-26 13:08
    9

    感谢大佬教程,非常有用

  • heglin 10-26 14:45
    10

    免费是免费,听说网速不大行。但是又听说可以优选IP?还听说敢优选IP就封号。

  • wyf9 楼主 10-26 14:47
    11

    我个人建议是用 EO 或者其他的 CDN 反代下 (Host 头记得填源站的)

    CF 去年年底更新了 ToS,禁止搭代理 / 优选,封号看运气 (有人被封了有人没被封)

  • Chaosm 10-26 17:38
    13

    速度确实不太行,优选过后也就那样,而且我这用着还时不时的掉线

  • theroc 10-26 23:26
    14

    不错,感谢分享

  • 狮子 红 10-27 00:44
    15

    支持一下

  • 南山 11-01 10:17
    16

    弄好了,说卡也还行,感谢大佬

  • 不系舟 11-01 10:22
    17

    我有个问题,就是我联网用路由器模式,创建不了通道,但是用桥接模式就可以,是为啥呢

  • 时光机 11-01 12:34
    18

    感谢大佬分享

  • 🍏네로🍎 11-01 12:41
    19

    谢谢分享 ^-^

  • 【失业客服喵】 11-01 13:10
    20

    严肃学习,每次都卡在怎么按连接器上面

* 帖子来源Linux.do
返回