Konfigurowanie współistniejących połączeń usługi ExpressRoute i połączeń typu lokacja-lokacja przy użyciu programu PowerShell
Ten artykuł ułatwia konfigurowanie współistniejących połączeń usługi ExpressRoute i sieci VPN typu lokacja-lokacja. Możliwość konfigurowania sieci VPN typu lokacja-lokacja i usługi ExpressRoute ma kilka zalet. Sieć VPN typu lokacja-lokacja można skonfigurować jako bezpieczną ścieżkę trybu failover dla usługi ExpressRoute lub użyć sieci VPN typu lokacja-lokacja do łączenia się z lokacjami, które nie są połączone za pośrednictwem usługi ExpressRoute. Ten artykuł zawiera instrukcje konfiguracji obu scenariuszy. Ten artykuł ma zastosowanie w modelu wdrażania usługi Resource Manager.
Konfigurowanie współistniejących połączeń sieci VPN typu lokacja-lokacja i usługi ExpressRoute ma kilka zalet:
- Sieć VPN typu lokacja-lokacja można skonfigurować jako bezpieczną ścieżkę trybu failover dla usługi ExpressRoute.
- Alternatywnie można użyć sieci VPN typu lokacja-lokacja do łączenia się z lokacjami, które nie są połączone za pośrednictwem usługi ExpressRoute.
Ten artykuł zawiera instrukcje konfiguracji obu scenariuszy. Ten artykuł ma zastosowanie w modelu wdrażania przy użyciu usługi Resource Manager i używa programu PowerShell. Te scenariusze można również skonfigurować przy użyciu witryny Azure Portal, chociaż dokumentacja nie jest jeszcze dostępna. Możesz najpierw skonfigurować jedną bramę. Zazwyczaj nie występują żadne przestoje podczas dodawania nowej bramy lub połączenia bramy.
Uwaga
Jeśli chcesz utworzyć sieć VPN typu lokacja-lokacja za pośrednictwem obwodu usługi ExpressRoute, zobacz Sieć VPN typu lokacja-lokacja za pośrednictwem komunikacji równorzędnej firmy Microsoft.
Limity i ograniczenia
- Obsługiwana jest tylko brama sieci VPN oparta na trasach. Należy użyć bramy sieci VPN opartej na trasach. Możesz również użyć bramy sieci VPN opartej na trasach z połączeniem sieci VPN skonfigurowanym dla selektorów ruchu opartych na zasadach, zgodnie z opisem w artykule Łączenie z wieloma urządzeniami sieci VPN opartymi na zasadach.
- Współistnienie konfiguracji usługi ExpressRoute-VPN Gateway nie jest obsługiwane z publicznym adresem IP jednostki SKU w warstwie Podstawowa.
- Jeśli chcesz użyć routingu tranzytowego między usługą ExpressRoute i siecią VPN, numer ASN usługi Azure VPN Gateway musi być ustawiony na wartość 65515, a należy użyć usługi Azure Route Server. Usługa Azure VPN Gateway obsługuje protokół routingu BGP. Aby usługa ExpressRoute i sieć VPN platformy Azure współdziałały ze sobą, należy zachować numer systemu autonomicznego bramy sieci VPN platformy Azure z wartością domyślną 65515. Jeśli wcześniej wybrano numer ASN inny niż 65515 i zmienisz ustawienie na 65515, musisz zresetować bramę sieci VPN, aby ustawienie zaczęły obowiązywać.
- Podsieć bramy musi być /27 lub krótszym prefiksem, takim jak /26, /25 lub podczas dodawania bramy sieci wirtualnej usługi ExpressRoute zostanie wyświetlony komunikat o błędzie.
Projekty konfiguracji
Konfigurowanie sieci VPN typu lokacja-lokacja jako ścieżki trybu failover dla usługi ExpressRoute
Połączenie sieci VPN typu lokacja-lokacja można skonfigurować jako kopię zapasową połączenia usługi ExpressRoute. To połączenie dotyczy tylko sieci wirtualnych połączonych ze ścieżką prywatnej sieci równorzędnej Azure. Nie ma rozwiązania trybu failover opartego na sieci VPN dla usług dostępnych za pośrednictwem komunikacji równorzędnej azure firmy Microsoft. Obwód usługi ExpressRoute jest zawsze połączeniem podstawowym. Dane przepływa przez ścieżkę sieci VPN typu lokacja-lokacja tylko wtedy, gdy obwód usługi ExpressRoute ulegnie awarii. Aby uniknąć routingu asymetrycznego, konfiguracja sieci lokalnej powinna również preferować obwód usługi ExpressRoute za pośrednictwem sieci VPN typu lokacja-lokacja. Możesz preferować ścieżkę ExpressRoute, ustawiając wyższy poziom preferencji lokalnych w przypadku tras odbieranych z usługi ExpressRoute.
Uwaga
Jeśli włączono komunikację równorzędną usługi ExpressRoute firmy Microsoft, możesz otrzymać publiczny adres IP bramy sieci VPN platformy Azure w połączeniu usługi ExpressRoute. Aby skonfigurować połączenie sieci VPN typu lokacja-lokacja jako kopię zapasową, należy skonfigurować sieć lokalną, aby połączenie sieci VPN było kierowane do Internetu.
Chociaż ścieżka obwodu usługi ExpressRoute jest preferowana w sieci VPN typu lokacja-lokacja, gdy obie trasy są takie same, platforma Azure używa najdłuższego dopasowania prefiksu, aby wybrać trasę do miejsca docelowego pakietu.
Konfigurowanie sieci VPN typu lokacja-lokacja w celu łączenia się z lokacjami, które nie są połączone za pośrednictwem usługi ExpressRoute
Możesz skonfigurować sieć, w której niektóre lokacje łączą się bezpośrednio z platformą Azure za pośrednictwem sieci VPN typu lokacja-lokacja, a niektóre lokacje łączą się za pośrednictwem usługi ExpressRoute.
Wybieranie czynności do wykonania
Istnieją dwa różne zestawy procedur do wyboru. Wybór procedury konfiguracji zależy od tego, czy masz istniejącą sieć wirtualną, z którą chcesz się połączyć, czy chcesz utworzyć nową.
Nie mam sieci wirtualnej i muszę ją utworzyć.
Jeśli nie masz jeszcze sieci wirtualnej, ta procedura przeprowadzi Cię przez proces tworzenia nowej sieci wirtualnej przy użyciu modelu wdrażania usługi Resource Manager oraz tworzenia nowych połączeń usługi ExpressRoute i sieci VPN typu lokacja-lokacja.
Mam już sieć wirtualną modelu wdrażania usługi Resource Manager.
Być może masz już sieć wirtualną z istniejącym połączeniem sieci VPN typu lokacja-lokacja lub połączeniem usługi ExpressRoute. W tym scenariuszu, jeśli prefiks podsieci bramy to /28 lub dłuższy (/29, /30 itp.), musisz usunąć istniejącą bramę. Kroki konfigurowania współistniejących połączeń dla już istniejącej sieci wirtualnej zawierają instrukcje usuwania bramy, a następnie tworzenie nowych połączeń usługi ExpressRoute i sieci VPN typu lokacja-lokacja.
Jeśli usuniesz i ponownie utworzysz bramę, wystąpi przestój dla połączeń obejmujących wiele lokalizacji. Jednak maszyny wirtualne i usługi mogą łączyć się za pośrednictwem Internetu podczas konfigurowania bramy, jeśli są one skonfigurowane do tego celu.
Zanim rozpoczniesz
Kroki i przykłady w tym artykule korzystają z modułów Az programu Azure PowerShell. Aby zainstalować moduły Az lokalnie na komputerze, zobacz Instalowanie programu Azure PowerShell. Aby dowiedzieć się więcej na temat nowego modułu Az, zobacz Wprowadzenie do nowego modułu Az programu Azure PowerShell. Polecenia cmdlet programu PowerShell są często aktualizowane. Jeśli nie używasz najnowszej wersji, wartości określone w instrukcjach mogą zakończyć się niepowodzeniem. Aby znaleźć zainstalowane wersje programu PowerShell w systemie, użyj Get-Module -ListAvailable Az
polecenia cmdlet .
Za pomocą usługi Azure Cloud Shell można uruchamiać większość poleceń cmdlet programu PowerShell i poleceń interfejsu wiersza polecenia zamiast instalować program Azure PowerShell lub interfejs wiersza polecenia lokalnie. Usługa Azure Cloud Shell to bezpłatna interaktywna powłoka, która ma wstępnie zainstalowane typowe narzędzia platformy Azure i jest skonfigurowana do używania z kontem. Aby uruchomić dowolny kod zawarty w tym artykule w usłudze Azure Cloud Shell, otwórz sesję usługi Cloud Shell, użyj przycisku Kopiuj w bloku kodu, aby skopiować kod i wklej go do sesji usługi Cloud Shell za pomocą Ctrl+Shift+V w systemach Windows i Linux lub Cmd+Shift+V w systemie macOS. Wklejony tekst nie jest automatycznie wykonywany, naciśnij Enter , aby uruchomić kod.
Istnieje kilka sposobów uruchomienia usługi Cloud Shell:
Opcja | Link |
---|---|
Kliknij przycisk Wypróbuj w prawym górnym rogu bloku kodu. | |
Otwórz usługę Cloud Shell w swojej przeglądarce. | |
Kliknij przycisk Cloud Shell w menu w prawym górnym rogu witryny Azure Portal. | |
Ta procedura przeprowadzi Cię przez proces tworzenia współistniejących połączeń między sieciami wirtualnymi i lokacją i usługą ExpressRoute. Polecenia cmdlet, których użyjesz do tej konfiguracji, mogą trochę różnić się od tych, które znasz. Koniecznie użyj poleceń cmdlet podanych w tych instrukcjach.
Zaloguj się i wybierz swoją subskrypcję.
Jeśli używasz usługi Azure Cloud Shell, zaloguj się automatycznie do konta platformy Azure po kliknięciu pozycji "Wypróbuj". Aby zalogować się lokalnie, otwórz konsolę programu PowerShell z podwyższonym poziomem uprawnień i uruchom polecenie cmdlet, aby nawiązać połączenie.
Connect-AzAccount
Jeśli masz więcej niż jedną subskrypcję, pobierz listę subskrypcji platformy Azure.
Get-AzSubscription
Określ subskrypcję, której chcesz użyć.
Select-AzSubscription -SubscriptionName "Name of subscription"
Zdefiniuj zmienne i utwórz grupę zasobów.
$location = "Central US" $resgrp = New-AzResourceGroup -Name "ErVpnCoex" -Location $location $VNetASN = 65515
Utwórz sieć wirtualną, w tym .
GatewaySubnet
Aby uzyskać więcej informacji na temat tworzenia sieci wirtualnej, zobacz Create a virtual network (Tworzenie sieci wirtualnej). Aby uzyskać więcej informacji na temat tworzenia podsieci, zobacz Create a subnet (Tworzenie podsieci)Ważne
Podsieć GatewaySubnet musi być /27 lub krótszym prefiksem, takim jak /26 lub /25.
Utwórz nową sieć wirtualną.
$vnet = New-AzVirtualNetwork -Name "CoexVnet" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -AddressPrefix "10.200.0.0/16"
Dodaj dwie podsieci o nazwie App i 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"
Zapisz konfigurację sieci wirtualnej.
$vnet = Set-AzVirtualNetwork -VirtualNetwork $vnet
Następnie utwórz bramę sieci VPN typu lokacja-lokacja. Aby uzyskać więcej informacji na temat konfiguracji bramy sieci VPN, zobacz Configure a VNet with a site-to-site connection (Konfigurowanie sieci wirtualnej z połączeniem typu lokacja-lokacja). Element GatewaySku jest obsługiwany tylko na bramach sieci VPN VpnGw1, VpnGw2, VpnGw3, Standard i HighPerformance. Współistnienie konfiguracji usługi ExpressRoute-VPN Gateway nie jest obsługiwane w jednostce SKU w warstwie Podstawowa. Parametr VpnType musi mieć wartość 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"
Brama sieci VPN platformy Azure obsługuje protokół routingu BGP. Możesz określić numer ASN (numer AS) dla sieci wirtualnej, dodając flagę
-Asn
w poniższym poleceniu. Nie określono wartości domyślnych parametruAsn
jako numeru AS do 65515.$azureVpn = New-AzVirtualNetworkGateway -Name "VPNGateway" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -IpConfigurations $gwConfig -GatewayType "Vpn" -VpnType "RouteBased" -GatewaySku "VpnGw1"
Uwaga
W przypadku współistniejących bram należy użyć domyślnej nazwy ASN 65515. Aby uzyskać więcej informacji, zobacz limity i ograniczenia.
Adres IP komunikacji równorzędnej BGP i numer AS używany przez platformę Azure dla bramy sieci VPN można znaleźć, uruchamiając polecenie
$azureVpn.BgpSettings.BgpPeeringAddress
i$azureVpn.BgpSettings.Asn
. Aby uzyskać więcej informacji, zobacz Konfigurowanie protokołu BGP dla bramy usługi Azure VPN Gateway.Utwórz obiekt bramy sieci VPN witryny lokalnej. To polecenie nie powoduje skonfigurowania bramy lokalnej sieci VPN. Umożliwia raczej zapewnienie ustawień bramy lokalnej, np. publicznego adresu IP i lokalnej przestrzeni adresowej, aby brama sieci VPN Azure mogła się z nimi połączyć.
Jeśli Twoje lokalne urządzenie sieci VPN obsługuje tylko routing statyczny, możesz w następujący sposób skonfigurować trasy statyczne:
$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
Jeśli lokalne urządzenie sieci VPN obsługuje protokół BGP i chcesz włączyć routing dynamiczny, musisz znać adres IP komunikacji równorzędnej BGP i numer AS lokalnego urządzenia sieci VPN.
$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
Skonfiguruj lokalne urządzenie sieci VPN do połączenia z nową bramą sieci VPN Azure. Więcej informacji na temat konfigurowania urządzenia VPN znajduje się w artykule VPN Device Configuration (Konfigurowanie urządzenia VPN).
Połącz bramę sieci VPN typu lokacja-lokacja na platformie Azure z bramą lokalną.
$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>
Jeśli łączysz się z istniejącym obwodem usługi ExpressRoute, pomiń kroki 8 i 9 i przejdź do kroku 10. Skonfiguruj obwody usługi ExpressRoute. Aby uzyskać więcej informacji o konfigurowaniu obwodu usługi ExpressRoute, zobacz Create an ExpressRoute circuit (Tworzenie obwodu usługi ExpressRoute).
Skonfiguruj prywatną komunikację równorzędną na platformie Azure za pośrednictwem obwodu usługi ExpressRoute. Aby uzyskać więcej informacji o konfigurowaniu prywatnej komunikacji równorzędnej na platformie Azure za pośrednictwem obwodu usługi ExpressRoute, zobacz Configure peering (Konfigurowanie komunikacji równorzędnej).
Utwórz bramę usługi ExpressRoute. Więcej informacji na temat konfigurowania bramy usługi ExpressRoute znajduje się w artykule ExpressRoute gateway configuration (Konfigurowanie bramy usługi ExpressRoute). Opcja GatewaySKU musi mieć wartość Standard, HighPerformance lub 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
Połącz bramę usługi ExpressRoute z obwodem usługi ExpressRoute. Po ukończeniu tego kroku zostanie nawiązane połączenie między siecią lokalną i platformą Azure za pośrednictwem usługi ExpressRoute. Więcej informacji na temat operacji łączenia znajduje się w artykule Link VNets to ExpressRoute (Łączenie sieci wirtualnych z usługą ExpressRoute).
$ckt = Get-AzExpressRouteCircuit -Name "YourCircuit" -ResourceGroupName "YourCircuitResourceGroup" New-AzVirtualNetworkGatewayConnection -Name "ERConnection" -ResourceGroupName $resgrp.ResourceGroupName -Location $location -VirtualNetworkGateway1 $gw -PeerId $ckt.Id -ConnectionType ExpressRoute
Aby dodać konfigurację typu punkt-lokacja do bramy sieci VPN
Możesz wykonać następujące kroki, aby dodać konfigurację punkt-lokacja do bramy sieci VPN w konfiguracji współistnienia. Aby przekazać certyfikat główny sieci VPN, musisz zainstalować program PowerShell lokalnie na komputerze lub użyć witryny Azure Portal.
Dodaj pulę adresów klienta sieci VPN.
$azureVpn = Get-AzVirtualNetworkGateway -Name "VPNGateway" -ResourceGroupName $resgrp.ResourceGroupName Set-AzVirtualNetworkGateway -VirtualNetworkGateway $azureVpn -VpnClientAddressPool "10.251.251.0/24"
Przekaż certyfikat główny sieci VPN do platformy Azure dla bramy sieci VPN. W tym przykładzie przyjęto założenie, że certyfikat główny jest przechowywany na komputerze lokalnym, na którym są uruchamiane następujące polecenia cmdlet programu PowerShell i że program PowerShell jest uruchomiony lokalnie. Możesz również przekazać certyfikat przy użyciu witryny Azure Portal.
$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
Więcej informacji na temat sieci VPN typu punkt-lokacja znajduje się w artykule Configure a Point-to-Site connection (Konfigurowanie połączenia typu punkt-lokacja).
Aby włączyć routing tranzytowy między usługą ExpressRoute i siecią VPN platformy Azure
Jeśli chcesz włączyć łączność między jedną z sieci lokalnych połączonych z usługą ExpressRoute i inną siecią lokalną połączoną z połączeniem sieci VPN typu lokacja-lokacja, musisz skonfigurować usługę Azure Route Server.
Następne kroki
Więcej informacji na temat usługi ExpressRoute znajduje się w artykule ExpressRoute FAQ (Usługa ExpressRoute — często zadawane pytania).