前篇我們使用了Point-To-Site的方式,來讓單一台的電腦連線到Azure的網路,讓Local和Azure形成一個網段,而這篇呢,則使用Windows Server 2012 R2 ( 2012也可以 )來進行Site-To-Site的連線,讓Local和Azure兩地能連線,而Site-To-Site比較特別的是,我們會把這台Server當作中繼點,到時候,在這台Server底下的Client,只需要類似做pppoe(撥接數據機)的設定方式,就可以輕鬆地與Azure進行連線了喔!!
在官方,Windows Server 2012 的連線方式,是比較新的方式,早期官方推薦是使用貴森森的路由器等來進行VPN…但那貴森森的機器真的是太貴了…而後來推出了利用Windows Server 2012 RRAS連線的方式,但如果是企業用戶,還是建議買貴森森的機器,畢竟以效能等等來說,還是會比較強大 !!
而這次,小弟我利用一整天放假的時間(真的是消耗了一整天),來測試與完成設定,但這篇只講到Server的架設,後篇還會有一點點Client的設定,會分成兩篇,是因為小弟訂購的Ram還沒來…現在已經沒有足夠的Ram可以讓小弟測試另外一台了QQ….
最後,在開始之前,提醒大家一下,官方目前的說法是…"使用RRAS,不可以放在NAT之下",簡單的說,就是不可以掛在類似分享器底下,而且要有一個Public IP喔!!( 所以小弟這次直接拉了一條ADSL線,利用撥接的方式來達成… ),那以下就開始超長的設定過程了!!
安裝RRAS
這應該是最簡單的了…照著下面的圖,應該不會有啥問題。
這邊是一些提醒…
這邊當然是選擇角色型或功能型安裝啦…
因為小弟只有一台Server,也特別切分,所以直接選取就好。
這邊要選擇遠端存取。
選取功能這邊不用特別選取甚麼。
然後要進入遠端存取的設定。
他會提示我們,需要安裝一些東西,基本上當然就是默默接受了…. ( 除非不想裝XDD )
然後還需要裝上IIS。
一樣,用預設值就可以了。
確定無誤後,就開始跑跑跑。
到這邊,算是最簡單的步驟了….
設定RRAS
我們可以從下圖的位置,打開遠端存取管理。
因為是第一次,所以要執行精靈,因為我們只需要設定VPN,所以這邊指勾選VPN。
這邊出現一下提示的畫面…
我們這邊要選擇自訂設定。
然後選擇VPN存取,因為我們只要用到VPN。
然後就完成了…(是的,就完成了= = )
完成後,就會要求啟動服務了…
到這邊RRAS基本設定完成。
設定防火牆
接下來,要設定防火牆,要和Azure連線,要在防火牆的"輸入規則"那邊開啟以下幾個Port,其中1701的Port,小弟這邊預設就是開啟的了;那比較特別的Type=50,這邊不是小弟打錯啊…( 下面這也是Copy TechNet的…詳細可以看這裡 ),關於50這個協定,我們往下看就知道怎麼設定;至於其他的Port,小弟這邊就不教了…
- IP Protocol Type=UDP, UDP Port Number=500 <- Used by IKEv2 (IPSec control path)
- IP Protocol Type=UDP, UDP Port Number=4500 <- Used by IKEv2 (IPSec control path)
- IP Protocol Type=UDP, UDP Port Number=1701 <- Used by L2TP control/data path
- IP Protocol Type=50 <- Used by data path (ESP)
關於50這個協定,我們一樣從防火牆這邊新增輸入規則,只是我們要選擇自訂。
這邊沒甚麼特別的,反正就是全開吧。
就是這邊,我們通訊協定類型選擇自訂,並且在通訊協定號碼設定為50,後面幾乎就和一般的防火牆設定一樣,小弟就略過了。
到這邊,防火牆就設定完成了。
設定Azure的Local Network
接下來,我們要回到Azure,來增加一個Local Network。
按下去後,我們可以給一個漂亮的名子,然後VPN DEVICE IP ADDRESS這邊,要輸入RRAS這台機器的IP,如下圖,小弟是使用PPPOE連線,所以這邊會輸入的是PPPOE給的這個Public IP。
然後要輸入Local這邊的區網。
完成之後,我們就可以從下圖的位置看到,設定已經建立起來了。
接下來,要設定site-to-site
設定Virtual Network site-to-site
接下來,我們要進Virtual Netowork來設定site-to-site,下圖小弟這邊是已經先建立好了Virtual Network,然後要去改設定,但基本上,大家也不用擔心,因為這邊的設定算是簡單的,就算是新建立,勾選的內容和設定也還是一樣。
這邊,我們要勾選的是Connect The local network,並且選擇我們剛剛建立好的Local Network。
然後按下save,就好了~~簡單吧。
使用Azure提供的設定檔,設定RRAS
完成之後,我們就可以回到Azure Virtual Network得主頁面,來建立Gateway( 選擇CREATE GATEWAY ),這邊提醒大家一下,這個建立的過程非常的久,久到快要和部屬Cloud Service一樣久,小弟大概等10~20分鐘吧,所以這段時間,大家可以伸伸懶腰,洗洗澡~~;當完成之後,我們就可以下載設定檔( Download VPN Sevice Script )。
這邊,就有很多的設定檔可以下載,我們這次是使用Windows Server 2012 R2,所以這邊就選擇使用2012吧。
下載後,小弟看到一些文章,說要改這個設定檔的內容,但小弟下載後,都是已經調整好的內容,但為了怕有個萬一,還是在這邊紀錄一下。
第一,將設定檔裡面的<SP_AzureGatewayIpAddress>取代為Gateway IP Address,而Gataway IP Address在下圖框框這裡。
第二,將<SP_AzureVnetNetworkCIDR>取代為Windows Azure VNet的Address space,位置如下圖。
第三,將<SP_PresharedKey>取代為Shared Key,位置如下圖。
完成之後呢,把原本設定檔的附檔名,改成.ps1,然後我們就可以開啟PowerShell來執行(不是cmd阿… ),如下圖;基本上,那個設定檔會自動地幫我們把RRAS給設定好;而紅色的錯誤是正常的,因為有些東西我們之前就已經先設定好了。
另外,小弟在過程中,執行shell時,有發生以下錯誤。
因為這個系統上已停用指令碼執行,所以無法載入 C:\VpnDeviceScript.ps1 檔案。如需詳細資訊,請參閱
about_Execution_Policies,網址為 http://go.microsoft.com/fwlink/?LinkID=135170。
如下圖。
如果遇到此問題的朋友們,可以輸入此指令Set-ExecutionPolicy Unrestricted,那是因為限制規則的關係,我們可以先暫時解除。
當執行完上面RRAS的設定檔後,可以再下Set-ExecutionPolicy restricted來復原。
到這邊,終於把所有的設定給設定完成了!!
開始連線
接下來,我們就可以按下CONNECT了,這樣Azure就會開始與我們Local進行連線;如果你發現Azure告訴我們已經成功了,但是畫面還是如下圖一樣,是沒連起來,那是正常的;有時是因為時間差;但有時是真的連不到…所以,比較好確定的方法,還是從RRAS裡面來看。
要從RRAS裡面來看,我們可以先從遠端存取主控台這邊進來。
如果成功連線,我們就可以從下圖的位置中看到已連線;而如果這邊寫沒有連線,就要開始檢查IP是否正確,等等的設定,也是最耗時的… (所以可以確定,小弟今天人品不好0 0 )
過一陣子後,就可以發現Azure這邊的圖也已經更新完成了。
最後,小弟這邊在Azure上開了一台VM,並且使用Virtual Network,然後Local這邊的RRAS連上去後,我們就可以看到如下圖,透過網芳直接的存取。
基本上到這邊,Server端就算設定完成了!!(沒力氣寫後記了… )
參考資料
- http://nettecharticles.blogspot.tw/2013/06/azuresite-to-site-vpn.html
- http://support.microsoft.com/kb/2411920/zh-tw
- http://blogs.technet.com/b/rrasblog/archive/2006/06/14/which-ports-to-unblock-for-vpn-traffic-to-pass-through.aspx
- http://fabriccontroller.net/blog/posts/setting-up-software-based-site-to-site-vpn-for-windows-azure-with-windows-server-2012-routing-and-remote-access/
- http://social.msdn.microsoft.com/Forums/windowsazure/en-US/dcff0a03-cbee-4f3c-ae95-ac55bb8782db/problem-connecting-azure-vpn-to-ws-2008-r2-based-vpn-gateway
- http://social.msdn.microsoft.com/Forums/windowsazure/en-US/ed20e2e5-aece-4a4a-b61b-1bd97bb99df4/azure-virtual-network-sitetosite-vpn-with-onpremises-windows-2008r2-rras-server
- http://support.microsoft.com/default.aspx?scid=kb;EN-US;2523881
- http://social.msdn.microsoft.com/Forums/windowsazure/en-US/eff37274-8b25-471a-bbc0-3303a0c58960/azure-vpn-with-microsoft-tmg-2010-firewall
- http://msdn.microsoft.com/en-us/library/windowsazure/dn133795.aspx
- http://technet.microsoft.com/zh-tw/library/dd469714.aspx
- http://www.windowsazure.com/en-us/manage/services/networking/cross-premises-connectivity/?fb=zh-tw