ITPub博客

首页 > 数据库 > Oracle > 通过跳板机上设置ssh端口映射实现外网客户端连接内网oracle数据库

通过跳板机上设置ssh端口映射实现外网客户端连接内网oracle数据库

原创 Oracle 作者:selectshen 时间:2015-08-07 20:09:58 0 删除 编辑
问题描述:
客户的一个需求,想要在外网访问公司内网的数据库,但数据库只有内网IP,不通直接连接.目前的方法是先登陆
到公司有外网IP的跳板机,然后再在跳板机上通过sqlplus访问数据库.客户希望能在不开放数据库外网的情况下
使用客户端的pl/sql dev直接连接数据库.
解决方法:
通过在跳板机上设置ssh端口映射,在客户端连接跳板机上的某端口后自动转发到内网数据库的端口,来实现客户端
ps/sqldev直接连接数据库.
具体操作:
跳板机外网IP:192.108.96.117
跳板机内网IP:192.108.56.117
数据库内网IP:192.108.56.120
1.设置跳板机ssh端口映射ssh -CNfg -L 1234:192.108.56.120:1521 oracle@192.108.56.120
参数说明:
ssh -CNfg -L 跳板机端口:数据库内网IP:数据库内网端口 用户名@数据库内网IP
-C:压缩数据传输。
-N :不执行脚本或命令
-f :后台认证用户/密码,通常和-N连用,不用登录到远程主机。
-g :在-L/-R/-D参数中,允许远程主机连接到建立的转发的端口
-L 本地端口:目标IP:目标端口
2.外网客户端tnsnames.ora中加入
testssh=

  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.108.96.117)(PORT = 1234))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = 内网数据库服务名)
    )
  )
3.通过pl/sql dev连接testssh,即连接到内网数据库.

备注:

设置ssh端口映射后,可以通过netstat -an|grep 跳板机端口,来查看链路是否已经建立.
关闭ssh端口映射,通过ps -ef|grep CNfg|grep -v grep查看pid,kill掉即可

ssh端口映射参考文章:http://blog.csdn.net/gaoming655/article/details/7231517


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28539951/viewspace-1765056/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-01-05

  • 博文量
    169
  • 访问量
    1567868