Konfigurowanie wymuszonego tunelowania przy użyciu klasycznego modelu wdrażania

Wymuszane tunelowanie umożliwia przekierowywanie lub „wymuszanie” przekazywania całego ruchu internetowego z powrotem do lokalizacji lokalnej za pośrednictwem tunelu VPN między lokacjami do celów przeprowadzania inspekcji. Jest to krytyczne wymaganie dotyczące zabezpieczeń dla większości zasad IT w przedsiębiorstwie. Bez wymuszonego tunelowania ruch internetowy z maszyn wirtualnych na platformie Azure zawsze będzie przechodzić z infrastruktury sieciowej platformy Azure bezpośrednio do Internetu bez możliwości inspekcji lub inspekcji ruchu. Nieautoryzowany dostęp do Internetu może potencjalnie prowadzić do ujawnienia informacji lub innych typów naruszeń zabezpieczeń.

Kroki opisane w tym artykule dotyczą klasycznego (starszego) modelu wdrażania i nie mają zastosowania do bieżącego modelu wdrażania, Resource Manager. Jeśli nie chcesz pracować w klasycznym modelu wdrażania, zalecamy użycie Resource Manager wersji tego artykułu.

Uwaga

Ten artykuł został napisany dla klasycznego (starszego) modelu wdrażania. Zalecamy zamiast tego użycie najnowszego modelu wdrażania platformy Azure. Model wdrażania Resource Manager jest najnowszym modelem wdrażania i oferuje więcej opcji i zgodności funkcji niż klasyczny model wdrażania. Aby zrozumieć różnicę między tymi dwoma modelami wdrażania, zobacz Omówienie modeli wdrażania i stanu zasobów.

Jeśli chcesz użyć innej wersji tego artykułu, użyj spisu treści w okienku po lewej stronie.

Wymagania i zagadnienia

Wymuszone tunelowanie na platformie Azure jest konfigurowane za pośrednictwem tras zdefiniowanych przez użytkownika sieci wirtualnej (UDR). Przekierowywanie ruchu do lokacji lokalnej jest wyrażane jako trasa domyślna do bramy sieci VPN platformy Azure. W poniższej sekcji wymieniono bieżące ograniczenie tabeli routingu i tras dla usługi Azure Virtual Network:

  • Każda podsieć sieci wirtualnej ma wbudowaną, systemową tabelę routingu. Tabela routingu systemu ma następujące trzy grupy tras:

    • Trasy lokalnej sieci wirtualnej: Bezpośrednio do docelowych maszyn wirtualnych w tej samej sieci wirtualnej.
    • Trasy lokalne: Do bramy sieci VPN platformy Azure.
    • Trasa domyślna: Bezpośrednio do Internetu. Pakiety przeznaczone do prywatnych adresów IP, które nie są objęte poprzednimi dwoma trasami, zostaną porzucone.
  • Wraz z wydaniem tras zdefiniowanych przez użytkownika można utworzyć tabelę routingu, aby dodać trasę domyślną, a następnie skojarzyć tabelę routingu z podsieciami sieci wirtualnej, aby włączyć wymuszone tunelowanie w tych podsieciach.

  • Należy ustawić "lokację domyślną" między lokacjami lokalnymi połączonymi z siecią wirtualną.

  • Wymuszone tunelowanie musi być skojarzone z siecią wirtualną, która ma bramę sieci VPN z dynamicznym routingiem (a nie bramą statyczną).

  • Wymuszone tunelowanie usługi ExpressRoute nie jest konfigurowane za pośrednictwem tego mechanizmu, ale zamiast tego jest włączane przez anonsowanie trasy domyślnej za pośrednictwem sesji komunikacji równorzędnej BGP usługi ExpressRoute. Aby uzyskać więcej informacji, zobacz Co to jest usługa ExpressRoute?

Przegląd konfiguracji

W poniższym przykładzie podsieć frontonu nie jest wymuszona. Obciążenia w podsieci frontonu mogą nadal akceptować żądania klientów i odpowiadać na nie bezpośrednio z Internetu. Podsieci Mid-tier i Backend są wymuszane. Wszystkie połączenia wychodzące z tych dwóch podsieci do Internetu są wymuszane lub przekierowywane z powrotem do lokacji lokalnej za pośrednictwem jednego z tuneli sieci VPN typu lokacja-lokacja.

Dzięki temu można ograniczyć i sprawdzić dostęp do Internetu z maszyn wirtualnych lub usług w chmurze na platformie Azure, a jednocześnie włączyć wymaganą architekturę usługi wielowarstwowej. Możesz również zastosować wymuszone tunelowanie do całych sieci wirtualnych, jeśli w sieciach wirtualnych nie ma obciążeń dostępnych z Internetu.

Diagram przedstawiający architekturę wymuszonego tunelowania.

Wymagania wstępne

Przed rozpoczęciem konfiguracji sprawdź, czy dysponujesz następującymi elementami:

  • Subskrypcja platformy Azure. Jeśli nie masz jeszcze subskrypcji platformy Azure, możesz aktywować korzyści dla subskrybentów MSDN lub utworzyć bezpłatne konto.
  • Skonfigurowana sieć wirtualna.
  • Podczas pracy z klasycznym modelem wdrażania nie można używać usługi Azure Cloud Shell. Zamiast tego należy zainstalować najnowszą wersję poleceń cmdlet programu PowerShell zarządzania usługami platformy Azure (SM) lokalnie na komputerze. Te polecenia cmdlet różnią się od poleceń cmdlet AzureRM lub Az. Aby zainstalować polecenia cmdlet programu SM, zobacz Instalowanie poleceń cmdlet zarządzania usługami. Aby uzyskać więcej informacji na temat Azure PowerShell ogólnie, zobacz dokumentację Azure PowerShell.

Konfigurowanie wymuszonego tunelowania

Poniższa procedura ułatwia określenie wymuszonego tunelowania dla sieci wirtualnej. Kroki konfiguracji odpowiadają plikowi konfiguracji sieci wirtualnej. W tym przykładzie sieć wirtualna "MultiTier-VNet" ma trzy podsieci: Fronton, Midtier i Backend z czterema połączeniami obejmującymi wiele lokalizacji: "DefaultSiteHQ" i trzema gałęziami.

<VirtualNetworkSite name="MultiTier-VNet" Location="North Europe">
     <AddressSpace>
      <AddressPrefix>10.1.0.0/16</AddressPrefix>
        </AddressSpace>
        <Subnets>
          <Subnet name="Frontend">
            <AddressPrefix>10.1.0.0/24</AddressPrefix>
          </Subnet>
          <Subnet name="Midtier">
            <AddressPrefix>10.1.1.0/24</AddressPrefix>
          </Subnet>
          <Subnet name="Backend">
            <AddressPrefix>10.1.2.0/23</AddressPrefix>
          </Subnet>
          <Subnet name="GatewaySubnet">
            <AddressPrefix>10.1.200.0/28</AddressPrefix>
          </Subnet>
        </Subnets>
        <Gateway>
          <ConnectionsToLocalNetwork>
            <LocalNetworkSiteRef name="DefaultSiteHQ">
              <Connection type="IPsec" />
            </LocalNetworkSiteRef>
            <LocalNetworkSiteRef name="Branch1">
              <Connection type="IPsec" />
            </LocalNetworkSiteRef>
            <LocalNetworkSiteRef name="Branch2">
              <Connection type="IPsec" />
            </LocalNetworkSiteRef>
            <LocalNetworkSiteRef name="Branch3">
              <Connection type="IPsec" />
            </LocalNetworkSiteRef>
        </Gateway>
      </VirtualNetworkSite>
    </VirtualNetworkSite>

Poniższe kroki umożliwiają ustawienie domyślnego połączenia lokacji "DefaultSiteHQ" na potrzeby wymuszonego tunelowania oraz skonfigurowanie podsieci Midtier i Backend do używania wymuszonego tunelowania.

  1. Otwórz konsolę programu PowerShell z podwyższonym poziomem uprawnień. Nawiąż połączenie z kontem, korzystając z następującego przykładu:

    Add-AzureAccount
    
  2. Utwórz tabelę routingu. Użyj następującego polecenia cmdlet, aby utworzyć tabelę tras.

    New-AzureRouteTable –Name "MyRouteTable" –Label "Routing Table for Forced Tunneling" –Location "North Europe"
    
  3. Dodaj trasę domyślną do tabeli routingu.

    Poniższy przykład dodaje trasę domyślną do tabeli routingu utworzonej w kroku 1. Jedyną obsługiwaną trasą jest prefiks docelowy "0.0.0.0/0" do "VPNGateway" NextHop.

    Get-AzureRouteTable -Name "MyRouteTable" | Set-AzureRoute –RouteTable "MyRouteTable" –RouteName "DefaultRoute" –AddressPrefix "0.0.0.0/0" –NextHopType VPNGateway
    
  4. Skojarz tabelę routingu z podsieciami.

    Po utworzeniu tabeli routingu i dodaniu trasy użyj poniższego przykładu, aby dodać lub skojarzyć tabelę tras z podsiecią sieci wirtualnej. Przykład dodaje tabelę tras "MyRouteTable" do podsieci Midtier i Backend sieci wirtualnej MultiTier-VNet.

    Set-AzureSubnetRouteTable -VirtualNetworkName "MultiTier-VNet" -SubnetName "Midtier" -RouteTableName "MyRouteTable"
    Set-AzureSubnetRouteTable -VirtualNetworkName "MultiTier-VNet" -SubnetName "Backend" -RouteTableName "MyRouteTable"
    
  5. Przypisz lokację domyślną do wymuszonego tunelowania.

    W poprzednim kroku przykładowe skrypty poleceń cmdlet utworzyły tabelę routingu i skojarzyły tabelę tras z dwiema podsieciami sieci wirtualnej. Pozostałym krokiem jest wybranie lokacji lokalnej między połączeniami z wieloma lokacjami sieci wirtualnej jako lokacją domyślną lub tunelem.

    $DefaultSite = @("DefaultSiteHQ")
    Set-AzureVNetGatewayDefaultSite –VNetName "MultiTier-VNet" –DefaultSite "DefaultSiteHQ"
    

Dodatkowe polecenia cmdlet programu PowerShell

Aby usunąć tabelę tras

Remove-AzureRouteTable -Name <routeTableName>

Aby wyświetlić listę tabeli tras

Get-AzureRouteTable [-Name <routeTableName> [-DetailLevel <detailLevel>]]

Aby usunąć trasę z tabeli tras

Remove-AzureRouteTable –Name <routeTableName>

Aby usunąć trasę z podsieci

Remove-AzureSubnetRouteTable –VirtualNetworkName <virtualNetworkName> -SubnetName <subnetName>

Aby wyświetlić listę tabel tras skojarzonych z podsiecią

Get-AzureSubnetRouteTable -VirtualNetworkName <virtualNetworkName> -SubnetName <subnetName>

Aby usunąć lokację domyślną z bramy sieci VPN sieci wirtualnej

Remove-AzureVnetGatewayDefaultSite -VNetName <virtualNetworkName>