Linux实例通过端口转发来访问内网服务

概述

通过端口映射的方式,通过具有公网的ECS实例访问用户名下其它未购买公网带宽的内网ECS实例上的服务。端口映射的方案有很多,比如Linux下的SSH Tunnel,Windows下的portmap等,本文简要介绍ssh tunnel的配置方法。

详细信息

说明

提示:本文相关配置和说明仅用于示例和操作指引,阿里云不对相关操作结果及由此产生的问题负责。

SSH Tunnel配置方法

通过putty和有公网IP的ECS之间建立SSH隧道,然后通过本地端口转发,实现在客户PC终端上对内网ECS和RDS的直接访问,为客户的远程管理提供了巨大的方便。其数据流向如下示意图。

前置条件

  • 客户PC终端可以ssh登录有公网的ECS服务器。

  • 有公网的ECS服务器可以通过内网访问其他内网ECS服务器。

  • 有公网的ECS服务器可以通过内网访问RDS(ECS的内网IP在RDS的白名单中)。

客户端配置

  1. putty客户端配置SSH Tunnel方法

    1. 客户端使用putty,填写有公网ECS的IP及ssh端口。

    2. 设置 SSH Tunnel:Source Port 本地电脑监听端口,Destination 内网ECS服务器内网地址及端口,单击 Add 按钮,添加一条端口转发记录。然后单击 Open 按钮打开SSH连接。 image

    3. 在弹出的窗口中通过SSH正常登录有公网IP的ECS服务器。

    4. 在本地电脑使用netstat -na命令查看SSH Tunnel 配置的转发地址与监听端口。此处以127.0.0.1:22 本地监听为例。

    5. 通过连接本地转发地址与监听端口就可以连接到内网ECS服务器。

    6. 远程桌面访问内网Windows系统,此处以 33389 端口作为本地监听端口。

      说明

      请避免设置的监听端口与本地电脑端口冲突。

    7. 本地电脑数据库管理软件访问内网的RDS数据库,此处以 3306 端口作为本地监听端口。

      说明

      请避免设置的监听端口与本地电脑端口冲突。

    8. 查询SSH Tunnel开启的访问内网数据库转发地址与监听端口。

    9. 在本地电脑直接使用数据库管理软件连接RDS中的数据库。

  2. 在SecureCRT中SSH Tunnel隧道功能叫做 端口转发,配置 如图所示。 image

  3. 在Xshell中SSH Tunnel隧道功能配置,如图所示。image

  4. 在WindTerm中SSH Tunnel隧道功能配置,如图所示。image

  5. 在MobaXterm中SSH Tunnel隧道功能配置,如图所示。imageimage

适用于

  • 云服务器 ECS