目录
cloudflare实现内网穿透
/    

cloudflare实现内网穿透

Clouflared

文档: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/configure-tunnels/local-management/configuration-file/

安装

https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/update-cloudflared/

这里是macos,直接使用brew安装

brew install cloudflared

内网穿透

  • 登录

    cloudflared login
    
  • 创建tunnel

    cloudflared tunnel create emby
    

    创建完成后,会在用户目录(用户目录/.cloudflared/)生成xxxx.json,这个xxx就是tunnel-id

  • 编写配置文件

    在目录 用户目录/.cloudflared 创建 config.yml, 示例内容如下:

    tunnel: xxxx
    credentials-file: /Users/gitsilence/.cloudflared/xxxx.json
    protocol: http2
    
    ingress:
      - hostname: emby.xxx.cn
        service: http://localhost:8096
    
      - hostname: ssh.xxx.cn
        service: tcp://192.168.0.1:22
        originRequest:
          disableChunkedEncoding: false
          noTLSVerify: false
    
      - service: http_status:404
    

    这里实现了两个端口穿透,第一个是本地http 8096端口,第二个是ssh端口,tcp的协议

  • 添加route

    cloudflared tunnel route dns emby emby.xxx.cn
    
    cloudflared tunnel route dns emby ssh.xxx.cn
    

    这里的emby为前面创建tunnel的名字,emby.xxx.cn为我们自己的域名,如果cloudflare上已经添加了解析,先删掉再执行。

  • 启动tunnel

    cloudflared tunnel run emby
    

    启动成功之后,就可以访问:https://emby.xxx.cn

    ssh了话需要改下本地的配置,文件为:用户目录/.ssh/config

    Host ssh.xxx.cn
    ProxyCommand /opt/homebrew/bin/cloudflared access ssh --hostname %h
    

    配置之后,就可以进行ssh了

    ssh root@ssh.xxx.cn
    

标题:cloudflare实现内网穿透
作者:gitsilence
地址:https://blog.lacknb.cn/articles/2025/01/07/1736239038987.html