ssh代理搭建

需求

项目上线了,部署在校内网,这导致之后的维护、更新都变得极为困难。如果仅仅过去更新还好,问题是产品上线后,我们没有数据,蒙头解决bug可能会引入新的bug。更何况还会有一些变动的需求。如何能方便的维护更新系统就成为了核心需求。

方案

1、最初,我们通过跳板机进行访问系统服务器,修改更新业务系统,但充当跳板的业务机器只能用ssh,所以应用系统界面上的调整、修改、测试就无能为力。

1
2
外网    => ssh =>  跳板机
跳板机 => ssh => 业务系统

2、通过研究ssh代理,发现可以在跳板机建立socks代理,访问内网机器,这样就可以通过浏览器访问系统。

1
2
外网    => socks5 => 跳板机
跳板机 => tcp/ip=> 业务系统

实现

1、网络环境

1
2
3
跳板机 192.168.2.5 (eth0)		202.102.1.23 (eth1)
业务机 192.168.2.8 (eth0) 166.12.13.14 (eth1)
外网测试机 202.100.3.12 (eth0)

2、操作 a) 登录跳板机,创建socks5代理

1
ssh -D 3306 root@192.168.2.8 -fN -g

b) 测试 外网测试机 curl -v --socks5 202.102.1.23:3306 http://166.12.13.14/app1