Konfigurowanie połączenia bramy sieci VPN między sieciami wirtualnymi przy użyciu programu PowerShell

Ten artykuł pomoże Ci połączyć sieci wirtualne przy użyciu typu połączenia sieć wirtualna-sieć wirtualna. Sieci wirtualne mogą być zlokalizowane w tych samych lub różnych regionach i mogą funkcjonować w ramach tej samej lub różnych subskrypcji. W przypadku łączenia sieci wirtualnych z różnych subskrypcji subskrypcje nie muszą być skojarzone z tą samą dzierżawą.

Kroki opisane w tym artykule dotyczą modelu wdrażania przy użyciu usługi Resource Manager i programu PowerShell. Tę konfigurację możesz również utworzyć przy użyciu innego narzędzia wdrażania lub modelu wdrażania, wybierając inną opcję z następującej listy:

VNet to VNet diagram.

Łączenie sieci wirtualnych — informacje

Z sieciami wirtualnymi można łączyć się na wiele sposobów. W poniższych sekcjach opisano różne sposoby łączenia sieci wirtualnych.

Sieć wirtualna-sieć wirtualna

Skonfigurowanie połączenia sieci wirtualnej z siecią wirtualną jest dobrym sposobem łatwego połączenia sieci wirtualnych. Proces łączenia dwóch sieci wirtualnych przy użyciu typu połączenia sieć wirtualna-sieć wirtualna (VNet2VNet) przebiega podobnie do procesu tworzenia połączenia IPsec typu lokacja-lokacja z lokacją lokalną. Oba typy połączeń używają bramy sieci VPN, aby zapewnić bezpieczny tunel korzystający z protokołu IPsec/IKE, oraz działają tak samo pod względem komunikacji. Różnica między nimi dotyczy konfiguracji bramy sieci lokalnej. Podczas tworzenia połączenia między sieciami wirtualnymi nie widzisz przestrzeni adresowej bramy sieci lokalnej. Jest on automatycznie tworzony i wypełniany. Po zaktualizowaniu przestrzeni adresowej dla jednej sieci wirtualnej druga sieć wirtualna automatycznie kieruje ruch do zaktualizowanej przestrzeni adresowej. Utworzenie połączenia sieć wirtualna-sieć wirtualna jest zwykle szybsze i łatwiejsze niż utworzenie połączenia lokacja-lokacja między sieciami wirtualnymi.

Lokacja-lokacja (IPsec)

Jeśli pracujesz ze skomplikowaną konfiguracją sieci, możesz wolisz połączyć sieci wirtualne przy użyciu kroków lokacja-lokacja , zamiast tego kroki między sieciami wirtualnymi. W przypadku korzystania z procedury tworzenia połączenia lokacja-lokacja bramy sieci lokalnej są tworzone i konfigurowane ręcznie. Każda z bram sieci lokalnej sieci wirtualnej traktuje drugą sieć wirtualną jako lokację lokalną. Dzięki temu można określić dodatkową przestrzeń adresową dla bramy sieci lokalnej w celu kierowania ruchu. W przypadku zmiany przestrzeni adresowej sieci wirtualnej należy zaktualizować odpowiednią bramę sieci lokalnej w celu odzwierciedlenia zmiany. Nie jest on automatycznie aktualizowany.

Komunikacja równorzędna sieci wirtualnych

Warto rozważyć połączenie sieci wirtualnych przy użyciu komunikacji równorzędnej sieci wirtualnych. W przypadku wirtualnych sieci równorzędnych nie jest używana brama sieci VPN i występują inne ograniczenia. Ponadto ceny dotyczące komunikacji równorzędnej sieci wirtualnych są obliczane inaczej niż ceny dotyczące usługi VPN Gateway połączenia sieć wirtualna-sieć wirtualna. Aby uzyskać więcej informacji, zobacz temat Komunikacja równorzędna sieci wirtualnych.

Dlaczego warto utworzyć połączenie sieć wirtualna-sieć wirtualna?

Możesz połączyć sieci wirtualne przy użyciu połączenia między sieciami wirtualnymi z następujących powodów:

  • Niezależna od regionu nadmiarowość i obecność geograficzna

    • Można tworzyć własne replikacje geograficzne lub przeprowadzać synchronizację z bezpiecznym połączeniem bez przechodzenia przez punkty końcowe dostępne z Internetu.
    • Usługi Azure Traffic Manager i Load Balancer pozwalają skonfigurować obciążenie o wysokiej dostępności z nadmiarowością geograficzną w wielu regionach świadczenia usługi Azure. Istotnym przykładem jest konfiguracja ustawienia SQL Zawsze włączone, w przypadku którego grupy dostępności rozciągają się na wiele regionów świadczenia usługi Azure.
  • Regionalne aplikacje wielowarstwowe z izolacją lub granicami administracyjnymi

    • W ramach jednego regionu można skonfigurować aplikacje wielowarstwowe z wielu połączonych ze sobą sieci wirtualnych, korzystając z izolacji lub wymagań administracyjnych.

Komunikację między sieciami wirtualnymi można łączyć z konfiguracjami obejmującymi wiele lokacji. Pozwala to tworzyć topologie sieci, które łączą wdrożenia obejmujące wiele lokalizacji z połączeniami między sieciami wirtualnymi.

Która procedura połączenia sieć wirtualna-sieć wirtualna ma zastosowanie w moim przypadku?

W tym artykule przedstawiono dwa różne zestawy kroków. Jeden zestaw dotyczy sieci wirtualnych znajdujących się w tej samej subskrypcji, a drugi ma zastosowanie w przypadku sieci wirtualnych znajdujących się w różnych subskrypcjach. Zasadnicza różnica między nimi polega na tym, że podczas konfigurowania połączeń dla sieci wirtualnych znajdujących się w różnych subskrypcjach należy użyć oddzielnych sesji programu PowerShell.

W tym ćwiczeniu możesz łączyć konfiguracje lub po prostu wybrać tę, której chcesz używać. Wszystkie konfiguracje używają typu połączenia sieć wirtualna-sieć wirtualna. Ruch sieciowy przepływa między bezpośrednio połączonymi sieciami wirtualnymi. W tym ćwiczeniu ruch z sieci TestVNet4 nie jest kierowany do sieci TestVNet5.

Łączenie sieci wirtualnych, które należą do tej samej subskrypcji

Poniższe kroki można wykonać przy użyciu usługi Azure Cloud Shell. Jeśli wolisz zainstalować najnowszą wersję modułu azure PowerShell lokalnie, zobacz Jak zainstalować i skonfigurować program Azure PowerShell.

Ponieważ utworzenie bramy trwa co najmniej 45 minut, okres czasu usługi Azure Cloud Shell w trakcie tego ćwiczenia. Możesz ponownie uruchomić usługę Cloud Shell, klikając w lewym górnym rogu terminalu. Pamiętaj, aby ponownie zadeklarować wszystkie zmienne po ponownym uruchomieniu terminalu.

Krok 1 — Planowanie zakresów adresów IP

W poniższych krokach utworzymy dwie sieci wirtualne wraz z odpowiednimi konfiguracjami oraz podsieciami bram. Następnie utworzymy połączenie sieci VPN między dwiema sieciami wirtualnymi. Ważne, aby zaplanować zakresy adresów IP dla konfiguracji sieci. Niezbędne jest upewnienie się, że zakresy sieci wirtualnej ani sieci lokalnej nie zachodzą na siebie w jakikolwiek sposób. W tych przykładach nie uwzględniamy serwera DNS. Jeśli chcesz, aby w sieciach wirtualnych działało rozpoznawanie nazw, zobacz artykuł o rozpoznawaniu nazw.

W przykładach stosujemy następujące wartości:

Wartości dla sieci TestVNet1:

  • Nazwa sieci wirtualnej: TestVNet1
  • Grupa zasobów: TestRG1
  • Lokalizacja: Wschodnie stany USA
  • TestVNet1: 10.1.0.0/16
  • FrontEnd: 10.1.0.0/24
  • GatewaySubnet: 10.1.255.0/27
  • GatewayName: VNet1GW
  • Publiczny adres IP: VNet1GWIP
  • VPNType: RouteBased
  • Connection(1to4): VNet1toVNet4
  • Connection(1to5): VNet1toVNet5 (dla sieci wirtualnych w różnych subskrypcjach)
  • ConnectionType: VNet2VNet

Wartości dla sieci TestVNet4:

  • Nazwa sieci wirtualnej: TestVNet4
  • TestVNet2: 10.41.0.0/16
  • FrontEnd: 10.41.0.0/24
  • Podsieć GatewaySubnet: 10.41.255.0/27
  • Grupa zasobów: TestRG4
  • Lokalizacja: Zachodnie stany USA
  • GatewayName: VNet4GW
  • Publiczny adres IP: VNet4GWIP
  • VPNType: RouteBased
  • Połączenie: VNet4toVNet1
  • ConnectionType: VNet2VNet

Krok 2 — Tworzenie i konfigurowanie sieci TestVNet1

W przypadku poniższych kroków możesz użyć usługi Azure Cloud Shell lub uruchomić program PowerShell lokalnie. Aby uzyskać więcej informacji, zobacz Instalowanie i konfigurowanie programu Azure PowerShell.

Uwaga

Mogą pojawić się ostrzeżenia z informacją "Typ obiektu wyjściowego tego polecenia cmdlet zostanie zmodyfikowany w przyszłej wersji". Jest to oczekiwane zachowanie i można bezpiecznie zignorować te ostrzeżenia.

  1. Zadeklaruj swoje zmienne. W poniższym przykładzie zmienne są deklarowane przy użyciu wartości podanych dla tego ćwiczenia. W większości przypadków należy zastąpić wartości własnymi. Można jednak użyć tych zmiennych, jeśli wykonasz kroki, aby zapoznać się z tego typu konfiguracją. Jeśli jest taka konieczność, zmodyfikuj zmienne, a następnie skopiuj je i wklej do konsoli programu PowerShell.

    $RG1 = "TestRG1"
    $Location1 = "East US"
    $VNetName1 = "TestVNet1"
    $FESubName1 = "FrontEnd"
    $VNetPrefix1 = "10.1.0.0/16"
    $FESubPrefix1 = "10.1.0.0/24"
    $GWSubPrefix1 = "10.1.255.0/27"
    $GWName1 = "VNet1GW"
    $GWIPName1 = "VNet1GWIP"
    $GWIPconfName1 = "gwipconf1"
    $Connection14 = "VNet1toVNet4"
    $Connection15 = "VNet1toVNet5"
    
  2. Utwórz grupę zasobów.

    New-AzResourceGroup -Name $RG1 -Location $Location1
    
  3. Utwórz konfiguracje podsieci dla sieci TestVNet1. W tym przykładzie tworzona jest sieć wirtualna o nazwie TestVNet1 i dwie podsieci, jedna o nazwie GatewaySubnet i jedna o nazwie FrontEnd. Podczas zastępowania wartości ważne jest, aby podsieć bramy zawsze nosiła nazwę GatewaySubnet. W przypadku nadania jej innej nazwy proces tworzenia bramy zakończy się niepowodzeniem. Z tego powodu nie jest przypisywana za pośrednictwem zmiennej w przykładzie.

    W poniższym przykładzie użyto zmiennych, które zostały ustawione wcześniej. W tym przykładzie użyto podsieci bramy /27. Chociaż istnieje możliwość utworzenia podsieci bramy przy użyciu /28 dla tej konfiguracji, zalecamy utworzenie większej podsieci zawierającej więcej adresów, wybierając co najmniej /27. Pozwoli to na wystarczającą liczbę adresów, aby pomieścić możliwe dodatkowe konfiguracje, które mogą być potrzebne w przyszłości.

    $fesub1 = New-AzVirtualNetworkSubnetConfig -Name $FESubName1 -AddressPrefix $FESubPrefix1
    $gwsub1 = New-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -AddressPrefix $GWSubPrefix1
    
  4. Utwórz sieć TestVNet1.

    New-AzVirtualNetwork -Name $VNetName1 -ResourceGroupName $RG1 `
    -Location $Location1 -AddressPrefix $VNetPrefix1 -Subnet $fesub1,$gwsub1
    
  5. Brama sieci VPN musi mieć przydzielony publiczny adres IP. Podczas tworzenia połączenia z bramą sieci VPN jest to określony adres IP. Użyj poniższego przykładu, aby zażądać publicznego adresu IP.

    $gwpip1 = New-AzPublicIpAddress -Name $GWIPName1 -ResourceGroupName $RG1 `
    -Location $Location1 -AllocationMethod Static -Sku Standard
    
  6. Utwórz konfigurację bramy. W ramach konfiguracji bramy zostaje zdefiniowana podsieć i publiczny adres IP do użycia. Poniższy przykład umożliwia utworzenie konfiguracji bramy.

    $vnet1 = Get-AzVirtualNetwork -Name $VNetName1 -ResourceGroupName $RG1
    $subnet1 = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet1
    $gwipconf1 = New-AzVirtualNetworkGatewayIpConfig -Name $GWIPconfName1 `
    -Subnet $subnet1 -PublicIpAddress $gwpip1
    
  7. Utwórz bramę dla sieci TestVNet1. W tym kroku zostaje utworzona brama sieci wirtualnej TestVNet1. Konfiguracje połączeń między sieciami wirtualnymi wymagają zastosowania wartości RouteBased obiektu VpnType. Tworzenie bramy często może trwać 45 minut lub dłużej, w zależności od wybranej jednostki SKU bramy.

    New-AzVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1 `
    -Location $Location1 -IpConfigurations $gwipconf1 -GatewayType Vpn `
    -VpnType RouteBased -GatewaySku VpnGw2 -VpnGatewayGeneration "Generation2"
    

Po zakończeniu wykonywania poleceń utworzenie tej bramy potrwa co najmniej 45 minut. Jeśli używasz usługi Azure Cloud Shell, możesz ponownie uruchomić sesję usługi Cloud Shell, klikając w lewym górnym rogu terminalu usługi Cloud Shell, a następnie skonfigurować sieć TestVNet4. Nie musisz czekać, aż brama TestVNet1 zakończy się.

Krok 3. Tworzenie i konfigurowanie sieci TestVNet4

Utwórz sieć TestVNet4. W razie potrzeby wykonaj poniższe kroki, zastępując wartości własnymi.

  1. Połączenie i deklaruj zmienne. Należy pamiętać o zastąpieniu przykładowych wartości tymi, które mają zostać użyte w danej konfiguracji.

    $RG4 = "TestRG4"
    $Location4 = "West US"
    $VnetName4 = "TestVNet4"
    $FESubName4 = "FrontEnd"
    $VnetPrefix4 = "10.41.0.0/16"
    $FESubPrefix4 = "10.41.0.0/24"
    $GWSubPrefix4 = "10.41.255.0/27"
    $GWName4 = "VNet4GW"
    $GWIPName4 = "VNet4GWIP"
    $GWIPconfName4 = "gwipconf4"
    $Connection41 = "VNet4toVNet1"
    
  2. Utwórz grupę zasobów.

    New-AzResourceGroup -Name $RG4 -Location $Location4
    
  3. Utwórz konfiguracje podsieci dla sieci TestVNet4.

    $fesub4 = New-AzVirtualNetworkSubnetConfig -Name $FESubName4 -AddressPrefix $FESubPrefix4
    $gwsub4 = New-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -AddressPrefix $GWSubPrefix4
    
  4. Utwórz sieć TestVNet4.

    New-AzVirtualNetwork -Name $VnetName4 -ResourceGroupName $RG4 `
    -Location $Location4 -AddressPrefix $VnetPrefix4 -Subnet $fesub4,$gwsub4
    
  5. Prześlij żądanie dotyczące publicznego adresu IP.

    $gwpip4 = New-AzPublicIpAddress -Name $GWIPName4 -ResourceGroupName $RG4 `
    -Location $Location4 -AllocationMethod Static -Sku Standard 
    
  6. Utwórz konfigurację bramy.

    $vnet4 = Get-AzVirtualNetwork -Name $VnetName4 -ResourceGroupName $RG4
    $subnet4 = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet4
    $gwipconf4 = New-AzVirtualNetworkGatewayIpConfig -Name $GWIPconfName4 -Subnet $subnet4 -PublicIpAddress $gwpip4
    
  7. Utworzenie bramy sieci TestVNet4. Tworzenie bramy często może trwać 45 minut lub dłużej, w zależności od wybranej jednostki SKU bramy.

    New-AzVirtualNetworkGateway -Name $GWName4 -ResourceGroupName $RG4 `
    -Location $Location4 -IpConfigurations $gwipconf4 -GatewayType Vpn `
    -VpnType RouteBased -GatewaySku VpnGw2 -VpnGatewayGeneration "Generation2"
    

Krok 4. Tworzenie połączeń

Poczekaj, aż obie bramy zostaną ukończone. Uruchom ponownie sesję usługi Azure Cloud Shell i skopiuj i wklej zmienne od początku kroku 2 i kroku 3 do konsoli, aby ponownie zadeklarować wartości.

  1. Użyj obu bram sieci wirtualnej.

    $vnet1gw = Get-AzVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1
    $vnet4gw = Get-AzVirtualNetworkGateway -Name $GWName4 -ResourceGroupName $RG4
    
  2. Utwórz połączenie z sieci wirtualnej TestVNet1 do sieci wirtualnej TestVNet4. W tym kroku zostanie utworzone połączenie z sieci wirtualnej TestVNet1 do sieci wirtualnej TestVNet4. W przykładach zastosowano odwołania do klucza współużytkowanego. Możesz wybrać własne wartości dla klucza współużytkowanego. Ważne jest, aby klucz współużytkowany był zgodny z obydwoma połączeniami. Tworzenie połączenia może nieco potrwać.

    New-AzVirtualNetworkGatewayConnection -Name $Connection14 -ResourceGroupName $RG1 `
    -VirtualNetworkGateway1 $vnet1gw -VirtualNetworkGateway2 $vnet4gw -Location $Location1 `
    -ConnectionType Vnet2Vnet -SharedKey 'AzureA1b2C3'
    
  3. Utwórz połączenie z sieci wirtualnej TestVNet4 do sieci wirtualnej TestVNet1. Ten krok jest podobny do poprzedniego kroku, z wyjątkiem tworzenia połączenia z sieci TestVNet4 do sieci TestVNet1. Upewnij się, że klucze współużytkowane są zgodne. Po kilku minutach połączenie zostanie ustanowione.

    New-AzVirtualNetworkGatewayConnection -Name $Connection41 -ResourceGroupName $RG4 `
    -VirtualNetworkGateway1 $vnet4gw -VirtualNetworkGateway2 $vnet1gw -Location $Location4 `
    -ConnectionType Vnet2Vnet -SharedKey 'AzureA1b2C3'
    
  4. Weryfikowanie połączenia. Zobacz sekcję Weryfikowanie połączenia.

Łączenie sieci wirtualnych, które należą do różnych subskrypcji

W tym scenariuszu nawiązywane jest połączenie między sieciami wirtualnymi TestVNet1 i TestVNet5. Sieci TestVNet1 i TestVNet5 znajdują się w różnych subskrypcjach. Subskrypcje nie muszą być skojarzone z tą samą dzierżawą.

Różnica między tymi krokami a poprzednim zestawem polega na tym, że w kontekście drugiej subskrypcji część czynności konfiguracyjnych należy wykonać w osobnej sesji programu PowerShell. Szczególnie, jeśli obie subskrypcje należą do różnych organizacji.

Ze względu na zmianę kontekstu subskrypcji w tym ćwiczeniu możesz łatwiej użyć programu PowerShell lokalnie na komputerze, a nie przy użyciu usługi Azure Cloud Shell, gdy zostanie wyświetlony krok 8.

Krok 5. Tworzenie i konfigurowanie sieci TestVNet1

Należy wykonać Krok 1 i Krok 2 z poprzedniej sekcji, aby utworzyć i skonfigurować sieć TestVNet1 i bramę VPN Gateway dla tej sieci. W przypadku tej konfiguracji nie jest wymagane utworzenie sieci TestVNet4 z poprzedniej sekcji, chociaż jeśli ją utworzysz, nie spowoduje to konfliktu z tymi krokami. Po ukończeniu kroków 1 i 2 kontynuuj krok 6, aby utworzyć sieć wirtualną TestVNet5.

Krok 6. Weryfikowanie zakresów adresów IP

Należy upewnić się, że przestrzeń adresowa IP nowej sieci wirtualnej TestVNet5 nie nakłada się na żadne zakresy sieci wirtualnej ani zakresy bram sieci lokalnej. W tym przykładzie sieci wirtualne mogą należeć do różnych organizacji. Na potrzeby tego ćwiczenia można zastosować następujące wartości dla sieci wirtualnej TestVNet5:

Wartości dla sieci TestVNet5:

  • Nazwa sieci wirtualnej: TestVNet5
  • Grupa zasobów: TestRG5
  • Lokalizacja: Japan East
  • TestVNet5: 10.51.0.0/16
  • FrontEnd: 10.51.0.0/24
  • GatewaySubnet: 10.51.255.0.0/27
  • GatewayName: VNet5GW
  • Publiczny adres IP: VNet5GWIP
  • VPNType: RouteBased
  • Połączenie: VNet5toVNet1
  • ConnectionType: VNet2VNet

Krok 7. Tworzenie i konfigurowanie sieci TestVNet5

Ten krok należy wykonać w kontekście nowej subskrypcji. Ta część może być wykonywana przez administratora w innej organizacji, która jest właścicielem subskrypcji.

  1. Zadeklaruj swoje zmienne. Należy pamiętać o zastąpieniu przykładowych wartości tymi, które mają zostać użyte w danej konfiguracji.

    $Sub5 = "Replace_With_the_New_Subscription_Name"
    $RG5 = "TestRG5"
    $Location5 = "Japan East"
    $VnetName5 = "TestVNet5"
    $FESubName5 = "FrontEnd"
    $GWSubName5 = "GatewaySubnet"
    $VnetPrefix5 = "10.51.0.0/16"
    $FESubPrefix5 = "10.51.0.0/24"
    $GWSubPrefix5 = "10.51.255.0/27"
    $GWName5 = "VNet5GW"
    $GWIPName5 = "VNet5GWIP"
    $GWIPconfName5 = "gwipconf5"
    $Connection51 = "VNet5toVNet1"
    
  2. Połącz z subskrypcją 5. Otwórz konsolę programu PowerShell i połącz się ze swoim kontem. Użyj poniższego przykładu w celu łatwiejszego nawiązania połączenia:

    Connect-AzAccount
    

    Sprawdź subskrypcje dostępne na koncie.

    Get-AzSubscription
    

    Określ subskrypcję, której chcesz użyć.

    Select-AzSubscription -SubscriptionName $Sub5
    
  3. Tworzenie nowej grupy zasobów

    New-AzResourceGroup -Name $RG5 -Location $Location5
    
  4. Utwórz konfiguracje podsieci dla sieci TestVNet5.

    $fesub5 = New-AzVirtualNetworkSubnetConfig -Name $FESubName5 -AddressPrefix $FESubPrefix5
    $gwsub5 = New-AzVirtualNetworkSubnetConfig -Name $GWSubName5 -AddressPrefix $GWSubPrefix5
    
  5. Utwórz sieć wirtualną TestVNet5.

    New-AzVirtualNetwork -Name $VnetName5 -ResourceGroupName $RG5 -Location $Location5 `
    -AddressPrefix $VnetPrefix5 -Subnet $fesub5,$gwsub5
    
  6. Prześlij żądanie dotyczące publicznego adresu IP.

    $gwpip5 = New-AzPublicIpAddress -Name $GWIPName5 -ResourceGroupName $RG5 `
    -Location $Location5 -AllocationMethod Static -Sku Standard
    
  7. Utwórz konfigurację bramy.

    $vnet5 = Get-AzVirtualNetwork -Name $VnetName5 -ResourceGroupName $RG5
    $subnet5  = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet5
    $gwipconf5 = New-AzVirtualNetworkGatewayIpConfig -Name $GWIPconfName5 -Subnet $subnet5 -PublicIpAddress $gwpip5
    
  8. Utwórz bramę sieci TestVNet5.

    New-AzVirtualNetworkGateway -Name $GWName5 -ResourceGroupName $RG5 -Location $Location5 `
    -IpConfigurations $gwipconf5 -GatewayType Vpn -VpnType RouteBased -GatewaySku VpnGw2 -VpnGatewayGeneration "Generation2"
    

Krok 8. Tworzenie połączeń

Jako że bramy należą do różnych subskrypcji, w tym przykładzie zastosowano rozbicie na dwie sesje programu PowerShell oznaczone jako [Subskrypcja 1] i [Subskrypcja 5].

  1. [Subskrypcja 1] Pobierz bramę sieci wirtualnej dla Subskrypcji 1. Zaloguj się i połącz się z subskrypcją 1 przed uruchomieniem następującego przykładu:

    $vnet1gw = Get-AzVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1
    

    Skopiuj dane wyjściowe z następujących elementów i wyślij je do administratora Subskrypcji 5 pocztą e-mail lub w inny sposób.

    $vnet1gw.Name
    $vnet1gw.Id
    

    Te dwa elementy mają wartości podobne do następujących przykładowych danych wyjściowych:

    PS D:\> $vnet1gw.Name
    VNet1GW
    PS D:\> $vnet1gw.Id
    /subscriptions/b636ca99-6f88-4df4-a7c3-2f8dc4545509/resourceGroupsTestRG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW
    
  2. [Subskrypcja 5] Pobierz bramę sieci wirtualnej dla Subskrypcji 5. Zaloguj się i połącz się z subskrypcją 5 przed uruchomieniem następującego przykładu:

    $vnet5gw = Get-AzVirtualNetworkGateway -Name $GWName5 -ResourceGroupName $RG5
    

    Skopiuj dane wyjściowe z następujących elementów i wyślij je do administratora Subskrypcji 1 pocztą e-mail lub w inny sposób.

    $vnet5gw.Name
    $vnet5gw.Id
    

    Te dwa elementy mają wartości podobne do następujących przykładowych danych wyjściowych:

    PS C:\> $vnet5gw.Name
    VNet5GW
    PS C:\> $vnet5gw.Id
    /subscriptions/66c8e4f1-ecd6-47ed-9de7-7e530de23994/resourceGroups/TestRG5/providers/Microsoft.Network/virtualNetworkGateways/VNet5GW
    
  3. [Subskrypcja 1] Utwórz połączenie z sieci wirtualnej TestVNet1 do sieci wirtualnej TestVNet5. W tym kroku zostanie utworzone połączenie z sieci wirtualnej TestVNet1 do sieci wirtualnej TestVNet5. Różnica polega na tym, że nie można uzyskać bezpośrednio $vnet 5gw, ponieważ znajduje się w innej subskrypcji. W poprzednich krokach należy utworzyć nowy obiekt programu PowerShell z wartościami przekazanymi z subskrypcji 1. Użyj poniższego przykładu. Zastąp wartości Name, ID i shared key własnymi wartościami. Ważne jest, aby klucz współużytkowany był zgodny z obydwoma połączeniami. Tworzenie połączenia może nieco potrwać.

    Połącz się z subskrypcją 1 przed uruchomieniem następującego przykładu:

    $vnet5gw = New-Object -TypeName Microsoft.Azure.Commands.Network.Models.PSVirtualNetworkGateway
    $vnet5gw.Name = "VNet5GW"
    $vnet5gw.Id   = "/subscriptions/66c8e4f1-ecd6-47ed-9de7-7e530de23994/resourceGroups/TestRG5/providers/Microsoft.Network/virtualNetworkGateways/VNet5GW"
    $Connection15 = "VNet1toVNet5"
    New-AzVirtualNetworkGatewayConnection -Name $Connection15 -ResourceGroupName $RG1 -VirtualNetworkGateway1 $vnet1gw -VirtualNetworkGateway2 $vnet5gw -Location $Location1 -ConnectionType Vnet2Vnet -SharedKey 'AzureA1b2C3'
    
  4. [Subskrypcja 5] Utwórz połączenie z sieci wirtualnej TestVNet5 do sieci wirtualnej TestVNet1. Ten krok jest podobny do poprzedniego kroku, z wyjątkiem tworzenia połączenia z sieci TestVNet5 do sieci TestVNet1. Ten sam proces tworzenia obiektu programu PowerShell na podstawie wartości uzyskanych z Subskrypcji 1 ma zastosowanie także w tym przypadku. W tym kroku należy upewnić się, czy klucze współużytkowane są zgodne.

    Połącz się z subskrypcją 5 przed uruchomieniem następującego przykładu:

    $vnet1gw = New-Object -TypeName Microsoft.Azure.Commands.Network.Models.PSVirtualNetworkGateway
    $vnet1gw.Name = "VNet1GW"
    $vnet1gw.Id = "/subscriptions/b636ca99-6f88-4df4-a7c3-2f8dc4545509/resourceGroups/TestRG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW "
    $Connection51 = "VNet5toVNet1"
    New-AzVirtualNetworkGatewayConnection -Name $Connection51 -ResourceGroupName $RG5 -VirtualNetworkGateway1 $vnet5gw -VirtualNetworkGateway2 $vnet1gw -Location $Location5 -ConnectionType Vnet2Vnet -SharedKey 'AzureA1b2C3'
    

Jak zweryfikować połączenie

Ważne

Podczas pracy z podsieciami bramy należy unikać kojarzenia sieciowej grupy zabezpieczeń z podsiecią bramy. Skojarzenie sieciowej grupy zabezpieczeń z tą podsiecią może spowodować, że brama sieci wirtualnej (vpn i bramy usługi ExpressRoute) przestanie działać zgodnie z oczekiwaniami. Aby uzyskać więcej informacji na temat sieciowych grup zabezpieczeń, zobacz Co to jest sieciowa grupa zabezpieczeń?.

Możesz sprawdzić, czy połączenie powiodło się, używając polecenia cmdlet "Get-AzVirtualNetworkGateway Połączenie ion" z poleceniem cmdlet "-Debug" lub bez polecenia "-Debug".

  1. Można skorzystać z następującego przykładu użycia polecenia cmdlet, dopasowując wartości do własnych potrzeb. Po wyświetleniu monitu wybierz „A”, aby uruchomić wszystko. W podanym przykładzie opcja „-Name” odnosi się do nazwy połączenia, które ma zostać przetestowane.

    Get-AzVirtualNetworkGatewayConnection -Name VNet1toSite1 -ResourceGroupName TestRG1
    
  2. Po zakończeniu działania polecenia cmdlet sprawdź wartości. W poniższym przykładzie stan połączenia jest wyświetlany jako „Połączone” i można zobaczyć bajty przychodzące i wychodzące.

    "connectionStatus": "Connected",
    "ingressBytesTransferred": 33509044,
    "egressBytesTransferred": 4142431
    

Często zadawane pytania dotyczące połączeń między sieciami wirtualnymi

Aby uzyskać więcej informacji na temat połączeń między sieciami wirtualnymi, zobacz Brama sieci VPN — często zadawane pytania.

Następne kroki