Konfigurera ExpressRoute- och plats-till-plats-samexisterande anslutningar med hjälp av PowerShell

Den här artikeln hjälper dig att konfigurera ExpressRoute- och plats-till-plats-VPN-anslutningar som samexisterar. Att kunna konfigurera plats-till-plats-VPN och ExpressRoute har flera fördelar. Du kan konfigurera plats-till-plats-VPN som en säker redundanssökväg för ExpressRoute eller använda plats-till-plats-VPN för att ansluta till platser som inte är anslutna via ExpressRoute. Vi beskriver stegen för att konfigurera båda scenarierna i den här artikeln. Den här artikeln gäller distributionsmodellen i Resource Manager.

Det finns flera fördelar med att konfigurera plats-till-plats-VPN- och ExpressRoute-samexisterande anslutningar:

  • Du kan konfigurera ett plats-till-plats-VPN som en säker redundanssökväg för ExpressRoute.
  • Du kan också använda plats-till-plats-VPN för att ansluta till webbplatser som inte är anslutna via ExpressRoute.

Stegen för att konfigurera båda scenarierna beskrivs i den här artikeln. Den här artikeln gäller distributionsmodellen i Resource Manager, och PowerShell används. Du kan också konfigurera dessa scenarier med hjälp av Azure-portalen, även om dokumentationen ännu inte är tillgänglig. Du kan konfigurera någon av gatewayerna först. Normalt upplever du ingen stilleståndstid när du lägger till en ny gateway- eller gatewayanslutning.

Kommentar

Om du vill skapa en plats-till-plats-VPN över en ExpressRoute-krets kan du läsa plats-till-plats-VPN via Microsoft-peering.

Gränser och begränsningar

  • Enbart routebaserad VPN-gateway stöds. Du måste använda en routningsbaserad VPN-gateway. Du kan också använda en routningsbaserad VPN-gateway med en VPN-anslutning som konfigurerats för "principbaserade trafikväljare" enligt beskrivningen i Anslut till flera principbaserade VPN-enheter.
  • Samexistenskonfigurationer för ExpressRoute-VPN Gateway stöds inte på basic-SKU:n.
  • Om du vill använda transitroutning mellan ExpressRoute och VPN måste ASN för Azure VPN Gateway vara inställt på 65515 och Azure Route Server ska användas. Azure VPN Gateway stöder BGP-routningsprotokollet. För att ExpressRoute och Azure VPN ska fungera tillsammans måste du ha det autonoma systemnumret för din Azure VPN-gateway som standardvärde, 65515. Om du tidigare har valt ett annat ASN än 65515 och ändrar inställningen till 65515 måste du återställa VPN-gatewayen för att inställningen ska börja gälla.
  • Gateway-undernätet måste vara /27 eller ett kortare prefix, till exempel /26, /25, eller så får du ett felmeddelande när du lägger till den virtuella ExpressRoute-nätverksgatewayen.
  • Samexistens i ett virtuellt nätverk med dubbla staplar stöds inte. Om du använder ExpressRoute IPv6-stöd och en ExpressRoute-gateway med dubbla staplar är det inte möjligt att samexistera med VPN Gateway.

Konfigurationsdesign

Konfigurera ett plats-till-plats-VPN som en redundanssökväg för ExpressRoute

Du kan konfigurera en PLATS-till-plats-VPN-anslutning som en säkerhetskopia för din ExpressRoute-anslutning. Den här anslutningen gäller endast virtuella nätverk som är länkade till Azures privata peering-sökväg. Det finns ingen VPN-baserad redundanslösning för tjänster som är tillgängliga via Azure Microsoft-peering. ExpressRoute-kretsen är alltid den primära länken. Data flödar endast via VPN-sökvägen plats-till-plats om ExpressRoute-kretsen misslyckas. För att undvika asymmetrisk routning bör din lokala nätverkskonfiguration också föredra ExpressRoute-kretsen framför plats-till-plats-VPN. Du kan prioritera ExpressRoute-sökvägen genom att ange högre lokala inställningar för vägarna som tas emot för ExpressRoute.

Kommentar

  • Om du har Aktiverat ExpressRoute Microsoft-peering kan du ta emot den offentliga IP-adressen för din Azure VPN-gateway på ExpressRoute-anslutningen. Om du vill konfigurera vpn-anslutningen från plats till plats som en säkerhetskopia måste du konfigurera det lokala nätverket så att VPN-anslutningen dirigeras till Internet.

  • Även om ExpressRoute-kretssökvägen föredras framför plats-till-plats-VPN när båda vägarna är desamma, använder Azure den längsta prefixmatchningen för att välja vägen mot paketets mål.

Diagram that shows a site-to-site VPN connection as a backup for ExpressRoute.

Konfigurera ett plats-till-plats-VPN för att ansluta till platser som inte är anslutna via ExpressRoute

Du kan konfigurera ditt nätverk där vissa webbplatser ansluter direkt till Azure via plats-till-plats-VPN och vissa webbplatser ansluter via ExpressRoute.

Coexist

Välj vilka steg du ska använda

Det finns två uppsättningar procedurer för att välja bland. Vilken konfigurationsprocedur du väljer beror på om du har ett befintligt virtuellt nätverk som du vill ansluta till, eller om du vill skapa ett nytt virtuellt nätverk.

  • Jag har inte något VNet och behöver skapa ett.

    Om du inte redan har ett virtuellt nätverk vägleder den här proceduren dig genom att skapa ett nytt virtuellt nätverk med resource manager-distributionsmodellen och skapa nya ExpressRoute- och plats-till-plats-VPN-anslutningar.

  • Jag har redan en distributionsmodell för Resource Manager i VNet.

    Du kanske redan har ett virtuellt nätverk på plats med en befintlig plats-till-plats VPN-anslutning eller ExpressRoute-anslutning. I det här scenariot måste du ta bort den befintliga gatewayen om gatewayprefixet är /28 eller längre (/29, /30 osv.). Stegen för att konfigurera samexisterande anslutningar för ett redan befintligt VNet-avsnitt vägleder dig genom att ta bort gatewayen och sedan skapa nya ExpressRoute- och plats-till-plats-VPN-anslutningar.

    Om du tar bort och återskapar din gateway får du stilleståndstid för dina anslutningar mellan platser. Men dina virtuella datorer och tjänster kan ansluta via Internet medan du konfigurerar din gateway om de är konfigurerade för att göra det.

Innan du börjar

Stegen och exemplen i den här artikeln använder Azure PowerShell Az-moduler. Information om hur du installerar Az-modulerna lokalt på datorn finns i Installera Azure PowerShell. Mer information om den nya Az-modulen finns i Introduktion till den nya Azure PowerShell Az-modulen. PowerShell-cmdletar uppdateras ofta. Om du inte kör den senaste versionen kan de värden som anges i anvisningarna misslyckas. Om du vill hitta de installerade versionerna av PowerShell i systemet använder du cmdleten Get-Module -ListAvailable Az .

Du kan använda Azure Cloud Shell för att köra de flesta PowerShell-cmdletar och CLI-kommandon i stället för att installera Azure PowerShell eller CLI lokalt. Azure Cloud Shell är ett kostnadsfritt interaktivt gränssnitt som har vanliga Azure-verktyg förinstallerade och är konfigurerade att användas med ditt konto. Om du vill köra kod som finns i den här artikeln i Azure Cloud Shell öppnar du en Cloud Shell-session, använder knappen Kopiera i ett kodblock för att kopiera koden och klistrar in den i Cloud Shell-sessionen med Ctrl+Skift+V i Windows och Linux eller Cmd+Skift+V på macOS. Klistrad text körs inte automatiskt, tryck på Retur för att köra kod.

Det finns flera olika sätt att starta Cloud Shell:

Alternativ Länk
Klicka på Prova i det övre högra hörnet av ett kodblock. Cloud Shell in this article
Öppna Cloud Shell i din webbläsare. https://shell.azure.com/powershell
Klicka på knappen Cloud Shell på menyn längst upp till höger på Azure Portal. Cloud Shell in the portal

Den här proceduren vägleder dig genom att skapa ett VNet- och plats-till-plats- och ExpressRoute-anslutningar som samexisterar. De cmdletar som du använder för den här konfigurationen kan se annorlunda ut än de du tidigare använt. Var noga med att använda de cmdletar som anges i instruktionerna.

  1. Logga in och välj din prenumeration.

    Om du använder Azure Cloud Shell loggar du in på ditt Azure-konto automatiskt efter att ha klickat på Prova. Om du vill logga in lokalt öppnar du PowerShell-konsolen med utökade privilegier och kör cmdleten för att ansluta.

    Connect-AzAccount
    

    Om du har fler än en prenumeration hämtar du en lista över dina Azure-prenumerationer.

    Get-AzSubscription
    

    Ange den prenumeration som du vill använda.

    Select-AzSubscription -SubscriptionName "Name of subscription"
    
  2. Definiera variabler och skapa resursgrupp.

    $location = "Central US"
    $resgrp = New-AzResourceGroup -Name "ErVpnCoex" -Location $location
    $VNetASN = 65515
    
  3. Skapa ett virtuellt nätverk med GatewaySubnet. Mer information om hur du skapar ett virtuellt nätverk finns i Skapa ett virtuellt nätverk. Mer information om hur du skapar ett undernät finns i Skapa ett undernät.

    Viktigt!

    GatewaySubnet måste vara ett /27 eller ett kortare prefix, till exempel /26 eller /25.

    Skapa ett nytt virtuellt nätverk.

    $vnet = New-AzVirtualNetwork -Name "CoexVnet" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -AddressPrefix "10.200.0.0/16"
    

    Lägg till två undernät med namnet App och GatewaySubnet.

    Add-AzVirtualNetworkSubnetConfig -Name "App" -VirtualNetwork $vnet -AddressPrefix "10.200.1.0/24"
    Add-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet -AddressPrefix "10.200.255.0/24"
    

    Spara konfigurationen av det virtuella nätverket.

    $vnet = Set-AzVirtualNetwork -VirtualNetwork $vnet
    
  4. Skapa sedan din PLATS-till-plats-VPN-gateway. Mer information om konfigurationen av VPN-gateway finns i Konfigurera ett virtuellt nätverk med en plats-till-plats-anslutning. GatewaySku stöds bara för följande VPN-gatewayer: VpnGw1, VpnGw2, VpnGw3, Standard och HighPerformance. Samexisterande konfigurationer för ExpressRoute-VPN Gateway stöds inte på basic-SKU:n. VpnType måste vara RouteBased.

    $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"
    

    Azure VPN-gatewayen stöder BGP-routningsprotokoll. Du kan ange ASN (AS Number) för det virtuella nätverket genom att lägga till -Asn flaggan i följande kommando. Anger inte parametern Asn som standard till AS-talet till 65515.

    $azureVpn = New-AzVirtualNetworkGateway -Name "VPNGateway" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -IpConfigurations $gwConfig -GatewayType "Vpn" -VpnType "RouteBased" -GatewaySku "VpnGw1"
    

    Kommentar

    För att samexistera gatewayer måste du använda standard-ASN på 65515. Mer information finns i gränser och begränsningar.

    Du hittar IP-adressen för BGP-peering och det AS-nummer som Azure använder för VPN-gatewayen genom att köra $azureVpn.BgpSettings.BgpPeeringAddress och $azureVpn.BgpSettings.Asn. Mer information finns i Konfigurera BGP för Azure VPN-gateway.

  5. Skapa en lokal plats för VPN-gatewayen. Det här kommandot konfigurerar inte din lokala VPN-gateway. I stället kan du ange lokala gateway-inställningar, som t.ex. offentlig IP-adress och lokalt adressutrymme, så att Azure VPN-gatewayen kan ansluta till den.

    Om din lokala VPN-enhet bara stöder statisk routning, kan du konfigurera de statiska vägarna på följande sätt:

    $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
    

    Om din lokala VPN-enhet stöder BGP och du vill aktivera dynamisk routning måste du känna till BGP-peering-IP och AS-numret för din lokala VPN-enhet.

    $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
    
  6. Konfigurera din lokala VPN-enhet till att ansluta till en ny Azure VPN-gateway. Mer information om VPN-enhetskonfiguration finns i VPN-enhetskonfiguration.

  7. Länka PLATS-till-plats-VPN-gatewayen på Azure till den lokala gatewayen.

    $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>
    
  8. Om du ansluter till en befintlig ExpressRoute-krets hoppar du över steg 8 och 9 och går vidare till steg 10. Konfigurera ExpressRoute-kretsar. Mer information om hur du konfigurerar ExpressRoute-krets finns i skapa en ExpressRoute-krets.

  9. Konfigurera privat Azure-peering via ExpressRoute-kretsen. Mer information om hur du konfigurerar privat Azure-peering via ExpressRoute-kretsen finns i konfigurera peering

  10. Skapa en ExpressRoute-gateway. Mer information om konfiguration av ExpressRoute-gateways finns i Konfiguration av ExpressRoute-gateway. GatewaySKU:n måste vara Standard, HighPerformance, eller UltraPerformance.

    $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
    
  11. Länka ExpressRoute-gatewayen till ExpressRoute-kretsen. När det här steget har slutförts har anslutningen mellan ditt lokala nätverk och Azure, via ExpressRoute, upprättats. Mer information om länken finns i Länka VNets till ExpressRoute.

    $ckt = Get-AzExpressRouteCircuit -Name "YourCircuit" -ResourceGroupName "YourCircuitResourceGroup"
    New-AzVirtualNetworkGatewayConnection -Name "ERConnection" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -VirtualNetworkGateway1 $gw -PeerId $ckt.Id -ConnectionType ExpressRoute
    

Så här lägger du till punkt-till-plats-konfiguration till VPN-gateway

Du kan följa de här stegen för att lägga till en punkt-till-plats-konfiguration till vpn-gatewayen i en samexistenskonfiguration. Om du vill ladda upp VPN-rotcertifikatet måste du antingen installera PowerShell lokalt på datorn eller använda Azure-portalen.

  1. Lägga till VPN-klientadresspoolen.

    $azureVpn = Get-AzVirtualNetworkGateway -Name "VPNGateway" -ResourceGroupName $resgrp.ResourceGroupName
    Set-AzVirtualNetworkGateway -VirtualNetworkGateway $azureVpn -VpnClientAddressPool "10.251.251.0/24"
    
  2. Ladda upp VPN-rotcertifikatet till Azure för din VPN-gateway. I det här exemplet förutsätter vi att rotcertifikatet lagras på den lokala datorn där följande PowerShell-cmdletar körs och att du kör PowerShell lokalt. Du kan också ladda upp certifikatet med hjälp av Azure-portalen.

    $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
    

Mer information om punkt-till-plats-VPN finns i Konfigurera en punkt-till-plats-anslutning.

Aktivera överföringsroutning mellan ExpressRoute och Azure VPN

Om du vill aktivera anslutningen mellan ett av dina lokala nätverk som är anslutet till ExpressRoute och ett annat av ditt lokala nätverk som är anslutet till en plats-till-plats-VPN-anslutning måste du konfigurera Azure Route Server.

Nästa steg

Mer information om ExpressRoute finns i Vanliga frågor och svar om ExpressRoute.