設定 ExpressRoute 和站對站並存連線 (傳統)
本文將協助您設定並存的 ExpressRoute 和站對站 VPN 連線。 能夠設定站對站 VPN 和 ExpressRoute 有幾個優點。 您可以將站對站 VPN 設定為 ExressRoute 的安全容錯移轉路徑,或使用站對站 VPN 來連線至不是透過 ExpressRoute 連線的網站。 本文會說明設定這兩個案例的步驟。 本文適用於傳統部署模型。 此設定無法在入口網站中使用。
重要
從 2017 年 3 月 1 日起,您便無法在傳統部署模型中建立新的 ExpressRoute 線路。
- 您可以將現有 ExpressRoute 線路從傳統部署模型移至 Resource Manager 部署模型﹐而不會遇到任何連線中斷情形。 如需詳細資訊,請參閱移動現有線路。
- 將 allowClassicOperations 設為 TRUE﹐即可連接到傳統部署模型中的虛擬網路。
使用下列連結﹐在 Resource Manager 部署模型中建立及管理 ExpressRoute 線路:
關於 Azure 部署模型
Azure 目前使用兩種部署模型:Resource Manager 和傳統。 兩個模型彼此無法完全相容。 開始之前,您必須知道您想要使用哪一個模型。 如需部署模型的資訊,請參閱了解部署模型。 如果您不熟悉 Azure,建議使用 Azure Resource Manager 部署模型。
重要
您必須先預先設定 ExpressRoute 線路,再遵循本文中的指示。 在繼續執行之前,請確定您已遵循建立 ExpressRoute 線路和設定路由的指南。
限制
- 不支援傳輸路由。 您無法在透過站對站 VPN 連線的區域網路與透過 ExpressRoute 連線的區域網路之間,進行路由傳送 (透過 Azure)。
- 不支援點對站連線。 您無法啟用連接到 ExpressRoute 之相同 VNet 的點對站 VPN 連線。 點對站 VPN 和 ExpressRoute 不能並存在相同的 VNet。
- 無法在站對站 VPN 閘道上啟用強制通道。 您只可以「強制」所有網際網路繫結流量透過 ExpressRoute 回到內部部署網路。
- 不支援基本 SKU 閘道。 您必須對 ExpressRoute 閘道和 VPN 閘道使用非基本 SKU 閘道。
- 僅支援路由式 VPN 閘道。 您必須使用路由式 VPN 閘道。
- 應該為 VPN 閘道設定靜態路由。 如果您的區域網路連線到 ExpressRoute 和站對站 VPN,您必須在區域網路中設定靜態路由,才能將站對站 VPN 連線路由傳送到公用網際網路。
組態設計
設定站對站 VPN 作為 ExpressRoute 的容錯移轉路徑
您可以設定站對站 VPN 連線作為 ExpressRoute 的備份。 此設定僅適用於連結至 Azure 私用對等路徑的虛擬網路。 對於可透過 Azure 公用和 Microsoft 對等存取的服務,沒有 VPN 架構的容錯移轉解決方案。 ExpressRoute 線路一律為主要連結。 只有在 ExpressRoute 線路故障時,資料才能流經站對站 VPN 路徑。
注意
雖然當兩個路由相同時,ExpressRoute 線路偏好透過站對站 VPN,但 Azure 會使用最長的相符前置詞來選擇朝向封包目的地的路由。
設定站對站 VPN 來連線到未透過 ExpressRoute 連接的網站
您可以將網路設定成有些網站透過站對站 VPN 直接連線到 Azure,而有些網站透過 ExpressRoute 來連線。
注意
您無法將虛擬網路設定為轉送路由器。
選取要使用的步驟
如果要設定可並存的連線,有兩組不同的程序可供選擇。 您所選取的設定程序取決於您是已經有想要連線的現有虛擬網路,還是想要建立新的虛擬網路。
我沒有 VNet 且需要建立一個。
如果您還沒有虛擬網路,這個程序將引導您使用傳統部署模型來建立新的虛擬網路,並建立新的 ExpressRoute 和站對站 VPN 連線。 若要設定,請依照 建立新的虛擬網路和並存的連線一節中的步驟進行。
我已經有一個傳統部署模型 VNet。
您可能已經有虛擬網路,而且使用現有的站對站 VPN 連線或 ExpressRoute 連線。 本文的為已經存在的 VNet 設定並存的連線一節將引導您刪除閘道,然後建立新的 ExpressRoute 和站對站 VPN 連線。 當您建立新的連線時,必須以特定的順序來完成這些步驟。 請勿使用其他文章中的指示建立閘道器和連線。
在此程序中,建立可以並存的連線會要求您刪除閘道器,然後設定新的閘道器。 當您刪除和重新建立閘道器與連線時,會遇到跨設備連線的停機時間,但您不需要將任何 VM 或服務移轉至新的虛擬網路。 您的 VM 和服務仍可以透過負載平衡器對外通訊,而您能夠在這兩者設定為這樣做時進行閘道器設定。
安裝 PowerShell Cmdlets
安裝最新版本的 Azure 服務管理 (SM) PowerShell 模組和 ExpressRoute 模組。 您無法使用 Azure CloudShell 環境來執行 SM 模組。
使用安裝服務管理模組一文中的指示來安裝 Azure 服務管理模組。 如果您已安裝 Az 或 RM 模組,請務必使用 '-AllowClobber'。
匯入已安裝的模組。 使用下列範例時,請調整路徑以反映已安裝 PowerShell 模組的位置和版本。
Import-Module 'C:\Program Files\WindowsPowerShell\Modules\Azure\5.3.0\Azure.psd1' Import-Module 'C:\Program Files\WindowsPowerShell\Modules\Azure\5.3.0\ExpressRoute\ExpressRoute.psd1'
若要登入您的 Azure 帳戶,請以提高的權限開啟 PowerShell 主控台並連線到您的帳戶。 使用下列範例可協助您使用服務管理模組進行連線:
Add-AzureAccount
建立新的虛擬網路和並存的連線
此程序會引導您建立 VNet,以及建立會並存的站對站和 ExpressRoute 連線。
您必須安裝最新版的 Azure PowerShell Cmdlet。 您針對此組態使用的 Cmdlet 可能與您熟悉的 Cmdlet 有些微不同。 請務必使用這些指示中指定的 Cmdlet。
建立虛擬網路的結構描述。 如需關於組態結構描述的詳細資訊,請參閱 Azure 虛擬網路組態結構描述。
當您建立結構描述時,請務必使用下列值:
- 虛擬網路的閘道器子網路必須是 /27 或更短的首碼 (例如 /26 或 /25)。
- 閘道器連線類型為「專用」。
<VirtualNetworkSite name="MyAzureVNET" Location="Central US"> <AddressSpace> <AddressPrefix>10.17.159.192/26</AddressPrefix> </AddressSpace> <Subnets> <Subnet name="Subnet-1"> <AddressPrefix>10.17.159.192/27</AddressPrefix> </Subnet> <Subnet name="GatewaySubnet"> <AddressPrefix>10.17.159.224/27</AddressPrefix> /Subnet> </Subnets> <Gateway> <ConnectionsToLocalNetwork> <LocalNetworkSiteRef name="MyLocalNetwork"> <Connection type="Dedicated" /> </LocalNetworkSiteRef> </ConnectionsToLocalNetwork> </Gateway> </VirtualNetworkSite>
建立並設定 xml 結構描述檔案之後,請上傳檔案以建立虛擬網路。
使用下列 Cmdlet 來上傳檔案,將該值替換為您自己的值。
Set-AzureVNetConfig -ConfigurationPath 'C:\NetworkConfig.xml'
建立 ExpressRoute 閘道。 請務必將 GatewaySKU 指定為 Standard、HighPerformance 或 UltraPerformance,並將 GatewayType 指定為 DynamicRouting。
使用以下範例,將該值替換為您自己的值。
New-AzureVNetGateway -VNetName MyAzureVNET -GatewayType DynamicRouting -GatewaySKU HighPerformance
將 ExpressRoute 閘道器連結到 ExpressRoute 電路。 完成這個步驟之後,內部部署網路和 Azure 之間的連線 (透過 ExpressRoute ) 便會建立。
New-AzureDedicatedCircuitLink -ServiceKey <service-key> -VNetName MyAzureVNET
接下來,建立站對站 VPN 閘道。 GatewaySKU 必須是 Standard、HighPerformance 或 UltraPerformance,而 GatewayType 必須是 DynamicRouting。
New-AzureVirtualNetworkGateway -VNetName MyAzureVNET -GatewayName S2SVPN -GatewayType DynamicRouting -GatewaySKU HighPerformance
若要擷取虛擬網路閘道設定 (包括閘道識別碼和公用 IP),請使用
Get-AzureVirtualNetworkGateway
Cmdlet。Get-AzureVirtualNetworkGateway GatewayId : 348ae011-ffa9-4add-b530-7cb30010565e GatewayName : S2SVPN LastEventData : GatewayType : DynamicRouting LastEventTimeStamp : 5/29/2015 4:41:41 PM LastEventMessage : Successfully created a gateway for the following virtual network: GNSDesMoines LastEventID : 23002 State : Provisioned VIPAddress : 104.43.x.y DefaultSite : GatewaySKU : HighPerformance Location : VnetId : 979aabcf-e47f-4136-ab9b-b4780c1e1bd5 SubnetId : EnableBgp : False OperationDescription : Get-AzureVirtualNetworkGateway OperationId : 42773656-85e1-a6b6-8705-35473f1e6f6a OperationStatus : Succeeded
建立本機的站台 VPN 閘道實體。 此命令不會設定內部部署 VPN 閘道。 相反地,它可讓您提供本機閘道器設定 (例如公用 IP 與內部位址空間),使 Azure VPN 閘道能夠與其連線。
重要
未在 Netcfg 中定義站對站 VPN 的本機站台。 您必須改為使用此 Cmdlet 來指定本機站台參數。 您無法使用入口網站或 Netcfg 檔來定義參數。
使用下列範例,將該值替換為您自己的值。
New-AzureLocalNetworkGateway -GatewayName MyLocalNetwork -IpAddress <MyLocalGatewayIp> -AddressSpace <MyLocalNetworkAddress>
注意
如果您的區域網路有多個路由,您可以將它們全部放在陣列中傳遞。 $MyLocalNetworkAddress = @("10.1.2.0/24","10.1.3.0/24","10.2.1.0/24")
若要擷取虛擬網路閘道設定 (包括閘道識別碼和公用 IP),請使用
Get-AzureVirtualNetworkGateway
Cmdlet。 請參閱下列範例。Get-AzureLocalNetworkGateway GatewayId : 532cb428-8c8c-4596-9a4f-7ae3a9fcd01b GatewayName : MyLocalNetwork IpAddress : 23.39.x.y AddressSpace : {10.1.2.0/24} OperationDescription : Get-AzureLocalNetworkGateway OperationId : ddc4bfae-502c-adc7-bd7d-1efbc00b3fe5 OperationStatus : Succeeded
設定本機 VPN 裝置以連線到新的閘道器。 當您設定 VPN 裝置時,請使用於步驟 6 所抓取的資訊。 如需關於 VPN 裝置組態的詳細資訊,請參閱 VPN 裝置組態。
將 Azure 上的站對站 VPN 閘道連結至本機閘道器。
在此範例中,connectedEntityId 是本機的閘道器識別碼,您可以透過執行
Get-AzureLocalNetworkGateway
找到此識別碼。 您可以使用Get-AzureVirtualNetworkGateway
Cmdlet 尋找 virtualNetworkGatewayId。 完成這個步驟之後,區域網路和 Azure 之間的連線 (透過站對站 VPN 連線) 便會建立。New-AzureVirtualNetworkGatewayConnection -connectedEntityId <local-network-gateway-id> -gatewayConnectionName Azure2Local -gatewayConnectionType IPsec -sharedKey abc123 -virtualNetworkGatewayId <azure-s2s-vpn-gateway-id>
為已經存在的 VNet 設定並存的連線
如果您有現有的虛擬網路,請檢查閘道器子網路大小。 如果閘道器子網路是/28 或/29,您必須先刪除虛擬網路閘道器,並增加閘道器子網路大小。 本節中的步驟示範如何執行該作業。
如果閘道器子網路是/27 以上且虛擬網路是透過 ExpressRoute 連線,則可以略過這些步驟,並且繼續進行上一節中的「步驟 6 - 建立站對站 VPN 閘道」。
注意
當您刪除現有閘道器時,您在進行此設定時,本機設備將會與虛擬網路中斷連線。
您必須安裝最新版的 Azure Resource Manager PowerShell Cmdlet。 您針對此組態使用的 Cmdlet 可能與您熟悉的 Cmdlet 有些微不同。 請務必使用這些指示中指定的 Cmdlet。
刪除現有的 ExpressRoute 或站對站 VPN 閘道。 使用下列 Cmdlet,將該值替換為您自己的值。
Remove-AzureVNetGateway –VnetName MyAzureVNET
匯出虛擬網路的結構描述。 使用下列 PowerShell Cmdlet,將該值替換為您自己的值。
Get-AzureVNetConfig –ExportToFile "C:\NetworkConfig.xml"
編輯網路組態檔結構描述,讓閘道器子網路是 /27 或更短的首碼 (例如 /26 或 /25)。 請參閱下列範例。
注意
如果您的虛擬網路中沒有足夠的 IP 位址可以增加閘道器子網路大小,您必須新增更多 IP 位址空間。 如需關於組態結構描述的詳細資訊,請參閱 Azure 虛擬網路組態結構描述。
<Subnet name="GatewaySubnet"> <AddressPrefix>10.17.159.224/27</AddressPrefix> </Subnet>
如果您先前的閘道是站對站 VPN,則也必須將連線類型變更為 [專用] 。
<Gateway> <ConnectionsToLocalNetwork> <LocalNetworkSiteRef name="MyLocalNetwork"> <Connection type="Dedicated" /> </LocalNetworkSiteRef> </ConnectionsToLocalNetwork> </Gateway>
此時,您會使用沒有閘道器的 VNet。 若要建立新的閘道器並完成連接,您可以繼續進行 步驟 4 - 建立 ExpressRoute 閘道器(您可以在先前的步驟組中找到)。
下一步
如需有關 ExpressRoute 的詳細資訊,請參閱 ExpressRoute 常見問題集