Konfigurera tvingad tunneltrafik

Med tvingad tunneltrafik kan du omdirigera eller ”tvinga” all Internetbunden trafik tillbaka till din lokala plats via en plats-till-plats-VPN-tunnel för kontroll och granskning. Detta är ett kritiskt säkerhetskrav för de flesta it-principer för företag. Om du inte konfigurerar tvingad tunneltrafik passerar internetbunden trafik från dina virtuella datorer i Azure alltid från Azure-nätverksinfrastrukturen direkt ut till Internet, utan att du kan kontrollera eller granska trafiken. Obehörig Internetåtkomst kan potentiellt leda till avslöjande av information eller andra typer av säkerhetsöverträdelser.

Tvingad tunneltrafik kan konfigureras med hjälp av Azure PowerShell. Det går inte att konfigurera med hjälp av Azure Portal. Den här artikeln hjälper dig att konfigurera tvingad tunneltrafik för virtuella nätverk som skapats med hjälp av Resource Manager distributionsmodellen. Om du vill konfigurera tvingad tunneltrafik för den klassiska distributionsmodellen läser du Tvingad tunneltrafik – klassisk.

Om tvingad tunneltrafik

Följande diagram illustrerar hur tvingad tunneltrafik fungerar.

Diagram shows forced tunneling.

I det här exemplet framtvingas inte klientdelsundernätet tunneltrafik. Arbetsbelastningarna i klientdelsundernätet kan fortsätta att acceptera och svara på kundförfrågningar från Internet direkt. Undernäten Mid-tier och Backend tvingas tunneltrafik. Alla utgående anslutningar från dessa två undernät till Internet tvingas eller omdirigeras tillbaka till en lokal plats via en av VPN-tunnlarna för plats-till-plats (S2S).

På så sätt kan du begränsa och inspektera Internetåtkomst från dina virtuella datorer eller molntjänster i Azure, samtidigt som du fortsätter att aktivera den tjänstarkitektur på flera nivåer som krävs. Om det inte finns några Internetuppkopplade arbetsbelastningar i dina virtuella nätverk kan du även använda tvingad tunneltrafik till hela de virtuella nätverken.

Krav och överväganden

Tvingad tunneltrafik i Azure konfigureras med hjälp av anpassade användardefinierade vägar för virtuella nätverk. Omdirigering av trafik till en lokal plats uttrycks som en standardväg till Azure VPN-gatewayen. Mer information om användardefinierad routning och virtuella nätverk finns i Anpassade användardefinierade vägar.

  • Varje virtuellt nätverksundernät har en inbyggd systemroutningstabell. Systemroutningstabellen har följande tre grupper med vägar:

    • Lokala VNet-vägar: Direkt till de virtuella måldatorerna i samma virtuella nätverk.
    • Lokala vägar: Till Azure VPN-gatewayen.
    • Standardväg: Direkt till Internet. Paket som är avsedda för de privata IP-adresserna som inte omfattas av de föregående två vägarna tas bort.
  • Tvingad tunneltrafik måste associeras med ett virtuellt nätverk som har en routningsbaserad VPN-gateway. Konfigurationen för tvingad tunneltrafik åsidosätter standardvägen för alla undernät i det virtuella nätverket. Du måste ange en "standardplats" bland de lokala platser som är anslutna till det virtuella nätverket. Dessutom måste den lokala VPN-enheten konfigureras med 0.0.0.0/0 som trafikväljare.

  • Tvingad ExpressRoute-tunneltrafik konfigureras inte via den här mekanismen, utan aktiveras i stället genom att annonsera en standardväg via ExpressRoute BGP-peeringsessioner. Mer information finns i ExpressRoute-dokumentationen.

Översikt över konfiguration

Följande procedur hjälper dig att skapa en resursgrupp och ett virtuellt nätverk. Sedan skapar du en VPN-gateway och konfigurerar tvingad tunneltrafik. I den här proceduren har det virtuella nätverket "MultiTier-VNet" tre undernät: "Frontend", "Midtier" och "Backend", med fyra anslutningar mellan platser: "DefaultSiteHQ" och tre grenar.

Stegen för proceduren anger "DefaultSiteHQ" som standardplatsanslutning för tvingad tunneltrafik och konfigurerar undernäten "Midtier" och "Backend" för att använda tvingad tunneltrafik.

Innan du börjar

Installera den senaste versionen av Azure Resource Managers PowerShell-cmdletar. Mer information om hur man installerar PowerShell-cmdletar finns i Så här installerar och konfigurerar du Azure PowerShell.

Viktigt

Du måste installera den senaste versionen av PowerShell-cmdletarna. Annars kan du få verifieringsfel när du kör några av cmdletarna.

Logga in

Om du kör PowerShell lokalt öppnar du PowerShell-konsolen med utökade privilegier och ansluter till ditt Azure-konto. Cmdleten Anslut-AzAccount uppmanar dig att ange autentiseringsuppgifter. När du har autentiserats laddas dina kontoinställningar ned så att de är tillgängliga för Azure PowerShell.

Om du använder Azure Cloud Shell i stället för att köra PowerShell lokalt ser du att du inte behöver köra Anslut-AzAccount. Azure Cloud Shell ansluter automatiskt till ditt Azure-konto när du har valt Prova.

  1. Om du kör PowerShell lokalt loggar du in.

    Connect-AzAccount
    
  2. Om du har fler än en prenumeration hämtar du en lista över dina Azure-prenumerationer.

    Get-AzSubscription
    
  3. Ange den prenumeration som du vill använda.

    Select-AzSubscription -SubscriptionName "Name of subscription"
    

Konfigurera tvingad tunneltrafik

Anteckning

Du kan se varningar om att "Utdataobjekttypen för den här cmdleten kommer att ändras i en framtida version". Det här är ett förväntat beteende och du kan ignorera dessa varningar på ett säkert sätt.

  1. Skapa en resursgrupp.

    New-AzResourceGroup -Name 'ForcedTunneling' -Location 'North Europe'
    
  2. Skapa ett virtuellt nätverk och ange undernät.

    $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. Skapa de lokala nätverksgatewayerna.

    $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. Skapa den virtuella nätverksgatewayen. Att skapa en gateway kan ofta ta 45 minuter eller mer, beroende på vald gateway-SKU. Om du ser ValidateSet-fel om GatewaySKU-värdet kontrollerar du att du har installerat den senaste versionen av PowerShell-cmdletarna. Den senaste versionen av PowerShell-cmdletarna innehåller de nya verifierade värdena för de senaste gateway-SKU:erna.

    $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
    
  5. Tilldela en standardplats till den virtuella nätverksgatewayen. -GatewayDefaultSite är cmdlet-parametern som gör att den framtvingade routningskonfigurationen kan fungera, så se till att konfigurera den här inställningen korrekt.

    $LocalGateway = Get-AzLocalNetworkGateway -Name "DefaultSiteHQ" -ResourceGroupName "ForcedTunneling"
    $VirtualGateway = Get-AzVirtualNetworkGateway -Name "Gateway1" -ResourceGroupName "ForcedTunneling"
    Set-AzVirtualNetworkGatewayDefaultSite -GatewayDefaultSite $LocalGateway -VirtualNetworkGateway $VirtualGateway
    
  6. Upprätta VPN-anslutningar från plats till plats.

    $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"