平时在对 Linux 服务器维护中,经常会有这样的情形:

远端服务器有多台机器,只有一台机器是映射外网端口的,我们没办法直接访问另外的服务器的服务。

local-remote-top.png

如图所示,服务器侧有A、B两台机器,只有 A 服务器开放了外网访问。客户端侧就没办法直接访问 B 服务器

客户端想要访问 B,常见的方法有:

  1. 在 A 上做防火墙规则做端口转发,如将 88 端口转发到 B 的 80 端口。

​ 但是这样有一个前提,开放了外网访问的服务器要有空闲的端口才行。

  1. 用 Xshell 的转移规则来实现

Xshell 的转发规则

Xshell 转发规则支持三种转发类型

类型功能备注
Local(Outgoing)Xshell 侧监听一个端口,转发到目标服务器侧的某个地址
Remote(Incoming)服务器端监听一个端口,转发到客户端侧的某个地址
Dynamic(SOCK4/5)Xshell 侧启动一个代理服务,使用这个代理服务,客户侧可以访问服务器侧的任意地址
显示隧道窗格

查看 --> 隧道窗格

显示隧道窗格.png

添加转移规则

添加转移规则.png

  1. Local 类型配置

    local-remote.png

  2. Remote 类型配置

    remote-local.png

  3. Dynamic 模式配置

    sock.png

    设置完成后,其它程序就可以使用这个代理来访问服务器侧的地址了,以火狐浏览器为例设置SOCK代理,其它软件设置同理。

    浏览器设置SOCK代理.png

标签: Xshell, 隧道转发

添加新评论