用frp 做反向代理,做一个ssh的跳板,解决某些原因出现卡死的情况

用frp 做反向代理,做一个ssh的跳板,解决某些原因出现卡死的情况

需求痛点

使用的一台服务器A在香港,在家中ssh 连接服务器A时候,连接常常卡死和掉线,某些不可抗拒的原因,用得比较难受。
偶发现,通过一台在境内的服务器B,ssh连接到A去,几乎不会出现上述的掉线和卡死。也就是说,先ssh 到B服务器,再通过B 服务器ssh 到A 服务器去,不会出现掉线了。
说明下面两条线路,线路1存在了某些讨厌规则的“哨兵”干扰。线路1:家庭电脑->服务器A(香港)线路2:家庭电脑->服务器B(某境内)->服务器A(香港)

ssh 使用时常卡顿和断线,是比较难受的,断开后连接还半天连不上。不可抗拒原因,只好自己想办法解决了。
对于这种情况,最好的办法就是使用反向代理了。(正向代理和反向代理差别不多说),反代原理更倾向把代理服务器和真实服务器看为一体,如下图。终端访问代理服务器B,就像访问了真实服务器A一样。

服务用反代,原因可以分为很多,比如故意隔离保护真正服务器、或者做负载均衡等,但这里纯属是为了做一个跳板。

而frp就是一个比较好的反向代理的工具。这里记下使用frp的过程,过程较为简单,顺利的话,几分钟搞定的事情

配置服务端 

由于B 服务器作为代理,A 服务器为真实的被访问的服务器,所以,对于frp的服务来说,B 服务器为frp服务的服务端(作为代理),A 服务器为frp服务的客户端。
由于本文提到的A、B两台服务器都是ubuntu x86_64,配置起来就更加简便了。

下载地址

https://github.com/fatedier/frp/releases

使用的是最新的v0.52.3 版本,按照自己的电脑选项版本就可。

A、B电脑都下载和解压:

wget https://github.com/fatedier/frp/releases/download/v0.52.3/frp_0.52.3_linux_amd64.tar.gz
tar -zxvf frp_0.52.3_linux_amd64.tar.gz 

解压后,进入frp目录,看到如下几个文件:

其中frpc为客服端程序和配置,frps为服务端程序和配置

服务端B 配置:

pl4mthwghr336Z:~/frp# cat frps.toml
bindPort = 7000

上面为默认配置,如果不想改变,直接启动服务:./frps -c ./frps.toml。

服务器A作为frp 的客服端,配置frpc.toml。vim frpc.toml 做修改。

修改后启动服务:./frpc -c ./frpc.toml

(注意:云服务器记得配置下B服务器的防火墙规则,放开上面配置的6000和7000)

测试连接

无啥意外,ssh -oPort=6000 username@B服务器, 便可访问A了,十分钟不到搞定。

frp 有很多代理的玩法,这里只是记录了我的一个简单需求痛点。其他的用法,在github 有详细说明,不多说了。

参考链接:https://github.com/fatedier/frp#readme

(全文完)

(欢迎转载本站文章,但请注明作者和出处 云域 – Yuccn

发表回复

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