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. Das Konfigurieren beider Verbindungen weist mehrere Vorteile auf:
- Sie können ein Site-to-Site-VPN als sicheren Failoverpfad für ExpressRoute einrichten.
- 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. Dieses Setup 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. Der ExpressRoute-Kreis ist immer die primäre Verbindung, und die Daten fließen nur dann über den Site-to-Site-VPN-Pfad, wenn die ExpressRoute-Verbindung versagt. Um asymmetrisches Routing zu vermeiden, konfigurieren Sie Ihr lokales Netzwerk so, dass die ExpressRoute-Leitung gegenüber dem Site-to-Site-VPN Vorrang hat, indem Sie für die über ExpressRoute erhaltenen Routen eine höhere lokale Einstellung vornehmen.
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 Absicherung müssen Sie Ihr lokales Netzwerk so konfigurieren, dass die VPN-Verbindung zum 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 über ein Site-to-Site-VPN direkt mit Azure, andere hingegen ü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 oder ob Sie ein neues erstellen müssen.
Ich verfüge über kein 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.
Wenn Sie bereits über ein virtuelles Netzwerk mit einer vorhandenen Site-to-Site-VPN- oder ExpressRoute-Leitung verfügen und das Präfix des Gateway-Subnetzes /28 oder länger ist (/29, /30 usw.), müssen Sie das vorhandene Gateway löschen. Die Schritte zum Konfigurieren paralleler Verbindungen für einen vorhandenen VNet-Bereich führen Sie durch das Löschen des Gateways und das anschließende Erstellen neuer ExpressRoute- und Site-to-Site-VPN-Verbindungen.
Das Löschen und Neuerstellen Ihres Gateways verursacht Ausfallzeiten für Ihre standortübergreifenden Verbindungen. Wenn Ihre VMs und Dienste entsprechend eingerichtet sind, können sie aber über das Internet eine Verbindung herstellen, während Sie Ihr Gateway konfigurieren.
Voraussetzungen
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 virtuellen Netzwerks und das Konfigurieren paralleler Site-to-Site-VPN- und ExpressRoute-Verbindungen. Die in dieser Konfiguration verwendeten Cmdlets unterscheiden sich möglicherweise von jenen, mit denen Sie vertraut sind. Stellen Sie daher sicher, dass Sie die angegebenen 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 Ihr Site-to-Site-VPN Gateway. Weitere Informationen zur VPN Gateway-Konfiguration erhalten Sie unter Konfigurieren eines VNet mit einer Site-to-Site-Verbindung. Die GatewaySku wird 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 das virtuelle Netzwerk angeben, indem Sie im folgenden Befehl das Flag „
-Asn
“ hinzufügen. Wenn der ParameterAsn
nicht angegeben wird, ist 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 Gateways bereitstellen, wie z. B. die öffentliche IP-Adresse und den lokalen Adressraum, sodass eine Verbindung mit dem Azure-VPN Gateway hergestellt werden kann.
Falls Ihr lokales VPN-Gerät nur statisches Routing unterstützt, konfigurieren Sie die statischen Routen wie folgt:
$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 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 Verbindung zu einer vorhandenen ExpressRoute-Leitung herstellen. Konfigurieren Sie ExpressRoute-Verbindungen. Weitere Informationen zum Konfigurieren von ExpressRoute-Leitungen finden Sie unter Erstellen einer ExpressRoute-Verbindung.
Konfigurieren Sie das private Azure-Peering über die ExpressRoute-Verbindung. Weitere Informationen zur Konfiguration des privaten Azure-Peerings über die ExpressRoute-Leitung erhalten 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 über 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