xshell隧道转发类型
类型一:本地拨出 Local(Outgoing)
作用:将本地计算机指定的某个端口连接到远程服务器的一个指定端口上。 应用场景:当从本地机器安全地访问位于远程服务器上的服务(如数据库、web服务等)时使用。 工作原理:通过SSH连接,用户在本地机器上指定一个端口,Xshell会创建一个隧道,把这个本地端口上的所有数据发送到远程服务器的指定端口。
类型二:远程传入Remote(Incoming)
作用:将远程服务器的一个端口连接到本地计算机的一个指定端口上。 应用场景:当远程服务器需要访问本地机器上的服务(例如,你在本地运行的web应用或者使用本地的网络环境)时使用。 工作原理:通过SSH连接,用户在远程服务器上指定一个端口,Xshell会创建一个隧道,把这个远程端口上的所有数据发送到本地计算机的指定端口。
类型二:Dynamic(SOCKS4/5)
作用:建立一个SOCKS代理服务器,通过这个代理服务器转发网络流量。 应用场景:常用于访问通过常规网络无法直接访问的服务,比如绕过网络审查或访问局域网内的资源。 工作原理:用户指定一个本地端口用作SOCKS代理,Xshell会将通过这个端口的数据通过SSH隧道转发到任意目的地。这种方式提供了更多的灵活性,可以转发到多个远程服务。
示例说明
场景一:利用XShell隧道本地拨出 Local(Outgoing)连接服务器上部署的数据库服务。出于安全考虑服务器不对外网开放3306数据库端口,仅用于服务器上连接操作数据库,有时候需要数据库客户端工具从本地电脑连接,配置Xshell隧道本地拨出即可实现!在xshell会话中,配置转移规则如下:
类型(方向):本地(拨出) 源主机:192.168.11.189(本地电脑的内网ip,也可以是localhost) 侦听端口:3306(服务器传入的端口) 目标主机:localhost(服务器IP,我的数据库就在这台服务器上所以填写localhost) 目标端口:3306(服务器上数据库端口)
使用数据库客户端工具连接验证
场景二:在某个云平台购买了一台大陆境内的服务器,需要部署k8s集群,因此需要下载官方镜像,因网络限制会导致下载失败!而本地电脑没有网络限制可以直接下载。这时可以通过xshell远程传入Remote(Incoming)功能将服务器http_proxy转发到本地计算机,从而实现网络资源下载。
配置远程传入规则
首先在服务器上执行export,http_proxy将请求代理转发到9999.
export http_proxy=http://127.0.0.1:9999/ https_proxy=http://127.0.0.1:9999/
在xshell会话中,配置远程传入规则,转移规则如下:
类型(方向):远程(传入) 源主机:localhost(服务器代理传入的ip) 侦听端口:9999(服务器传入的端口) 目标主机:localhost(本机fiddler) 目标端口:8888(fiddler监听的端口)
场景三:购买一台国外服务器(服务器可以访问公网),我本地电脑无法访问外网。使用Xshell隧道Dynamic(SOCKS4/5)可以让本地电脑浏览器访问外网。
在xshell会话中,配置远程转移规则如下:
类型(方向):Dynamic(SOCKS4/5) 源主机:默认为空 侦听端口:9999(自定义端口,默认1080) 目标主机:默认为空 目标端口:默认为空
浏览器代理配置自行研究配置!!!