Geforceerde tunneling configureren

Met geforceerde tunneling kunt u alle voor internet bestemde verkeer geforceerd terugsturen naar uw on-premises locatie via een site-naar-site-VPN-tunnel voor inspectie en controle. Dit is een essentiële beveiligingsvereiste voor de meeste IT-beleidsregels van bedrijven. Als u geforceerd tunnelen niet configureert, gaat internetverkeer van uw VM's in Azure altijd rechtstreeks van de Azure-netwerkinfrastructuur naar internet, zonder de optie om het verkeer te inspecteren of te controleren. Onbevoegde internettoegang kan leiden tot openbaarmaking van informatie of andere soorten beveiligingsschending.

Geforceerd tunnelen kan worden geconfigureerd met behulp van Azure PowerShell. Deze kan niet worden geconfigureerd met behulp van de Azure Portal. Dit artikel helpt u bij het configureren van geforceerd tunnelen voor virtuele netwerken die zijn gemaakt met behulp van Resource Manager implementatiemodel. Zie Geforceerd tunnelen - klassiek als u geforceerd tunneling wilt configureren voor het klassieke implementatiemodel.

Over geforceerd tunnelen

In het volgende diagram ziet u hoe geforceerd tunnelen werkt.

Diagram met geforceerd tunnelen.

In dit voorbeeld wordt het subnet Frontend niet geforceerd getunneld. De workloads in het subnet Front-end kunnen rechtstreeks van internet aanvragen van klanten blijven accepteren en hierop reageren. De subnetten Mid-tier en Back-end worden geforceerd getunneld. Uitgaande verbindingen van deze twee subnetten naar internet worden geforceerd of teruggeleid naar een on-premises site via een van de site-naar-site-VPN-tunnels (S2S).

Hiermee kunt u de toegang tot internet beperken en inspecteren vanaf uw virtuele machines of cloudservices in Azure, terwijl u uw servicearchitectuur met meerdere lagen blijft inschakelen. Als uw virtuele netwerken geen internetwerkbelastingen hebben, kunt u ook geforceerd tunnelen toepassen op de hele virtuele netwerken.

Vereisten en overwegingen

Geforceerd tunnelen in Azure wordt geconfigureerd met behulp van aangepaste door de gebruiker gedefinieerde routes voor virtuele netwerken. Het omleiden van verkeer naar een on-premises site wordt uitgedrukt als een standaardroute naar de Azure VPN-gateway. Zie Aangepaste door de gebruiker gedefinieerde routes voor meer informatie over door de gebruiker gedefinieerde routering en virtuele netwerken.

  • Elk subnet van een virtueel netwerk heeft een ingebouwde tabel voor systeemroutering. De tabel voor systeemroutering heeft de volgende drie groepen routes:

    • Lokale VNet-routes: Rechtstreeks naar de doel-VM's in hetzelfde virtuele netwerk.
    • On-premises routes: Naar de Azure VPN-gateway.
    • Standaardroute: Rechtstreeks naar internet. Pakketten die bestemd zijn voor de privé-IP-adressen die niet onder de vorige twee routes vallen, worden uit de doos getrokken.
  • In deze procedure wordt gebruikgemaakt van door de gebruiker gedefinieerde routes (UDR) om een routeringstabel te maken om een standaardroute toe te voegen en vervolgens de routeringstabel te koppelen aan uw VNet-subnetten om geforceerd tunnelen op deze subnetten mogelijk te maken.

  • Geforceerd tunnelen moet worden gekoppeld aan een VNet met een op route gebaseerde VPN-gateway. U moet een 'standaardsite' instellen tussen de cross-premises lokale sites die zijn verbonden met het virtuele netwerk. Het on-premises VPN-apparaat moet ook worden geconfigureerd met 0.0.0.0/0 als verkeers selectors.

  • ExpressRoute geforceerd tunnelen is niet geconfigureerd via dit mechanisme, maar wordt in plaats daarvan ingeschakeld door een standaardroute te adverteren via de ExpressRoute BGP-peeringsessies. Zie de ExpressRoute-documentatie voor meer informatie.

  • Wanneer zowel VPN Gateway als ExpressRoute Gateway zijn geïmplementeerd in hetzelfde VNet, zijn door de gebruiker gedefinieerde routes (UDR) niet meer nodig omdat ExpressRoute Gateway de geconfigureerde 'standaardsite' in VNet zal adverteren.

Configuratieoverzicht

Met de volgende procedure kunt u een resourcegroep en een VNet maken. Vervolgens maakt u een VPN-gateway en configureert u geforceerd tunnelen. In deze procedure heeft het virtuele netwerk 'MultiTier-VNet' drie subnetten: 'Frontend', 'Midtier' en 'Backend', met vier cross-premises verbindingen: 'DefaultSiteHQ' en drie vertakkingen.

Met de procedurestappen stelt u de DefaultSiteHQ in als de standaardsiteverbinding voor geforceerd tunnelen en configureert u de subnetten 'Midtier' en 'Back-end' om geforceerd tunneling te gebruiken.

Voordat u begint

Installeer de meest recente versie van de PowerShell-cmdlets van Azure Resource Manager. Zie How to install and configure Azure PowerShell (Azure PowerShell installeren en configureren) voor meer informatie over het installeren van de PowerShell-cmdlets.

Belangrijk

Het installeren van de nieuwste versie van de PowerShell-cmdlets is vereist. Anders kunt u validatiefouten ontvangen bij het uitvoeren van een aantal cmdlets.

Aanmelden

Als u Power shell lokaal uitvoert, opent u de Power shell-console met verhoogde bevoegdheden en maakt u verbinding met uw Azure-account. Met de cmdlet Connect-AzAccount wordt u gevraagd referenties op te vragen. Na de verificatie worden uw account instellingen gedownload zodat ze beschikbaar zijn voor Azure PowerShell.

Als u Azure Cloud Shell gebruikt in plaats van lokaal Power shell uit te voeren, zult u merken dat u geen Connect-AzAccount hoeft uit te voeren. Azure Cloud Shell maakt automatisch verbinding met uw Azure-account nadat u het selectie vakje proberen hebt geselecteerd.

  1. Als u Power shell lokaal uitvoert, meldt u zich aan.

    Connect-AzAccount
    
  2. Als u meer dan één abonnement hebt, haalt u een lijst met uw abonnementen op.

    Get-AzSubscription
    
  3. Geef het abonnement op dat u wilt gebruiken.

    Select-AzSubscription -SubscriptionName "Name of subscription"
    

Geforceerde tunneling configureren

Notitie

Mogelijk ziet u waarschuwingen met de tekst 'Het uitvoerobjecttype van deze cmdlet wordt in een toekomstige release gewijzigd'. Dit is verwacht gedrag en u kunt deze waarschuwingen negeren.

  1. Een resourcegroep maken.

    New-AzResourceGroup -Name 'ForcedTunneling' -Location 'North Europe'
    
  2. Maak een virtueel netwerk en geef subnetten op.

    $s1 = New-AzVirtualNetworkSubnetConfig -Name "Frontend" -AddressPrefix "10.1.0.0/24"
    $s2 = New-AzVirtualNetworkSubnetConfig -Name "Midtier" -AddressPrefix "10.1.1.0/24"
    $s3 = New-AzVirtualNetworkSubnetConfig -Name "Backend" -AddressPrefix "10.1.2.0/24"
    $s4 = New-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -AddressPrefix "10.1.200.0/28"
    $vnet = New-AzVirtualNetwork -Name "MultiTier-VNet" -Location "North Europe" -ResourceGroupName "ForcedTunneling" -AddressPrefix "10.1.0.0/16" -Subnet $s1,$s2,$s3,$s4
    
  3. Maak de lokale netwerkgateways.

    $lng1 = New-AzLocalNetworkGateway -Name "DefaultSiteHQ" -ResourceGroupName "ForcedTunneling" -Location "North Europe" -GatewayIpAddress "111.111.111.111" -AddressPrefix "192.168.1.0/24"
    $lng2 = New-AzLocalNetworkGateway -Name "Branch1" -ResourceGroupName "ForcedTunneling" -Location "North Europe" -GatewayIpAddress "111.111.111.112" -AddressPrefix "192.168.2.0/24"
    $lng3 = New-AzLocalNetworkGateway -Name "Branch2" -ResourceGroupName "ForcedTunneling" -Location "North Europe" -GatewayIpAddress "111.111.111.113" -AddressPrefix "192.168.3.0/24"
    $lng4 = New-AzLocalNetworkGateway -Name "Branch3" -ResourceGroupName "ForcedTunneling" -Location "North Europe" -GatewayIpAddress "111.111.111.114" -AddressPrefix "192.168.4.0/24"
    
  4. Maak de routetabel en routeregel.

    New-AzRouteTable –Name "MyRouteTable" -ResourceGroupName "ForcedTunneling" –Location "North Europe"
    $rt = Get-AzRouteTable –Name "MyRouteTable" -ResourceGroupName "ForcedTunneling" 
    Add-AzRouteConfig -Name "DefaultRoute" -AddressPrefix "0.0.0.0/0" -NextHopType VirtualNetworkGateway -RouteTable $rt
    Set-AzRouteTable -RouteTable $rt
    
  5. Koppel de routetabel aan de subnetten Midtier en Backend.

    $vnet = Get-AzVirtualNetwork -Name "MultiTier-Vnet" -ResourceGroupName "ForcedTunneling"
    Set-AzVirtualNetworkSubnetConfig -Name "MidTier" -VirtualNetwork $vnet -AddressPrefix "10.1.1.0/24" -RouteTable $rt
    Set-AzVirtualNetworkSubnetConfig -Name "Backend" -VirtualNetwork $vnet -AddressPrefix "10.1.2.0/24" -RouteTable $rt
    Set-AzVirtualNetwork -VirtualNetwork $vnet
    
  6. Maak de virtuele netwerkgateway. Het maken van een gateway duurt vaak 45 minuten of langer, afhankelijk van de geselecteerde gateway-SKU. Als u ValidateSet-fouten ziet met betrekking tot de gatewaySKU-waarde, controleert u of u de nieuwste versie van de PowerShell-cmdlets hebt geïnstalleerd. De nieuwste versie van de PowerShell-cmdlets bevat de nieuwe gevalideerde waarden voor de meest recente Gateway-SKU's.

    $pip = New-AzPublicIpAddress -Name "GatewayIP" -ResourceGroupName "ForcedTunneling" -Location "North Europe" -AllocationMethod Dynamic
    $gwsubnet = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet
    $ipconfig = New-AzVirtualNetworkGatewayIpConfig -Name "gwIpConfig" -SubnetId $gwsubnet.Id -PublicIpAddressId $pip.Id
    New-AzVirtualNetworkGateway -Name "Gateway1" -ResourceGroupName "ForcedTunneling" -Location "North Europe" -IpConfigurations $ipconfig -GatewayType Vpn -VpnType RouteBased -GatewaySku VpnGw1 -EnableBgp $false
    
  7. Wijs een standaardsite toe aan de gateway van het virtuele netwerk. -GatewayDefaultSite is de cmdlet-parameter waarmee de geforceerd routeringsconfiguratie werkt. Zorg er daarom voor dat u deze instelling goed configureert.

    $LocalGateway = Get-AzLocalNetworkGateway -Name "DefaultSiteHQ" -ResourceGroupName "ForcedTunneling"
    $VirtualGateway = Get-AzVirtualNetworkGateway -Name "Gateway1" -ResourceGroupName "ForcedTunneling"
    Set-AzVirtualNetworkGatewayDefaultSite -GatewayDefaultSite $LocalGateway -VirtualNetworkGateway $VirtualGateway
    
  8. De site-naar-site-VPN-verbindingen tot stand brengen.

    $gateway = Get-AzVirtualNetworkGateway -Name "Gateway1" -ResourceGroupName "ForcedTunneling"
    $lng1 = Get-AzLocalNetworkGateway -Name "DefaultSiteHQ" -ResourceGroupName "ForcedTunneling" 
    $lng2 = Get-AzLocalNetworkGateway -Name "Branch1" -ResourceGroupName "ForcedTunneling" 
    $lng3 = Get-AzLocalNetworkGateway -Name "Branch2" -ResourceGroupName "ForcedTunneling" 
    $lng4 = Get-AzLocalNetworkGateway -Name "Branch3" -ResourceGroupName "ForcedTunneling" 
    
    New-AzVirtualNetworkGatewayConnection -Name "Connection1" -ResourceGroupName "ForcedTunneling" -Location "North Europe" -VirtualNetworkGateway1 $gateway -LocalNetworkGateway2 $lng1 -ConnectionType IPsec -SharedKey "preSharedKey"
    New-AzVirtualNetworkGatewayConnection -Name "Connection2" -ResourceGroupName "ForcedTunneling" -Location "North Europe" -VirtualNetworkGateway1 $gateway -LocalNetworkGateway2 $lng2 -ConnectionType IPsec -SharedKey "preSharedKey"
    New-AzVirtualNetworkGatewayConnection -Name "Connection3" -ResourceGroupName "ForcedTunneling" -Location "North Europe" -VirtualNetworkGateway1 $gateway -LocalNetworkGateway2 $lng3 -ConnectionType IPsec -SharedKey "preSharedKey"
    New-AzVirtualNetworkGatewayConnection -Name "Connection4" -ResourceGroupName "ForcedTunneling" -Location "North Europe" -VirtualNetworkGateway1 $gateway -LocalNetworkGateway2 $lng4 -ConnectionType IPsec -SharedKey "preSharedKey"
    
    Get-AzVirtualNetworkGatewayConnection -Name "Connection1" -ResourceGroupName "ForcedTunneling"