Konfigurieren parallel bestehender ExpressRoute- und Site-to-Site-Verbindungen mithilfe von PowerShell
In diesem Artikel wird beschrieben, wie Sie parallel bestehende ExpressRoute- und Site-to-Site-VPN-Verbindungen konfigurieren. Die Möglichkeit zum Konfigurieren von Site-to-Site-VPN und ExpressRoute bietet mehrere Vorteile. Sie können ein Site-to-Site-VPN als sicheren Failoverpfad für ExpressRoute konfigurieren oder für Verbindungen mit Websites nutzen, die nicht über ExpressRoute verbunden sind. In diesem Artikel werden die Konfigurationsschritte für beide Szenarien behandelt. Dieser Artikel gilt für das Resource Manager-Bereitstellungsmodell.
Das Konfigurieren paralleler Site-to-Site-VPN- und ExpressRoute-Verbindungen bietet mehrere Vorteile:
- Sie können ein Site-to-Site-VPN als sicheren Failoverpfad für ExpressRoute konfigurieren.
- Alternativ hierzu können Sie Site-to-Site-VPNs nutzen, um Standorte zu verbinden, die nicht per ExpressRoute verbunden sind.
Dieser Artikel enthält die Schritte für die Konfiguration beider Szenarien. Dieser Artikel gilt für das Resource Manager-Bereitstellungsmodell und für die Verwendung von PowerShell. Sie können diese Szenarien auch über das Azure-Portal konfigurieren – für diese Vorgehensweise steht jedoch noch keine Dokumentation zur Verfügung. Sie können ein beliebiges Gateway zuerst konfigurieren. Beim Hinzufügen eines neuen Gateways oder einer Gatewayverbindung müssen Sie in der Regel nicht mit Ausfallzeiten rechnen.
Hinweis
Wenn Sie ein Site-to-Site-VPN über eine ExpressRoute-Verbindung erstellen möchten, finden Sie weitere Informationen unter Site-to-Site über Microsoft-Peering.
Grenzwerte und Einschränkungen
- Nur das routenbasierte VPN-Gateway wird unterstützt. Sie müssen ein routenbasiertes VPN-Gateway verwenden. Sie können auch ein routenbasiertes VPN-Gateway mit einer VPN-Verbindung verwenden, die für die richtlinienbasierte Datenverkehrsauswahl konfiguriert ist, wie unter Herstellen einer Verbindung mit mehreren richtlinienbasierten VPN-Geräten beschrieben.
- Die gemeinsame Verwendung von ExpressRoute und VPN Gateway wird mit einer öffentlichen IP-Adresse der SKU „Basic“ nicht unterstützt.
- Wenn Sie Transitrouting zwischen ExpressRoute und VPN verwenden möchten, muss die ASN des Azure VPN Gateways auf 65515 festgelegt werden. Zudem sollte Azure Route Server verwendet werden. Azure VPN Gateway unterstützt das BGP-Routingprotokoll. Damit ExpressRoute und Azure-VPN zusammenarbeiten können, müssen Sie die autonome Systemnummer (ASN) Ihres Azure VPN-Gateways mit dem Standardwert „65515“ beibehalten. Wenn Sie zuvor eine andere ASN als „65515“ ausgewählt haben und die Einstellung auf „65515“ ändern, müssen Sie das VPN-Gateway zurücksetzen, damit die Einstellung wirksam wird.
- Das Präfix des Gatewaysubnetzes muss /27 oder kürzer sein (z. B. /26 oder /25). Andernfalls erhalten Sie eine Fehlermeldung, wenn Sie das Gateway für das virtuelle ExpressRoute-Netzwerk hinzufügen.
Konfigurationsentwürfe
Konfigurieren eines Site-to-Site-VPN als Failoverpfad für ExpressRoute
Sie können eine Site-to-Site-VPN-Verbindung als Sicherung für Ihre ExpressRoute-Verbindung konfigurieren. Diese Verbindung gilt nur für virtuelle Netzwerke, die mit dem privaten Azure-Peeringpfad verknüpft sind. Es gibt keine VPN-basierte Failoverlösung für Dienste, auf die per Azure Microsoft-Peering zugegriffen wird. Die ExpressRoute-Verbindung ist immer der primäre Link. Die Daten fließen nur durch das Site-to-Site-VPN, wenn bei der ExpressRoute-Verbindung ein Fehler auftritt. Zur Vermeidung asymmetrischen Routings sollte für die Konfiguration Ihres lokalen Netzwerks auch die ExpressRoute-Verbindung dem Site-to-Site-VPN vorgezogen werden. Sie können dem ExpressRoute-Pfad Vorrang einräumen, indem Sie für die Routen, die über ExpressRoute verlaufen, einen höheren lokalen Präferenzwert festlegen.
Hinweis
Wenn Sie für ExpressRoute Microsoft-Peering aktiviert haben, können Sie die öffentliche IP-Adresse Ihres Azure VPN Gateways über die ExpressRoute-Verbindung erhalten. Zum Einrichten der Site-to-Site-VPN-Verbindung als Sicherung müssen Sie Ihr lokales Netzwerk so konfigurieren, dass die VPN-Verbindung an das Internet weitergeleitet wird.
Die ExpressRoute-Verbindung wird zwar dem Site-to-Site-VPN vorgezogen. Wenn beide Verbindungen jedoch identisch sind, verwendet Azure die längste Präfixübereinstimmung, um die Route zum Ziel des Pakets auszuwählen.
Konfigurieren eines Site-to-Site-VPN zum Herstellen einer Verbindung mit Websites, die nicht über ExpressRoute verbunden sind
Sie können Ihr Netzwerk so konfigurieren, dass einige Sites direkt mit Azure über ein Site-to-Site-VPN und andere über ExpressRoute verbunden sind.
Auswählen der zu verwendenden Schritte
Sie haben die Wahl zwischen zwei Vorgehensweisen. Welches Konfigurationsverfahren Sie wählen, hängt davon ab, ob Sie über ein vorhandenes virtuelles Netzwerk verfügen, mit dem Sie eine Verbindung herstellen möchten, oder ob Sie ein neues virtuelles Netzwerk erstellen möchten.
Ich verfüge nicht über ein VNET und muss eines erstellen.
Wenn Sie noch nicht über ein virtuelles Netzwerk verfügen, werden Sie in diesem Verfahren durch die Schritte zum Erstellen eines neuen virtuellen Netzwerks mithilfe des Resource Manager-Bereitstellungsmodells und zum Erstellen neuer ExpressRoute- sowie Site-to-Site-VPN-Verbindungen geführt.
Ich verfüge bereits über ein VNET, das auf dem Resource Manager-Bereitstellungsmodell basiert.
Möglicherweise haben Sie bereits ein virtuelles Netzwerk mit einer vorhandenen Site-to-Site-VPN-Verbindung oder einer ExpressRoute-Verbindung. Bei diesem Szenario müssen Sie das vorhandene Gateway löschen, wenn das Gatewaysubnetzpräfix /28 oder länger (/29, /30 usw.) ist. Die Schritte zum Konfigurieren paralleler Verbindungen für ein bereits vorhandenes VNET führen Sie durch das Löschen des Gateways und das anschließende Erstellen neuer ExpressRoute- und Site-to-Site-VPN-Verbindungen.
Wenn Sie Ihr Gateway löschen und neu erstellen, müssen Sie bei Ihren standortübergreifenden Verbindungen mit Ausfallzeiten rechnen. Wenn Ihre VMs und Dienste entsprechend konfiguriert sind, können sie aber über das Internet eine Verbindung herstellen, während Sie Ihr Gateway konfigurieren.
Vorbereitung
Die Schritte und Beispiele in diesem Artikel verwenden Azure PowerShell Az-Module. Informationen zur lokalen Installation von Az-Modulen auf Ihrem Computer finden Sie unter Installieren von Azure PowerShell. Weitere Informationen zum neuen Az-Modul finden Sie unter Einführung in das neue Azure PowerShell Az-Modul. PowerShell-Cmdlets werden regelmäßig aktualisiert. Wenn Sie nicht die neueste Version verwenden, können die in den Anweisungen angegebenen Werte fehlschlagen. Um die installierten Versionen von PowerShell auf Ihrem System zu suchen, verwenden Sie das Get-Module -ListAvailable Az
-Cmdlet.
Sie können Azure Cloud Shell verwenden, um die meisten PowerShell-Cmdlets und CLI-Befehle auszuführen, anstatt Azure PowerShell oder die Befehlszeilenschnittstelle lokal zu installieren. Azure Cloud Shell ist eine kostenlose interaktive Shell, in der häufig verwendete Azure-Tools vorinstalliert sind und die für die Verwendung mit Ihrem Konto konfiguriert wurde. Um in Azure Cloud Shell Code aus diesem Artikel auszuführen, öffnen Sie eine Cloud Shell-Sitzung, verwenden Sie für einen Codeblock die Schaltfläche Kopieren, um Code zu kopieren, und fügen Sie ihn mit STRG+UMSCHALT+V (Windows und Linux) oder BEFEHL+UMSCHALT+V (macOS) in die Cloud Shell-Sitzung ein. Eingefügter Code wird nicht automatisch ausgeführt. Sie müssen zum Ausführen von Code die EINGABETASTE drücken.
Cloud Shell kann auf mehrere Arten gestartet werden:
- Neues virtuelles Netzwerk und parallele Verbindungen
- Vorhandenen virtuelles Netzwerk mit einem Gateway
Dieses Verfahren führt Sie durch das Erstellen eines VNETs sowie durch das Erstellen paralleler Site-to-Site- und ExpressRoute-Verbindungen. Für diese Konfiguration werden unter Umständen Cmdlets verwendet, mit denen Sie nicht so vertraut sind. Achten Sie darauf, die in dieser Anleitung angegebenen Cmdlets zu verwenden.
Melden Sie sich an, und wählen Sie Ihr Abonnement aus.
Wenn Sie Azure Cloud Shell verwenden, melden Sie sich nach dem Klicken auf „Ausprobieren“ automatisch bei Ihrem Azure-Konto an. Öffnen Sie zum lokalen Anmelden Ihre PowerShell-Konsole mit erhöhten Rechten, und führen Sie das Cmdlet aus, um eine Verbindung herzustellen.
Connect-AzAccount
Falls Sie über mehrere Abonnements verfügen, rufen Sie eine Liste Ihrer Azure-Abonnements ab.
Get-AzSubscription
Geben Sie das Abonnement an, das Sie verwenden möchten.
Select-AzSubscription -SubscriptionName "Name of subscription"
Definieren Sie Variablen und Erstellen Sie eine Ressourcengruppe.
$location = "Central US" $resgrp = New-AzResourceGroup -Name "ErVpnCoex" -Location $location $VNetASN = 65515
Erstellen Sie ein virtuelles Netzwerk einschließlich des
GatewaySubnet
. Weitere Informationen zum Erstellen von virtuellen Netzwerken finden Sie unter Create a virtual network (Erstellen eines virtuellen Netzwerks). Weitere Informationen zum Erstellen von Subnetzen finden Sie unter Erstellen eines Subnetzes.Wichtig
Das Präfix des Gatewaysubnetzes muss /27 kürzer Präfix sein (z. B. /26 oder /25).
Erstellen Sie ein neues virtuelles Netzwerk.
$vnet = New-AzVirtualNetwork -Name "CoexVnet" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -AddressPrefix "10.200.0.0/16"
Fügen Sie zwei Subnetze mit den Namen App und GatewaySubnet hinzu.
Add-AzVirtualNetworkSubnetConfig -Name "App" -VirtualNetwork $vnet -AddressPrefix "10.200.1.0/24" Add-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet -AddressPrefix "10.200.255.0/24"
Speichern Sie die Konfiguration des virtuellen Netzwerks ab.
$vnet = Set-AzVirtualNetwork -VirtualNetwork $vnet
Erstellen Sie als Nächstes Ihr Site-to-Site-VPN Gateway. Weitere Informationen zur Konfiguration eines VPN Gateways finden Sie unter Erstellen eines VNet mit einer Site-to-Site-Verbindung. Die GatewaySku wird nur für die VPN-Gateways VpnGw1, VpnGw2, VpnGw3, Standard und HighPerformance unterstützt. Die gemeinsame Verwendung von VPN Gateway und ExpressRoute wird in der Basic-SKU nicht unterstützt. Für VpnType muss RouteBased verwendet werden.
$gwSubnet = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet $gwIP = New-AzPublicIpAddress -Name "VPNGatewayIP" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -AllocationMethod Dynamic $gwConfig = New-AzVirtualNetworkGatewayIpConfig -Name "VPNGatewayIpConfig" -SubnetId $gwSubnet.Id -PublicIpAddressId $gwIP.Id New-AzVirtualNetworkGateway -Name "VPNGateway" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -IpConfigurations $gwConfig -GatewayType "Vpn" -VpnType "RouteBased" -GatewaySku "VpnGw1"
Das Azure VPN Gateway unterstützt das BGP-Routingprotokoll. Sie können die ASN (AS-Nummer) für dieses virtuelle Netzwerk angeben, indem Sie den Flag „
-Asn
“ im folgenden Befehl hinzufügen. Wenn derAsn
Parameter nicht angegeben wird, wird die AS-Nummer standardmäßig auf 65515 festgelegt.$azureVpn = New-AzVirtualNetworkGateway -Name "VPNGateway" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -IpConfigurations $gwConfig -GatewayType "Vpn" -VpnType "RouteBased" -GatewaySku "VpnGw1"
Hinweis
Für gleichzeitig bestehende Gateways müssen Sie die Standard-ASN 65515 verwenden. Weitere Informationen finden Sie unter Grenzwerte und Einschränkungen.
Sie finden die von Azure für das VPN Gateway verwendete BGP-Peering-IP sowie die AS-Nummer, indem Sie „
$azureVpn.BgpSettings.BgpPeeringAddress
“ und „$azureVpn.BgpSettings.Asn
“ ausführen. Weitere Informationen finden Sie unter Konfigurieren von BGP auf Azure VPN Gateways mithilfe von Azure Resource Manager und PowerShell für das Azure VPN Gateway.Erstellen Sie eine VPN-Gateway-Entität für einen lokalen Standort. Mit diesem Befehl wird das lokale VPN-Gateway nicht konfiguriert. Stattdessen können Sie mit ihm die Einstellungen des lokalen Gateway bereitstellen, wie z. B. die öffentliche IP-Adresse und der lokale Adressraum, sodass eine Verbindung mit dem Azure-VPN-Gateway hergestellt werden kann.
Falls Ihr lokales VPN-Gerät nur statisches Routing unterstützt, können Sie die statischen Routen wie folgt konfigurieren:
$MyLocalNetworkAddress = @("10.100.0.0/16","10.101.0.0/16","10.102.0.0/16") $localVpn = New-AzLocalNetworkGateway -Name "LocalVPNGateway" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -GatewayIpAddress *<Public IP>* -AddressPrefix $MyLocalNetworkAddress
Falls Ihr lokales VPN-Gerät das BGP unterstützt und Sie das dynamische Routing aktivieren möchten, müssen Sie die BGP-Peering-IP und die AS-Nummer Ihres lokalen VPN-Geräts kennen.
$localVPNPublicIP = "<Public IP>" $localBGPPeeringIP = "<Private IP for the BGP session>" $localBGPASN = "<ASN>" $localAddressPrefix = $localBGPPeeringIP + "/32" $localVpn = New-AzLocalNetworkGateway -Name "LocalVPNGateway" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -GatewayIpAddress $localVPNPublicIP -AddressPrefix $localAddressPrefix -BgpPeeringAddress $localBGPPeeringIP -Asn $localBGPASN
Konfigurieren Sie Ihr lokales VPN-Gerät für die Verbindung zum neuen Azure VPN Gateway. Weitere Informationen zu VPN-Gerätekonfiguration finden Sie unter VPN-Gerätekonfiguration.
Verknüpfen Sie das Site-to-Site-VPN Gateway in Azure mit dem lokalen Gateway.
$azureVpn = Get-AzVirtualNetworkGateway -Name "VPNGateway" -ResourceGroupName $resgrp.ResourceGroupName New-AzVirtualNetworkGatewayConnection -Name "VPNConnection" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -VirtualNetworkGateway1 $azureVpn -LocalNetworkGateway2 $localVpn -ConnectionType IPsec -SharedKey <yourkey>
Überspringen Sie die Schritte 8 und 9, und fahren Sie mit Schritt 10 fort, wenn Sie eine vorhandene ExpressRoute-Verbindung verwenden. Konfigurieren Sie ExpressRoute-Verbindungen. Weitere Informationen zum Konfigurieren von ExpressRoute-Verbindungen finden Sie unter Erstellen und Ändern einer ExpressRoute-Verbindung mit PowerShell.
Konfigurieren Sie das private Azure-Peering über die ExpressRoute-Verbindung. Weitere Informationen zur Konfiguration des privaten Azure-Peerings über die ExpressRoute-Verbindung finden Sie unter Konfigurieren des Peerings.
Erstellen Sie ein ExpressRoute-Gateway. Weitere Informationen zur Konfiguration des ExpressRoute-Gateways finden Sie unter ExpressRoute-Gatewaykonfiguration. GatewaySKU muss Standard, HighPerformance oder UltraPerformance lauten.
$gwSubnet = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet $gwIP = New-AzPublicIpAddress -Name "ERGatewayIP" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -AllocationMethod Dynamic $gwConfig = New-AzVirtualNetworkGatewayIpConfig -Name "ERGatewayIpConfig" -SubnetId $gwSubnet.Id -PublicIpAddressId $gwIP.Id $gw = New-AzVirtualNetworkGateway -Name "ERGateway" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -IpConfigurations $gwConfig -GatewayType "ExpressRoute" -GatewaySku Standard
Verknüpfen Sie das ExpressRoute-Gateway mit dem ExpressRoute-Schaltkreis. Nachdem dieser Schritt abgeschlossen ist, wird die Verbindung zwischen dem lokalen Netzwerk und Azure durch ExpressRoute eingerichtet. Weitere Informationen zum Verknüpfungsvorgang finden Sie unter Verknüpfen von VNETs mit ExpressRoute.
$ckt = Get-AzExpressRouteCircuit -Name "YourCircuit" -ResourceGroupName "YourCircuitResourceGroup" New-AzVirtualNetworkGatewayConnection -Name "ERConnection" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -VirtualNetworkGateway1 $gw -PeerId $ckt.Id -ConnectionType ExpressRoute
So fügen Sie dem VPN Gateway eine Punkt-zu-Standort-Konfiguration hinzu
Sie können die unten angegebenen Schritte ausführen, um dem VPN-Gateway bei einer parallelen Einrichtung eine Point-to-Site-Konfiguration hinzuzufügen. Um das VPN-Stammzertifikat hochzuladen, müssen Sie entweder PowerShell lokal auf Ihrem Computer installieren oder das Azure-Portal verwenden.
Fügen Sie einen VPN-Clientadresspool hinzu.
$azureVpn = Get-AzVirtualNetworkGateway -Name "VPNGateway" -ResourceGroupName $resgrp.ResourceGroupName Set-AzVirtualNetworkGateway -VirtualNetworkGateway $azureVpn -VpnClientAddressPool "10.251.251.0/24"
Laden Sie das VPN-Stammzertifikat für Ihr VPN Gateway in Azure hoch. In diesem Beispiel wird davon ausgegangen, dass das Stammzertifikat auf dem lokalen Computer gespeichert wird, auf dem die folgenden PowerShell-Cmdlets ausgeführt werden. Es wird ebenfalls davon ausgegangen, dass Sie PowerShell lokal ausführen. Sie können das Zertifikat auch über das Azure-Portal hochladen.
$p2sCertFullName = "RootErVpnCoexP2S.cer" $p2sCertMatchName = "RootErVpnCoexP2S" $p2sCertToUpload=get-childitem Cert:\CurrentUser\My | Where-Object {$_.Subject -match $p2sCertMatchName} if ($p2sCertToUpload.count -eq 1){write-host "cert found"} else {write-host "cert not found" exit} $p2sCertData = [System.Convert]::ToBase64String($p2sCertToUpload.RawData) Add-AzVpnClientRootCertificate -VpnClientRootCertificateName $p2sCertFullName -VirtualNetworkGatewayname $azureVpn.Name -ResourceGroupName $resgrp.ResourceGroupName -PublicCertData $p2sCertData
Weitere Informationen zu Punkt-zu-Standort-VPN-Verbindungen finden Sie unter Konfigurieren einer Punkt-zu-Standort-Verbindung.
So aktivieren Sie das Transitrouting zwischen ExpressRoute und Azure VPN
Wenn Sie die Konnektivität zwischen einem Ihrer lokalen Netzwerke, das mit ExpressRoute verbunden ist, und einem anderen Ihrer lokalen Netzwerke, das mit einer Site-to-Site-VPN-Verbindung verbunden ist, aktivieren möchten, müssen Sie Azure Route Server einrichten.
Nächste Schritte
Weitere Informationen über ExpressRoute finden Sie unter ExpressRoute – FAQ.