以 Docker 为例

场景 1
实现 A 机器的 3000 端口映射到 B 机器的 3001 服务,要求两台机器使用隧道连接而不是端口转发。隧道协议为 relay,传输类型为 mwss

链路为 A:3000 -> B:3000 -> B:3001

客户端 A
version: '3.8'
services:
gost:

image: ginuerzh/gost:latest
container_name: gost
restart: always
network_mode: "host"
command: "-L udp://:3000 -L tcp://:3000 -F relay+mwss://服务端IP地址:3000?nodelay=true"

服务端 B
version: '3.8'
services:
gost:

image: ginuerzh/gost:latest
container_name: gost
restart: always
network_mode: "host"
command: "-L relay+mwss://:3000/:3001"

场景 2
在 A 机器的 3000 端口开启带用户认证的 Socks5 服务,由 B 机器作为 Socks5 服务的流量出口。两台机器的隧道也添加用户认证。

客户端 A
version: '3.8'
services:
gost:

image: ginuerzh/gost:latest
container_name: gost
restart: always
network_mode: "host"
command: "-L socks5://S5用户名:S5密码@:3000 -F relay+mwss://隧道用户名:隧道密码@服务端IP:3000?nodelay=true"

服务端 B
version: '3.8'
services:
gost-s5:

image: ginuerzh/gost:latest
container_name: gost-s5
restart: always
network_mode: "host"
command: "-L relay+mwss://隧道用户名:隧道密码@:3000"
最后修改:2024 年 03 月 07 日
如果觉得我的文章对你有用,请随意赞赏