[教程]利用Cloudflare搭建隧道并提供端口转发 1

0 前言

都散了吧,需要两台有公网的鸡鸡,只有一台落地服务鸡有公网IP的话,就不太方便,中转也几乎只能部署在局域网内。
场景复现:我有两台公网鸡鸡,其中A鸡当中转鸡,B鸡当落地服务鸡,但A和B鸡之间线路不太好。
那就会有人说了,直接在A鸡用Cloudflare访问B鸡不好咩?

那如果B鸡的服务不在Cloudflare的标准端口咋办?

又或者是我中转鸡鸡只有IPV4,落地鸡鸡只有IPV6,而我中转鸡鸡又不想套HE和做frp,落地鸡鸡又不想套warp连接中转鸡鸡的frp。

Cloudflare支持的 HTTP 端口为:
80
8080
8880
2052
2082
2086
2095
Cloudflare 支持的 HTTPs 端口为:
443
2053
2083
2087
2096
8443

所以我们今天就来解决这个问题。

1 原理

既然Cloudflare支持ws回源,那其实就可以搭建一个基于ws的隧道,进行端口转发。

2 准备

gostV3
gostV2
其实用哪个都没问题。我用v3的做服务端,v2的做转发端吧。
cloudflare把落地服务鸡给挂上小云朵,以及申请了证书,并且
公钥文件重命名为CDNcert.pem
私钥文件重命名为CDNkey.pem

3 开干

配置落地服务端gostV3,写一份config.yaml

services:
- name: relay wss
  addr: ":2083"
  handler:
    type: relay
    auth:
      username: user
      password: passwd
  listener:
    type: wss
    tls:
      certFile: CDNcert.pem
      keyFile: CDNkey.pem

当然2083端口可以自己改,但要在cloudflare的端口里面选,运行落地服务端的gostV3

./gostV3 -C config.yaml

中转端的gostV2配置config.json

{
    "Debug": false,
    "Retries": 0,
    "ServeNodes": [
        "tcp://:222/127.0.0.1:22"
    ],
    "ChainNodes": [
        "relay wss://user:passwd@cloudflare代理后的域名:2083"
    ]
}

222的端口是中转端访问的端口,127.0.0.1:22是落地端的服务,其中会经过Cloudflare进行回源落地服务端,这样访问中转端的222端口就会转发到落地服务端的22端口。当然这只是举个例子,各位有啥邪恶(bushi好玩的玩法可以自己尝试。

启动中转端的gostV2

./gostV2 -C config.json

4 总结

使用Cloudflare搭建Gost Relay wss隧道,并进行端口转发。

5 感谢

gostV3
gostV2

点赞
  1. mimeihappy说道:

    厉害啊

  2. 练习生说道:

    感谢

  3. Netsky说道:

    解决了家宽建站的问题,速度咋样呢

回复 练习生 取消回复

电子邮件地址不会被公开。必填项已用 * 标注

×
订阅图标按钮