讓本地網絡與微軟windows azure互通

 

導讀:混合雲可以說是未來的一個趨勢,混合雲的一個基本的要求就是本地網絡要與公有云能夠互通,這樣就可以把公有云看作一個分支網絡,實現統一的管理。這裏我們就來看看怎樣讓本地網絡與微軟的windows azure互通,爲了方便大家測試,我們只要求:

l 當然要有一個windows azure測試賬戶

l 本地有一臺能夠上網的windows server 2012 R2服務器(雖然微軟官方要求本地網絡要有一個***設備直接放在公網,但我們這裏讓你沒有這樣的條件也可以,當然生產環境還是要遵從微軟建議,這裏是個測試環境)

一、前期條件準備

(一)準備windows azure測試賬戶

Windows azure有兩個版本,一個全球版,一箇中國版,測試賬戶通常是全球版,中國版不好申請,測試賬戶申請地址爲:

http://azure.microsoft.com/en-us/pricing/free-trial/

clip_image002

申請時你會發現,需要你有一個國外的手機號,以便短信確認,如果你這時有國外的朋友就方便了,如果沒有國外的朋友也不用擔心,因爲你有萬能的淘寶啊:)。幾塊錢就搞定了。

clip_image004

(二)本地***服務器準備和發佈到公網

準備一臺windows server 2012 r2服務器,這臺服務器可以不是域成員。但我這裏由於要測試打通後的活動目錄部署,所以這臺服務器同時也是一臺域控制器。雖然不要求直接把這臺服務器放在公網,但還是要求你的防火牆或路由器把這臺內部的服務器整個發佈出去(也就是IP級映射,不是端口級映射),因爲只有這樣對方纔能連接進來。

我們這裏的測試拓撲如下圖:

clip_image006

這裏要實現的功能是兩邊能夠互通,並且我將在window azure網絡中部署一臺域服務器(生產環境通常也有這樣的要求,加速身份驗證),當然你也可以不部署,這不是一個必選項。

本質上兩邊互通就是在windows azure和本地創建一個站點到站點的IPSEC ***,那麼我們在做之前先分析一下,要創建站點到站點的IPSEC ***,就需要兩個站點都有一個***網關,只是這裏把本地的網關放在了網絡內部,還需要曉得對方的子網信息以進行路由,還需要一個共享密鑰,就像地下黨接頭一樣,對上了暗語才能進行下一步通信。

二、部署

部署包括azure上操作和本地操作。

(一)把內部要作爲***服務器的ip整個發佈出去

我這裏是一個NetGear的路由器,勾選Default DMZ Server,並設置IP即可。不同的防火牆或路由器的發佈方法可能不同,只是要注意是把整個IP發佈出去,因爲IPSEC ***是IP層的東西,你不能像發佈web服務器只發布某個TCP/UDP端口。

clip_image008

當然如果你的***設備本來就暴露在公網,這步就略過不用發佈(發佈是指你的服務器在內部),等會直接在後面填寫IP即可,微軟官網有一個兼容的***設備列表,但本質上只要你的設備支持IPSEC的IKEv1/IKEv2就可以。很多防火牆本身就支持IPSEC ***功能,不一定再需要專門的***設備。

步驟二:登錄windows azure,首先是要在azure端創建虛擬網絡,也就是創建一個我們在azure上的站點,就是圖中的:

clip_image010

與其他創建站點到站點***類似,這裏需要提供雙方的網關信息和子網信息。

由於是第一次操作,首先按下面的圖片選擇,

clip_image012

clip_image014

名稱填入azure網絡的站點名,首先是要創建一個地緣組,也就是選一個地理位置離你用戶訪問更近的數據中心,這樣訪問更快。

clip_image016

這一步配置azure站點的DNS服務器,這個設置以後將自動分發到這個網絡的虛擬網卡上。我這裏設置成本地站點的DNS,以便加域,等在azure中部署好域控制器後,再修改這個DNS設置指向azure站點的域控制器。

另外一個選擇配置站點到站點***。

clip_image018

這個頁面提供站點到站點連接遠方的網關和子網信息(沒有網關信息則無法連接,沒有子網信息則無法添加路由表),這裏也就是填寫本地的***設備地址和子網信息。

clip_image020

這個頁面配置azure站點的子網信息,我這裏選擇172.16.1.0這個子網。注意這裏要依次選擇地址空間、子網和網關子網。地址空間可以設置大點,但子網就設置你這個azure站點要用到的IP子網就OK,然後網關子網是指***網關將用到的地址範圍。

創建完成後你可以在這裏看到。

clip_image022

前面說了,創建站點到站點的***是不是要至少提供雙方的網關信息、子網信息,但從上面的創建過程來看,是不是還沒有提供azure本身的網關信息(如外網IP)?是的,我們點擊上面的azure虛擬網絡,選中“儀表板”,我們可以看出“未創建網關”,於是選擇下面的創建網關,並選擇動態路由。

clip_image024

然後是如下圖的正在創建網關,這個過程有點長,耐心等待一下,因爲創建完成後會顯示網關的公網IP和共享密鑰,這兩個東西我們在本地配置***網關時是需要的。

clip_image026

創建完成後你能夠看到這個網關的公網ip。

clip_image028

要看共享密鑰點下方的管理密鑰,

clip_image030

clip_image032

複製上面的密鑰備用。

(三)部署內部的 ***網關服務器

我們這裏以微軟win2012 r2來作***網關服務器,有兩種方法,一是微軟提供了現存的腳本,一是我們自己手動建立。

腳本鏈接就在虛擬網絡儀表板頁面。我們這裏手工建立,讓你更清楚整個架構,也便於後期故障處理。

clip_image034

clip_image036

注:如果通過下載的腳本配置,首先要把下載的腳本擴展名改成.ps1,再以管理員身份運行powershell,並運行Set-ExecutionPolicy Unrestricted讓powershell能夠執行腳本

登錄windows 2012 r2服務器,在powershell命令行中運行下面的腳本。

首先是安裝角色與功能組件:

Install-WindowsFeature Routing -IncludeManagementTools

Install-RemoteAccess -***Type ***S2S

接着創建一個站點到站點的***連接:

$connection = "ToAzure" 連接名

$azurepeer = "42.159.198.24" azure網關的公網IP

$localpeer = "14.104.147.216" 本地的公網IP,這裏是路由器的公網IP,也就是ADSL撥號得到的IP

$vnet = "172.16.1.0/24:100" azure子網

$psk = "KkWvfqu9ath92rvwyK3ia2hPKOUFHucX" 共享密鑰

Add-***S2SInterface -Name $connection -Protocol IKEv2 -AuthenticationMethod PSKOnly -NumberOfTries 5 -ResponderAuthenticationMethod PSKOnly -Destination $azurepeer -IPv4Subnet $vnet -SharedSecret $psk -SourceIPAddress $localpeer –Persistent

//注意上面的命令是一行,沒有分行

Set-***ServerIPsecConfiguration -EncryptionType MaximumEncryption 最強加密

Restart-Service RemoteAccess 重啓路由與遠程訪問服務

//命令不包括後面的中文

//上面紅色的參數請與在windows azure中使用的一致

clip_image038

完成進入路由與遠程訪問圖形界面,在網絡接口下能夠看到ToAzure接口,默認它會自動連接,連接成功後會看顯示已連接。

clip_image040同時在azure上看虛擬網絡也已連接。

clip_image042

另外在靜態路由裏,能夠看到到azure站點的路由。

clip_image044

clip_image046

但如果連接沒有成功,你需要手動在上圖和下圖處都進行連接。

clip_image048

(三)測試

爲了直觀驗證兩邊是否已經打通,可以在兩邊各找一臺服務器互ping下。我們這裏要先建立一臺雲上的虛擬機來作測試。

步驟如下面的圖片。

clip_image050

clip_image052

clip_image054clip_image056

clip_image058

上圖是需要注意的地方,這裏要選前面建立的azure虛擬網絡。後面都默認。

虛擬機創建完成後,選下方的連接登錄虛擬機,這樣會通過遠程桌面登錄此虛擬機。

clip_image060

登錄之後查看網卡信息,會發現已經自動分配了之前設定的子網IP和DNS。

clip_image062

Ping一下確認兩邊是互通的。

clip_image064

我將在以後的文章中講述怎樣在雲中部署我們的應用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章