有遇到这样一个问题,在我本机,要连到北京的vpn才能跳到北京的机器上,连上vpn就不需要配置隧道就能直接访问页面。但有一些比较特殊的服务器,需要在北京机器上再跳一次,才能连接到,在本地无法跳过去,这种情况就需要配置多级隧道了。
我用的工具是mobaxterm, 很好用的一款ssh工具。
我这里列出一下我的实现:
首先选择new ssh tunnel, 然后选择local port forwarding, 这里是先建立一个本地的连接,例如我要连上10.0.41.6这个台机器,然后连接到 18.18.17.20这个服务器的3501端口,就是把本地的端口和远程机器的端口构建映射关系,原理就是本地机器上分配了一个端口进行侦听,一旦端口有了连接,将数据通过通道转发给远端机器上的端口。利用ssh 构建多级跳板,就是先用本地转发将远端ssh端口和本地端口做映射,然后通过本地端口继续与其他远端机器的ssh端口构建映射,知道最后一跳时候可以采用任意动态端口转发(socks服务器),最后本地使用socks代理工具进行配置,就可以根据需要让应用按照之前构建的隧道进行通信。
因为本地端口的3501绑定了远端ssh端口的3501, 那么我们只需要配置一个动态端口转发,就可以实现访问远端ssh上的web服务。
然后依次打开配置好的两个tunnel, 就可以访问内网服务了。
参考:
https://zhuanlan.zhihu.com/p/94624842