通過跳板機上設定ssh埠對映實現外網客戶端連線內網oracle資料庫

selectshen發表於2015-08-07
問題描述:
客戶的一個需求,想要在外網訪問公司內網的資料庫,但資料庫只有內網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部落格 ” ,連結:http://blog.itpub.net/28539951/viewspace-1765056/,如需轉載,請註明出處,否則將追究法律責任。

相關文章