Konfigurieren der Tunnelerzwingung

Über die Tunnelerzwingung können Sie die Umleitung des gesamten Internetdatenverkehrs an Ihren lokalen Standort „erzwingen“. Sie verwenden dazu einen Standort-zu-Standort-VPN-Tunnel für die Kontrolle und Überwachung. Dies ist eine wichtige Sicherheitsvoraussetzung der IT-Richtlinien für die meisten Unternehmen. Wenn Sie die Tunnelerzwingung nicht konfigurieren, wird der Internetdatenverkehr Ihrer virtuellen Computer in Azure immer direkt von der Azure-Netzwerkinfrastruktur an das Internet geleitet, ohne dass Sie die Möglichkeit haben, diesen zu überprüfen oder zu überwachen. Nicht autorisierter Zugriff auf das Internet kann potenziell zur Offenlegung von Informationen oder anderen Arten von Sicherheitsverletzungen führen.

Die Tunnelerzwingung kann mithilfe von Azure PowerShell konfiguriert werden. Eine Konfiguration über das Azure-Portal ist nicht möglich. Dieser Artikel hilft Ihnen dabei, die Tunnelerzwingung für virtuelle Netzwerke zu konfigurieren, die mit dem Resource Manager-Bereitstellungsmodell erstellt wurden. Informationen zum Konfigurieren der Tunnelerzwingung für das klassische Bereitstellungsmodell finden Sie unter Konfigurieren der Tunnelerzwingung mit dem klassischen Bereitstellungsmodell.

Informationen zur Tunnelerzwingung und zu getrenntem Tunneln

Das folgende Diagramm veranschaulicht die Funktionsweise der Tunnelerzwingung.

Diagramm der Tunnelerzwingung

In diesem Beispiel besteht keine Tunnelerzwingung (getrenntes Tunneln) für das Front-End-Subnetz. Die Workloads im Frontend-Subnetz können weiterhin Kundenanfragen direkt aus dem Internet akzeptieren und darauf reagieren. Für die Subnetze "Midtier" und "Backend" wird das Tunneln erzwungen. Bei allen ausgehenden Internetverbindungen aus diesen zwei Subnetzen wird über einen der S2S-VPN-Tunnel eine Umleitung an einen lokalen Standort erzwungen.

Mit dem Typ für getrenntes Tunneln können Sie den gesamten Datenverkehr für bestimmte Subnetze direkt an die lokale Umgebung umleiten, während andere Subnetze weiterhin ohne Umleitung direkt auf das Internet zugreifen können.

Dadurch können Sie den Internetzugriff über die virtuellen Computer oder Clouddienste in Azure einschränken und überprüfen, während die erforderliche mehrschichtige Dienstarchitektur weiterhin in Betrieb bleibt. Wenn in diesen keine Workloads mit Internetverbindung erforderlich sind, können Sie das erzwungene Tunneln auch auf alle virtuellen Netzwerke anwenden.

Anforderungen und Überlegungen

Die Tunnelerzwingung in Azure wird über benutzerdefinierte Routen im virtuellen Netzwerk konfiguriert. Das Umleiten von Datenverkehr an einen lokalen Standort wird als eine Standardroute zum Azure-VPN-Gateway umgesetzt. Weitere Informationen zu benutzerdefiniertem Routing und virtuellen Netzwerken finden Sie unter Benutzerdefiniertes Routing.

  • Jedes Subnetz des virtuellen Netzwerks verfügt über eine integrierte Systemroutingtabelle. Die Systemroutingtabelle verfügt über die folgenden drei Gruppen von Routen:

    • Lokale VNET-Routen: direkt zu den virtuellen Zielcomputern im gleichen virtuellen Netzwerk.
    • Lokale Routen: zum Azure VPN Gateway.
    • Standardroute: direkt zum Internet. Pakete an private IP-Adressen, die nicht durch die vorherigen beiden Routen abgedeckt sind, werden verworfen.
  • Die Tunnelerzwingung muss einem VNet zugeordnet werden, das über ein routenbasiertes VPN-Gateway verfügt. Ihre erzwungene Tunnelkonfiguration überschreibt die Standardroute für alle Subnetze in ihrem VNet. Sie müssen einen "Standardstandort" unter den standortübergreifenden lokalen Standorten auswählen, der mit dem virtuellen Netzwerk verbunden ist. Darüber hinaus muss das lokale VPN-Gerät für die Verwendung von „0.0.0.0/0“ als Datenverkehrsauswahl konfiguriert werden.

  • Die ExpressRoute-Tunnelerzwingung kann über diesen Mechanismus nicht konfiguriert werden. Sie wird stattdessen durch Anfordern einer Standardroute über die ExpressRoute-BGP-Peeringsitzungen aktiviert. Weitere Informationen finden Sie in der Dokumentation zu ExpressRoute.

Übersicht über die Konfiguration von getrenntem Tunneln

Das folgende Verfahren unterstützt Sie beim Erstellen einer Ressourcengruppe und eines VNets. Anschließend erstellen Sie ein VPN-Gateway und konfigurieren die Tunnelerzwingung. In dieser Vorgehensweise verfügt das virtuelle Netzwerk „MultiTier-VNet“ über die drei Subnetze „Frontend“, „Midtier“ und „Backend“ mit vier standortübergreifenden Verbindungen: „DefaultSiteHQ“ und drei Verzweigungen.

Mithilfe der Schritte wird festgelegt, dass „DefaultSiteHQ“ die Standard-Standortverbindung für die Tunnelerzwingung ist und die Subnetze „Midtier“ und „Backend“ die Tunnelerzwingung verwenden müssen. Wenn Tunnelerzwingung eingesetzt werden soll, muss für alle Subnetze die Standardroutentabelle überschrieben werden.

Voraussetzungen

Installieren Sie die aktuelle Version der PowerShell-Cmdlets für Azure Resource Manager. Weitere Informationen zur Installation der PowerShell-Cmdlets finden Sie unter Installieren und Konfigurieren von Azure PowerShell .

Wichtig

Es muss die neueste Version der PowerShell-Cmdlets installiert sein. Andernfalls können bei der Ausführung einiger Cmdlets Überprüfungsfehler auftreten.

So melden Sie sich an

Wenn Sie PowerShell lokal ausführen, öffnen Sie die PowerShell-Konsole mit erhöhten Rechten, und stellen Sie eine Verbindung mit Ihrem Azure-Konto her. Das Cmdlet Connect-AzAccount fordert Sie zur Eingabe von Anmeldeinformationen auf. Nachdem Sie sich authentifiziert haben, werden Ihre Kontoeinstellungen heruntergeladen, damit sie Azure PowerShell zur Verfügung stehen.

Wenn Sie Azure Cloud Shell verwenden, anstatt PowerShell lokal auszuführen, werden Sie feststellen, dass Sie Connect-AzAccount nicht ausführen müssen. Azure Cloud Shell stellt automatisch eine Verbindung mit Ihrem Azure-Konto her, nachdem Sie Testen ausgewählt haben.

  1. Wenn Sie PowerShell lokal ausführen, melden Sie sich an.

    Connect-AzAccount
    
  2. Falls Sie über mehrere Abonnements verfügen, rufen Sie eine Liste Ihrer Azure-Abonnements ab.

    Get-AzSubscription
    
  3. Geben Sie das Abonnement an, das Sie verwenden möchten.

    Select-AzSubscription -SubscriptionName "Name of subscription"
    

Konfigurieren der Tunnelerzwingung

Hinweis

Eventuell werden Warnungen wie die Folgende angezeigt: „Der Ausgabeobjekttyp dieses Cmdlets wird in einer zukünftigen Version geändert.“ Dies ist das erwartete Verhalten. Sie können diese Warnungen einfach ignorieren.

  1. Erstellen Sie eine Ressourcengruppe.

    New-AzResourceGroup -Name 'ForcedTunneling' -Location 'North Europe'
    
  2. Erstellen Sie ein virtuelles Netzwerks, und geben Sie Subnetze an.

    $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. Erstellen Sie die Routingtabelle:

    New-AzRouteTable –Name "MyRouteTable" -ResourceGroupName "ForcedTunneling" –Label "Routing Table for Forced Tunneling" –Location "North Europe"
    
  4. Legen Sie die Routingtabellenkonfiguration fest:

    Set-AzureRoute –RouteTable "MyRouteTable" –RouteName "DefaultRoute" –AddressPrefix "0.0.0.0/0" –NextHopType VPNGateway
    
  5. Weisen Sie die Routingtabelle den Subnetzen zu:

    Set-AzVirtualNetworkSubnetConfig -VirtualNetwork "MultiTier-VNet" -Name "Midtier" -RouteTable "MyRouteTable"
    Set-AzVirtualNetworkSubnetConfig -VirtualNetwork "MultiTier-VNet" -Name "Backend" -RouteTable "MyRouteTable"
    
  6. Erstellen Sie die lokalen Netzwerkgateways.

    $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"
    
  7. Erstellen Sie das virtuelle Netzwerkgateway. Häufig kann die Erstellung eines Gateways je nach ausgewählter Gateway-SKU mindestens 45 Minuten dauern. Wenn ValidateSet-Fehler zum GatewaySKU-Wert angezeigt werden, sollten Sie überprüfen, ob Sie die aktuelle Version der PowerShell-Cmdlets installiert haben. Die aktuelle Version der PowerShell-Cmdlets enthält die neuen überprüften Werte für die neuesten Gateway-SKUs.

    $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
    
  8. Weisen Sie einen Standardstandort für das virtuelle Netzwerkgateway zu. Der Cmdlet-Parameter -GatewayDefaultSite sorgt dafür, dass die erzwungene Routingkonfiguration funktioniert. Achten Sie daher darauf, diese Einstellung korrekt zu konfigurieren.

    $LocalGateway = Get-AzLocalNetworkGateway -Name "DefaultSiteHQ" -ResourceGroupName "ForcedTunneling"
    $VirtualGateway = Get-AzVirtualNetworkGateway -Name "Gateway1" -ResourceGroupName "ForcedTunneling"
    Set-AzVirtualNetworkGatewayDefaultSite -GatewayDefaultSite $LocalGateway -VirtualNetworkGateway $VirtualGateway
    
  9. Richten Sie die Standort-zu-Standort-VPN-Verbindungen ein.

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