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. Konfigurowanie obu połączeń 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 opartego 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 lub /25, albo 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. Ta konfiguracja ma zastosowanie tylko do sieci wirtualnych połączonych ze ścieżką prywatnej komunikacji równorzędnej platformy 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 podstawowym linkiem, a 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, skonfiguruj sieć lokalną tak, aby preferował obwód usługi ExpressRoute za pośrednictwem sieci VPN typu lokacja-lokacja, ustawiając wyższą preferencję lokalną dla tras odebranych za pośrednictwem 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ą, skonfiguruj sieć lokalną tak, 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
Sieć można skonfigurować tak, aby niektóre lokacje łączyły się bezpośrednio z platformą Azure za pośrednictwem sieci VPN typu lokacja-lokacja, podczas gdy inne łączą się za pośrednictwem usługi ExpressRoute.
Wybieranie czynności do wykonania
Istnieją dwa różne zestawy procedur do wyboru. Wybrana procedura konfiguracji zależy od tego, czy masz istniejącą sieć wirtualną, czy musisz utworzyć nową.
Nie mam sieci wirtualnej i muszę je 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 i tworzenia nowych połączeń usługi ExpressRoute i sieci VPN typu lokacja-lokacja.
Mam już sieć wirtualną modelu wdrażania usługi Resource Manager.
Jeśli masz już sieć wirtualną z istniejącą siecią VPN typu lokacja-lokacja lub połączeniem usługi ExpressRoute, a prefiks podsieci bramy to /28 lub dłużej (/29, /30 itp.), musisz usunąć istniejącą bramę. Kroki konfigurowania współistniejących połączeń dla istniejącej sieci wirtualnej zawierają instrukcje usuwania bramy, a następnie tworzenia nowych połączeń usługi ExpressRoute i połączeń sieci VPN typu lokacja-lokacja.
Usunięcie i ponowne utworzenie bramy powoduje przestój 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 w taki sposób.
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 sieci wirtualnej i konfigurowania współistniejącej sieci VPN typu lokacja-lokacja i połączeń usługi ExpressRoute. Polecenia cmdlet używane w tej konfiguracji mogą różnić się od poleceń cmdlet, które znasz, więc upewnij się, że używasz określonych poleceń cmdlet.
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 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
Utwórz bramę sieci VPN typu lokacja-lokacja. Aby uzyskać więcej informacji na temat konfiguracji bramy sieci VPN, zobacz Konfigurowanie sieci wirtualnej przy użyciu połączenia lokacja-lokacja. Wartość GatewaySku jest obsługiwana dla bram 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 dla sieci wirtualnej, dodając flagę
-Asn
w poniższym poleceniu. Nie określono parametruAsn
domyślnie numer 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. Zamiast tego umożliwia podanie ustawień bramy lokalnej, takich jak publiczny adres IP i lokalna przestrzeń adresowa, dzięki czemu brama sieci VPN platformy Azure może się z nią połączyć.
Jeśli lokalne urządzenie sieci VPN obsługuje tylko routing statyczny, skonfiguruj trasy statyczne w następujący sposób:
$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 na temat konfigurowania obwodów usługi ExpressRoute, zobacz 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 na temat konfigurowania prywatnej komunikacji równorzędnej platformy Azure za pośrednictwem obwodu usługi ExpressRoute, zobacz 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 wykonaniu tego kroku połączenie między siecią lokalną a platformą Azure zostanie nawiązane 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