2013年6月19日

[Azure]設定Site to Site VPN

Windows Azure Virtual Network支援Windows Server 2012 RRAS作為on-prem VPN Server,這讓沒有錢買VPN設備的我們提供了一個非常方便的開發或測試的環境。

要設定Windows Azure Site-to-Site VPN,首先我們需要兩台local的機器,其中一台要作為RRAS Server,這台機器必須不在NAT,並且必須要有public IP。另外一台機器作為虛擬的內網機器,只需要有可以跟RRAS Server連線的內網網路連線就可以了。

機器 IP位址
RRAS 10.10.10.1/124.124.X.X (public ip)
Client 10.10.10.2

首先我們要先在RRAS Server上安裝RRAS服務,打開Server Manager,新增角色

image

這裡基本上就一直下一步就可以了

image

安裝完成後,其實還需要做一些設定,不過我在實作時因為想說Windows Azure Portal上可以下載設定檔的template,裡面應該有設定的Script,於是安裝完後就放著。(事實證明並不是這樣,也因為這樣繞了許多路)

接著,我們需要設定防火牆。Windows Azure VPN走的是IKE v2,因此需要開啟幾個port的Inbound rule,詳細的port在這裡,這邊就不截圖了,比較要注意的是其中一個規則是protocol 50。

IP Protocol Type=UDP, UDP Port Number=500
IP Protocol Type=UDP, UDP Port Number=4500
IP Protocol Type=ESP (value 50)

設定完防火牆,接著回到Windows Azure管理網站的Virtual Network,開始建立Virtual Network。

image

首先設定我的Local Network,

指定VPN Device的IP位址,也就我們RRAS Server的Public IP。

image

我希望我的本地網路的網段是10.10.11.X

image

按下確定完成建置,接著開始建立Virtual Network。

image

設定名稱、資料中心等

image

如果要指定DNS可以在這裡指定,另外本地網路需要設定為剛剛建置完成的Local Network。

image

設定Windows Azure上的機器的Subnet以及Gateway Subnet間。Gateway Subnet是另外加的,記得一定要點那個Add Gateway subnet的按鈕就可以了。Gateway Subnet至少需要三個位址,所以一定要預留。

image

這樣我們就設定完成了,接下來要建立Gateway,這個過程會需要一段時間,所以我們可以先把VPN Script下載下來研究一下。

image

選擇Server 2012 RRAS

image

接著就可以建立Gateway了,因為是使用RRAS,一定要選Dynamic Route;根據MSDN,只要情況允許,建議都是用Dynamic Routing。

image

建立完成後,就可以開始來修改VPN Script了,打開剛剛下載的VPNDeviceScript.cfg,會發現其實他是一個Powershell指定檔。裡面會看到類似<SP_AzureNetworkCIDR>這樣的變數,我們要做的,就是用真的資料來取代這些變數。

  • 將<SP_AzureGatewayIpAddress>取代為Gateway IP Address

image

  • 將<SP_AzureNetworkCIDR>取代為Windows Azure VNet的Address space。

image

  • 將<SP_AzureNetworkMetric>取代為Metric,例如1。
  • 將<SP_PresharedKey>取代為Shared Key

image

接著把這個檔案rename成.ps1,copy到RRAS Server上,開啟powershell並執行他。

由於Script中會去安裝Remote Access的腳色,但是因為我一開始就安裝過了,所以這裡會報錯誤,可以忽略他。

image

如此一來就大功告成了嗎?…當然不是…

到目前為止,我們主要都是在設定Windows Azure與RRAS的連線而已;我們指定了Windows Azure VNet與Local Network、設定Azure要透過哪個VPN Device根本地網路連線,並且也安裝RRAS。

接下來我們來要設定RRAS,讓使用者可以透過他跟Azure上的機器透過VPN溝通,

回到RRAS Server上,建立一個使用者testremot,並且允許Dial-In

image

同時為了避免不必要的困擾,修改一下密碼永不過期與無須變更。

image

接著,打開Routing and Remote Access。點選Server Name、右鍵、Property。

image

確定IP v4 Remote server有打勾

image

切到IP v4頁簽,設定要指派給Local Network中的機器的DHCP位址範圍,這個位址必須與Azure上設定的Local Network位址一致,以我的例子來說,是10.10.11.0~10.10.11.255

image

點選Ports、右鍵、Property

image

點選相對應的Port,然後按Configure;由於Windows Azure走IKE v2,這邊理論上應該只需要設定IKE V2的Port,不過我是都設定了。

image

確定Remote access connections(Inbound only)有打勾

image

全部都設定完成後,回到Azure Portal上啟用本地網路連線;

image

過一會我們應該會看到連線成功。

image

在RRAS上,Interface也已經連線了。

image

到了這裡,大功已經快要告成了!!

回到10.10.10.2這台機器上,現在我們要設定連線了。

打開網路共享中心,新增一個連線。

image

連線到Work place

image

image

不需要設定Internet Connection

image

這邊要輸入RRAS的Local IP Address,以我的例子來說,10.10.10.1

image

輸入完後按下Create,

然後回到網路與共享中心,Change Adapter Settings

image

點選剛剛建立完成的連線,Property

image

修改安全性設定

image

接著就可以連線了。

image

到這裡已經大功告成了,接下來當然是要測試一下。

回到Windows Azure Portal,建立一台Virtual Machine作為Web Server並加入剛剛建立的Virtual Network。

image

image

安裝Web Server,回到10.10.10.2的本地客戶端電腦。打開瀏覽器瀏覽看看。

image

沒有留言:

Blog Archive

About Me