Konfigurowanie wymuszonego tunelowania przy użyciu lokacji domyślnej dla połączeń typu lokacja-lokacja

Kroki opisane w tym artykule ułatwiają konfigurowanie wymuszonego tunelowania dla połączeń protokołu IPsec typu lokacja-lokacja (S2S), określając lokację domyślną. Aby uzyskać informacje na temat metod konfiguracji wymuszonego tunelowania, w tym konfigurowania wymuszonego tunelowania za pośrednictwem protokołu BGP, zobacz About forced tunneling for VPN Gateway (Informacje o wymuszonym tunelowaniu dla usługi VPN Gateway).

Domyślnie ruch związany z Internetem z maszyn wirtualnych przechodzi bezpośrednio do Internetu. Jeśli chcesz wymusić cały ruch związany z Internetem przez bramę sieci VPN do lokacji lokalnej na potrzeby inspekcji i inspekcji, możesz to zrobić, konfigurując wymuszone tunelowanie. Po skonfigurowaniu wymuszonego tunelowania, w razie potrzeby, można kierować ruch powiązany z Internetem bezpośrednio do Internetu dla określonych podsieci przy użyciu niestandardowych tras zdefiniowanych przez użytkownika (UDR).

Diagram shows split tunneling.

Poniższe kroki ułatwiają skonfigurowanie scenariusza wymuszonego tunelowania przez określenie lokacji domyślnej. Opcjonalnie, korzystając z niestandardowej trasy zdefiniowanej przez użytkownika, można kierować ruch, określając ruch powiązany z Internetem z podsieci frontonu bezpośrednio do Internetu, a nie do lokacji lokalnej.

  • Utworzona sieć wirtualna ma trzy podsieci: Fronton, Mid-tier i Backend z czterema połączeniami między lokalnymi: DefaultSiteHQ i trzema gałęziami.
  • Należy określić domyślną lokację bramy sieci VPN przy użyciu programu PowerShell, który wymusza powrót całego ruchu internetowego do lokalizacji lokalnej. Nie można skonfigurować witryny domyślnej przy użyciu witryny Azure Portal.
  • Podsieć frontonu jest przypisana trasa zdefiniowana przez użytkownika do wysyłania ruchu internetowego bezpośrednio do Internetu, pomijając bramę sieci VPN. Inny ruch jest kierowany normalnie.
  • Podsieci Mid-tier i Backend nadal mają ruch internetowy tunelowany z powrotem do lokacji lokalnej za pośrednictwem bramy sieci VPN, ponieważ określono lokację domyślną.

Tworzenie sieci wirtualnej i podsieci

Najpierw utwórz środowisko testowe. 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. Utwórz grupę zasobów przy użyciu polecenia New-AzResourceGroup.

    New-AzResourceGroup -Name "TestRG1" -Location "EastUS"
    
  2. Utwórz sieć wirtualną przy użyciu polecenia New-AzVirtualNetwork.

    $vnet = New-AzVirtualNetwork `
    -ResourceGroupName "TestRG1" `
    -Location "EastUS" `
    -Name "VNet1" `
    -AddressPrefix 10.1.0.0/16
    
  3. Utwórz podsieci przy użyciu polecenia New-AzVirtualNetworkSubnetConfig. Utwórz podsieci frontonu, warstwy środkowej i zaplecza oraz podsieć bramy (która musi mieć nazwę GatewaySubnet).

    $subnetConfigFrontend = Add-AzVirtualNetworkSubnetConfig `
      -Name Frontend `
      -AddressPrefix 10.1.0.0/24 `
      -VirtualNetwork $vnet
    
    $subnetConfigMid-tier = Add-AzVirtualNetworkSubnetConfig `
      -Name Mid-tier `
      -AddressPrefix 10.1.1.0/24 `
      -VirtualNetwork $vnet
    
    $subnetConfigBackend = Add-AzVirtualNetworkSubnetConfig `
      -Name Backend `
      -AddressPrefix 10.1.2.0/24 `
      -VirtualNetwork $vnet
    
    $subnetConfigGW = Add-AzVirtualNetworkSubnetConfig `
      -Name GatewaySubnet `
      -AddressPrefix 10.1.200.0/27 `
      -VirtualNetwork $vnet
    
  4. Zapisz konfiguracje podsieci w sieci wirtualnej za pomocą polecenia Set-AzVirtualNetwork, która tworzy podsieci w sieci wirtualnej:

    $vnet | Set-AzVirtualNetwork
    

Tworzenie bram sieci lokalnej

W tej sekcji utwórz bramy sieci lokalnej dla lokacji przy użyciu polecenia New-AzLocalNetworkGateway. Istnieje niewielkie wstrzymanie między poszczególnymi poleceniami podczas tworzenia każdej bramy sieci lokalnej. W tym przykładzie -GatewayIpAddress wartości są symbolami zastępczymi. Aby nawiązać połączenie, należy później zastąpić te wartości publicznymi adresami IP odpowiednich lokalnych urządzeń sieci VPN.

$lng1 = New-AzLocalNetworkGateway -Name "DefaultSiteHQ" -ResourceGroupName "TestRG1" -Location "EastUS" -GatewayIpAddress "111.111.111.111" -AddressPrefix "192.168.1.0/24"
$lng2 = New-AzLocalNetworkGateway -Name "Branch1" -ResourceGroupName "TestRG1" -Location "EastUS" -GatewayIpAddress "111.111.111.112" -AddressPrefix "192.168.2.0/24"
$lng3 = New-AzLocalNetworkGateway -Name "Branch2" -ResourceGroupName "TestRG1" -Location "EastUS" -GatewayIpAddress "111.111.111.113" -AddressPrefix "192.168.3.0/24"
$lng4 = New-AzLocalNetworkGateway -Name "Branch3" -ResourceGroupName "TestRG1" -Location "EastUS" -GatewayIpAddress "111.111.111.114" -AddressPrefix "192.168.4.0/24"

Tworzenie bramy sieci VPN

W tej sekcji zażądasz publicznego adresu IP i utworzysz bramę sieci VPN skojarzona z obiektem publicznego adresu IP. Publiczny adres IP jest używany podczas łączenia lokalnego lub zewnętrznego urządzenia sieci VPN z bramą sieci VPN na potrzeby połączeń obejmujących wiele lokalizacji.

  1. Zażądaj publicznego adresu IP bramy sieci VPN przy użyciu polecenia New-AzPublicIpAddress.

    $gwpip = New-AzPublicIpAddress -Name "GatewayIP" -ResourceGroupName "TestRG1" -Location "EastUS" -AllocationMethod Static -Sku Standard
    
  2. Utwórz konfigurację adresu IP bramy przy użyciu polecenia New-AzVirtualNetworkGatewayIpConfig. Ta konfiguracja jest przywołyowana podczas tworzenia bramy sieci VPN.

    $vnet = Get-AzVirtualNetwork -Name "VNet1" -ResourceGroupName "TestRG1"
    $gwsubnet = Get-AzVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -VirtualNetwork $vnet
    $gwipconfig = New-AzVirtualNetworkGatewayIpConfig -Name gwipconfig1 -SubnetId $gwsubnet.Id -PublicIpAddressId $gwpip.Id
    
  3. Utwórz bramę sieci wirtualnej z typem bramy "Vpn" przy użyciu polecenia New-AzVirtualNetworkGateway. Tworzenie bramy może potrwać 45 minut lub więcej, w zależności od wybranej jednostki SKU bramy.

    W tym przykładzie używamy jednostki SKU VpnGw2 generacji 2. Jeśli zobaczysz błędy ValidateSet dotyczące wartości GatewaySKU, sprawdź, czy zainstalowano najnowszą wersję poleceń cmdlet programu PowerShell. Najnowsza wersja zawiera nowe zweryfikowane wartości dla najnowszych jednostek SKU bramy.

    New-AzVirtualNetworkGateway -Name "VNet1GW" -ResourceGroupName "TestRG1" -Location "EastUS" -IpConfigurations $gwipconfig -GatewayType "Vpn" -VpnType "RouteBased" -GatewaySku VpnGw2 -VpnGatewayGeneration "Generation2"
    

Konfigurowanie wymuszonego tunelowania — witryna domyślna

Skonfiguruj wymuszone tunelowanie, przypisując lokację domyślną do bramy sieci wirtualnej. Jeśli nie określisz witryny domyślnej, ruch internetowy nie jest wymuszany przez bramę sieci VPN i zamiast tego przechodzi bezpośrednio do Internetu dla wszystkich podsieci (domyślnie).

Aby przypisać lokację domyślną dla bramy, należy użyć parametru -GatewayDefaultSite . Pamiętaj, aby przypisać to poprawnie.

  1. Najpierw zadeklaruj zmienne, które określają informacje o bramie sieci wirtualnej i bramie sieci lokalnej dla lokacji domyślnej, w tym przypadku DefaultSiteHQ.

    $LocalGateway = Get-AzLocalNetworkGateway -Name "DefaultSiteHQ" -ResourceGroupName "TestRG1"
    $VirtualGateway = Get-AzVirtualNetworkGateway -Name "VNet1GW" -ResourceGroupName "TestRG1"
    
  2. Następnie ustaw domyślną lokację bramy sieci wirtualnej przy użyciu polecenia Set-AzVirtualNetworkGatewayDefaultSite.

    Set-AzVirtualNetworkGatewayDefaultSite -GatewayDefaultSite $LocalGateway -VirtualNetworkGateway $VirtualGateway
    

W tym momencie cały ruch związany z Internetem jest teraz skonfigurowany tak, aby został wymuszony tunelowany do defaultSiteHQ. Lokalne urządzenie sieci VPN musi być skonfigurowane przy użyciu selektorów ruchu 0.0.0.0/0.

  • Jeśli chcesz skonfigurować tylko wymuszone tunelowanie, a nie kierować ruchu internetowego bezpośrednio do Internetu dla określonych podsieci, możesz przejść do sekcji Ustanawianie Połączenie ions w tym artykule, aby utworzyć połączenia.
  • Jeśli chcesz, aby określone podsieci wysyłały ruch powiązany z Internetem bezpośrednio do Internetu, przejdź do następnych sekcji, aby skonfigurować niestandardowe trasy zdefiniowane przez użytkownika i przypisać trasy.

Kierowanie ruchu powiązanego z Internetem dla określonych podsieci

Jeśli chcesz, aby ruch związany z Internetem był wysyłany bezpośrednio do Internetu dla określonych podsieci (a nie do sieci lokalnej), wykonaj następujące kroki. Te kroki dotyczą wymuszonego tunelowania skonfigurowanego przez określenie lokacji domyślnej lub skonfigurowanej za pośrednictwem protokołu BGP.

Tworzenie tabel tras i tras

Aby określić, że ruch związany z Internetem powinien przejść bezpośrednio do Internetu, utwórz niezbędną tabelę tras i trasę. Później przypiszesz tabelę tras do podsieci frontonu.

  1. Utwórz tabele tras przy użyciu polecenia New-AzRouteTable.

    $routeTable1 = New-AzRouteTable `
    -Name 'RouteTable1' `
    -ResourceGroupName "TestRG1" `
    -location "EastUS"
    
  2. Utwórz trasy przy użyciu następujących poleceń cmdlet: GetAzRouteTable, Add-AzRouteConfig i Set-AzRouteConfig. Utwórz trasę dla typu następnego przeskoku "Internet" w tabeli RouteTable1. Ta trasa zostanie przypisana później do podsieci frontonu.

    Get-AzRouteTable `
       -ResourceGroupName "TestRG1" `
       -Name "RouteTable1" `
       | Add-AzRouteConfig `
       -Name "ToInternet" `
       -AddressPrefix 0.0.0.0/0 `
       -NextHopType "Internet" `
       | Set-AzRouteTable
    

Przypisywanie tras

W tej sekcji przypiszesz tabelę tras i trasy do podsieci frontonu przy użyciu następujących poleceń programu PowerShell: GetAzRouteTable, Set-AzRouteConfig i Set-AzVirtualNetwork.

  1. Przypisz podsieć frontonu do tabeli RouteTable1 z trasą "ToInternet" określającą 0.0.0.0/0 z internetem następnego przeskoku.

    $vnet = Get-AzVirtualNetwork -Name "VNet1" -ResourceGroupName "TestRG1"
    $routeTable1 = Get-AzRouteTable `
       -ResourceGroupName "TestRG1" `
       -Name "RouteTable1" 
    Set-AzVirtualNetworkSubnetConfig `
       -VirtualNetwork $vnet `
       -Name 'Frontend' `
       -AddressPrefix 10.1.0.0/24 `
       -RouteTable $routeTable1 | `
    Set-AzVirtualNetwork
    

Ustanawianie połączeń sieci VPN S2S

Użyj polecenia New-AzVirtualNetworkGateway Połączenie ion, aby ustanowić połączenia S2S.

  1. Zadeklaruj swoje zmienne.

    $gateway = Get-AzVirtualNetworkGateway -Name "VNet1GW" -ResourceGroupName "TestRG1"
    $lng1 = Get-AzLocalNetworkGateway -Name "DefaultSiteHQ" -ResourceGroupName "TestRG1" 
    $lng2 = Get-AzLocalNetworkGateway -Name "Branch1" -ResourceGroupName "TestRG1" 
    $lng3 = Get-AzLocalNetworkGateway -Name "Branch2" -ResourceGroupName "TestRG1" 
    $lng4 = Get-AzLocalNetworkGateway -Name "Branch3" -ResourceGroupName "TestRG1"
    
  2. Utwórz połączenia.

    New-AzVirtualNetworkGatewayConnection -Name "Connection1" -ResourceGroupName "TestRG1" -Location "EastUS" -VirtualNetworkGateway1 $gateway -LocalNetworkGateway2 $lng1 -ConnectionType IPsec -SharedKey "preSharedKey"
    New-AzVirtualNetworkGatewayConnection -Name "Connection2" -ResourceGroupName "TestRG1" -Location "EastUS" -VirtualNetworkGateway1 $gateway -LocalNetworkGateway2 $lng2 -ConnectionType IPsec -SharedKey "preSharedKey"
    New-AzVirtualNetworkGatewayConnection -Name "Connection3" -ResourceGroupName "TestRG1" -Location "EastUS" -VirtualNetworkGateway1 $gateway -LocalNetworkGateway2 $lng3 -ConnectionType IPsec -SharedKey "preSharedKey"
    New-AzVirtualNetworkGatewayConnection -Name "Connection4" -ResourceGroupName "TestRG1" -Location "EastUS" -VirtualNetworkGateway1 $gateway -LocalNetworkGateway2 $lng4 -ConnectionType IPsec -SharedKey "preSharedKey"
    
  3. Aby wyświetlić połączenie, użyj poniższego przykładu. Zmodyfikuj wszelkie niezbędne wartości, aby określić połączenie, które chcesz wyświetlić.

    Get-AzVirtualNetworkGatewayConnection -Name "Connection1" -ResourceGroupName "TestRG1"
    

Następne kroki

Aby uzyskać więcej informacji na temat usługi VPN Gateway, zobacz Brama sieci VPN — często zadawane pytania.