- Jul 4, 2019
- usage

# TCP代理

### 工作原理

tcp代理，也称为tcp端口转发，工作原理就是，把proxy监听端口进来的tcp连接的数据原样转发到上级监听的一个端口。

上级可以是proxy的tcp代理也可以是具体的第三方服务，如果上级是tcp代理，那么就组成了转发链。至于转发链可以做什么看自己业务需求。

### 使用示例

#### 转发ssh的22端口

典型场景，一个机器A拥有公网IP，B机器和A机器在一个局域网，机器B处于内网中，外网不能直接访问。想通过ssh连接A机器的2022端口实现ssh登录B机器的ssh的22端口。

A机器执行：

`proxy tcp -t tcp -p :2022 -T tcp -P IP_B:22`

任何机器上 执行 `ssh root@IP_A:2022` 即可登录B机器。

#### 转发链

典型场景，公网机器A由于公司或者其它网络限制导致你不能直接访问，B机器和A机器在一个局域网，机器B处于内网中，外网不能直接访问。想通过ssh连接A机器的2022端口实现ssh登录B机器的ssh的22端口，但是公网机器C你可以访问，C也可以访问A，那么你就可以这样组成转发链：你本地ssh ->>> C ->>> A ->>> B，最终达到你安全访问B机器的目的。

A机器执行：

`proxy tcp -t ws -p :2022 -T tcp -P IP_B:22`

机器C执行：

`proxy tcp -t tcp -p :2022 -T ws -P IP_A:2022`

任何机器上，当然包括你的机器，执行 `ssh root@IP_C:2022` 即可登录B机器。

comments powered by Disqus