平时经常遇到下面的情况:
一般情况下的对应方法:
本文的目的就是使用 SSH TUNNEL 这项技术解决上面的问题,也就是打通所谓的 "公司内网" 和 "家庭内网"。
经常远程连接 Linux 服务器的小伙伴,对于 ssh 这个命令应该不陌生吧。它还可以不执行远程指令只建立一条和远程服务器之间的连接,也就是形成了一条通道,在这条通道上我们就可以做一些文章了。
先看下 ssh 命令的参数介绍 ( 需要了解更多请通过命令 man ssh 查看 )
关键的就是最后的三个参数,对应 SSH 隧道 的三种端口转发模式: 本地转发 ( -L Local ),远程转发 ( -R Remote ) 和动态转发 ( -D Dynamic )
本地监听指定端口,该端口收到的请求会通过远程服务器转发到另一台机器的指定端口上
远程服务器上监听指定端口,该端口收到的请求会通过本地转发到另一台机器的指定端口上
监听本地的指定端口,本机将作为 SOCKS5 服务器使用
上面已经介绍了 SSH TUNNEL 的使用方式,接下来就开始干正事了,先上两张网络拓扑图。
对比两张图把少的线连上就好了,是不是很 easy ?
就这么两步配置已经打通"公司网络"和"家里网络"了。不过,貌似实现的效果是单向的诶 ( 只能家里连公司,公司还不能连家里, 如下图所示 )
解决办法: 家里主机F 按 公司主机A 的步骤再配一遍就好啦。
基于 docker-compose 运行的完整配置已经上传至 GitHub 。
需求:在android手机上开启个ssh通道,然后端口转发到目标地址上,从而实现android手机上的某个固定端口出去的流量都转移到目标ip上。
使用的是JSch库
实现效果是:
本地访问127.0.0.1:端口转发监听的本地端口,就能转到目的地址上
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)