0%

SSh-Reverse-Tunnel-RDP

使用ssh Reverse Tunnel 突破防火牆或NAT限制

  • 架構圖
  • 背景說明
  • 實作說明
  • 參考資料

    架構圖

    試想一個情況,公司區網有一部A主機可以對外連線上網都沒問題,可是這部A主機是在防火牆或NAT後端裡面,外部B主機是無法連到這部A主機。若不想在防火牆設定由外部 mapping A主機的話,就可以利用 SSH Reverse Tunnel。

SSh Reverse Tunnel架構圖

背景說明

- 區域網的 A主機(windows ) 192.168.88.8 , 有開啟RDP(有開啟遠端桌面服務,僅在區域網路使用) - 外部B主機(Linux,在Google GCP 租用的),35.221.139.139 (Public IP, 配合演示使用的),有開啟SSHD服務 - 本篇主要目的,要從 Google GCP 租用的外部B主機連到區域網路A主機RDP服務

實作說明

如上圖顯示紫色那一段為第1步,綠色為第2步。

第1步: 先在A主機建立與B主機的Reverse Tunnel連線

A主機是Windows,用putty ssh 外部B主機

填上外部B主機ip位址
填上外部B主機ip位址

填上Login帳號
填上Login帳號
此步驟非必要的,此篇登入外部B主機是使用憑證方式
此步驟非必要的,此篇登入外部B主機是使用憑證方式
最重要!!,設定reverse Tunnel

  • Source port:3389 表示給外部連線用的
  • Destination : 127.0.0.1:3389 表示連線A主機內部服務
    此步驟非必要的,此篇登入外部B主機是使用憑證方式

完成連線

  • 表示已連線登入到外部B主機
  • 紅色圈起來表示 上圖Source port部份
    完成連線

第2步: 從B主機連線到內網A主機

使用freerdp這個套件連線 內網A主機rdp服務
freerdp_connection
rdp Login
rdp Login
用RDP 進入內網A主機
RDP A

參考資料

歡迎關注我的其它發布渠道