08 三月
2017

客戶有這樣的需求:
#想用AWS EC2啟用Windows伺服器
#該台伺服器需要使用SSL VPN連線至特定VPN Server
#該台伺服器需要能執行C#程式來執行特定任務
#要能夠提供GUI介面的連線,以方便相關人員進行管理

 

由於客戶原本在自家機房就有一台伺服器擔任這個任務,之所以想移至AWS是為了安心和安全考量。

我原本以為是很簡單的事情,就在AWS起台Windows的EC2就OK了,實際上啟用後才發現真相不簡單。

原來真相是:
#當EC2連線SSL VPN時,會造成RDP無法再連線 (因為網路相關原理)
#就算利用TeamViewer、VNC之類的另外遠端管理方式也一樣無法使用
#在AWS Forum也有很多相似問題的用戶出現,官方的建議都是enable split tunneling
#可是enable split tunneling是需要VPN Server端才能設定,客戶無法管理VPN Server

 

沒關係,山不轉路轉,所以我測試了幾種方式,終於讓我找到一個可行的方法,並且確定可以正常運作,所以在此分享一下!

首先要先在AWS建立兩台EC2,架構請參考上面的圖片。

Server-A (連線VPN使用):
#必須使用Juniper VPN Client
#VPN連線後無法用RDP管理(TeamViewer也無法連線)
#綁定兩個Network Interface,好讓Server-B用內部IP連線

Server-B (連線RDP使用):
#讓Clients可以用RDP連線
#利用內部IP再連Server-A

 

連線步驟說明:
1.用RDP連線至Server-A (Public IP),
在Server-A開啟SSL VPN連線軟體並進行連線,
連線成功後, RDP會中斷(TeamViewer也一樣會斷)。

2.用RDP連線至Server-B (Public IP),
在Server-B開啟遠端桌面連線軟體來連線Server-A,
記得此時要用Server-A的內部IP。

3.成功用RDP連線進Server-A,此時就可以管理Server-A了。

 

此外要注意的是:
1.啟用EC2時就要為該台EC2綁定2個網卡,並設定好內部IP位置
2.Security Group中要予許內部IP和VPN Server的TCP連線

 

若有遇到同樣VPN需求的朋友們,可以參考用我的方式來試試看哦!

Facebooktwittergoogle_plusmail
志文

tts.ken@gmail.com