Configuration du tunneling forcé à l’aide du modèle de déploiement Azure Resource ManagerConfigure forced tunneling using the Azure Resource Manager deployment model

Le tunneling forcé vous permet de rediriger ou de « forcer » tout le trafic Internet vers votre emplacement local via un tunnel VPN site à site pour l’inspection et l’audit.Forced tunneling lets you redirect or "force" all Internet-bound traffic back to your on-premises location via a Site-to-Site VPN tunnel for inspection and auditing. Il s’agit d’une condition de sécurité critique pour la plupart des stratégies informatiques d’entreprise.This is a critical security requirement for most enterprise IT policies. Sans le tunneling forcé, le trafic Internet depuis vos machines virtuelles dans Azure se fait toujours à travers l’infrastructure du réseau Azure directement vers Internet, sans vous permettre d’inspecter ou de vérifier le trafic.Without forced tunneling, Internet-bound traffic from your VMs in Azure always traverses from Azure network infrastructure directly out to the Internet, without the option to allow you to inspect or audit the traffic. L’accès Internet non autorisés est susceptible d’entraîner la divulgation d’informations ou tout autre type de violation de sécurité.Unauthorized Internet access can potentially lead to information disclosure or other types of security breaches.

Notes

Cet article a été mis à jour pour tenir compte de l’utilisation du nouveau module Az d’Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. Vous pouvez toujours utiliser le module AzureRM, qui continue à recevoir des correctifs de bogues jusqu’à au moins décembre 2020.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Pour en savoir plus sur le nouveau module Az et la compatibilité avec AzureRM, consultez Présentation du nouveau module Az d’Azure PowerShell.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Pour des instructions d’installation du module Az, consultez Installer Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

Azure fonctionne actuellement avec deux modèles de déploiement : Resource Manager et classique.Azure currently works with two deployment models: Resource Manager and classic. Les deux modèles ne sont pas entièrement compatibles entre eux.The two models are not completely compatible with each other. Avant de commencer, vous devez savoir dans quel modèle vous souhaitez travailler.Before you begin, you need to know which model that you want to work in. Pour plus d'informations sur les modèles de déploiement, consultez Comprendre les modèles de déploiement Azure.For information about the deployment models, see Understanding deployment models. Si vous êtes un nouvel utilisateur d’Azure, nous vous recommandons le modèle de déploiement Resource Manager.If you are new to Azure, we recommend that you use the Resource Manager deployment model.

Cet article vous guide dans la configuration du tunneling forcé pour les réseaux virtuels créés à l’aide du modèle de déploiement Resource Manager.This article walks you through configuring forced tunneling for virtual networks created using the Resource Manager deployment model. Le tunneling forcé peut être configuré à l’aide de PowerShell, et non pas dans le portail.Forced tunneling can be configured by using PowerShell, not through the portal. Si vous souhaitez configurer le tunneling forcé pour le modèle de déploiement de classique, sélectionnez l’article Classique dans la liste déroulante suivante :If you want to configure forced tunneling for the classic deployment model, select classic article from the following dropdown list:

À propos du tunneling forcéAbout forced tunneling

Le diagramme suivant illustre le fonctionnement du tunneling forcé.The following diagram illustrates how forced tunneling works.

Tunneling forcé

Dans l’exemple ci-dessus, le sous-réseau frontal n’utilise pas le tunneling forcé.In the example above, the Frontend subnet is not forced tunneled. Les charges de travail du sous-réseau frontal peuvent continuer à accepter et à répondre aux demandes des clients directement à partir d’Internet.The workloads in the Frontend subnet can continue to accept and respond to customer requests from the Internet directly. Les sous-réseaux intermédiaire et principal utilisent le tunneling forcé.The Mid-tier and Backend subnets are forced tunneled. Toutes les connexions sortantes à partir de ces deux sous-réseaux vers Internet seront forcées ou redirigées vers un site local via l’un des tunnels VPN S2S.Any outbound connections from these two subnets to the Internet will be forced or redirected back to an on-premises site via one of the S2S VPN tunnels.

Cela vous permet de restreindre et d’inspecter l’accès à Internet à partir de vos machines virtuelles ou des services cloud dans Azure, tout en continuant d’activer votre architecture de service multiniveaux requise.This allows you to restrict and inspect Internet access from your virtual machines or cloud services in Azure, while continuing to enable your multi-tier service architecture required. Vous avez également la possibilité d’appliquer le tunneling forcé à tous les réseaux virtuels s’il n’existe aucune charge de travail Internet dans vos réseaux virtuels.If there are no Internet-facing workloads in your virtual networks, you also can apply forced tunneling to the entire virtual networks.

Conditions requises et éléments à prendre en compteRequirements and considerations

Le tunneling forcé dans Azure est configuré via les itinéraires de réseau virtuel définis par l’utilisateur.Forced tunneling in Azure is configured via virtual network user-defined routes. La redirection du trafic vers un site local est exprimée comme un itinéraire par défaut vers la passerelle VPN Azure.Redirecting traffic to an on-premises site is expressed as a Default Route to the Azure VPN gateway. Pour plus d’informations sur les réseaux virtuels et les itinéraires définis par l’utilisateur, consultez Itinéraires définis par l’utilisateur et transfert IP.For more information about user-defined routing and virtual networks, see User-defined routes and IP forwarding.

  • Chaque sous-réseau du réseau virtuel dispose d’une table de routage système intégrée.Each virtual network subnet has a built-in, system routing table. La table de routage système comporte les trois groupes d’itinéraires suivants :The system routing table has the following three groups of routes:

    • Routes de réseau virtuel local : directement vers les machines virtuelles de destination sur le même réseau virtuel.Local VNet routes: Directly to the destination VMs in the same virtual network.
    • Routes locales : vers la passerelle VPN Azure.On-premises routes: To the Azure VPN gateway.
    • Route par défaut : directement vers Internet.Default route: Directly to the Internet. Les paquets destinés aux adresses IP privées non couvertes par les deux itinéraires précédents sont supprimés.Packets destined to the private IP addresses not covered by the previous two routes are dropped.
  • Cette procédure utilise des itinéraires définis par l’utilisateur (UDR) pour créer une table de routage et ajouter un itinéraire par défaut, puis associer la table de routage à vos sous-réseaux de réseaux virtuels pour activer le tunneling forcé sur ces sous-réseaux.This procedure uses user-defined routes (UDR) to create a routing table to add a default route, and then associate the routing table to your VNet subnet(s) to enable forced tunneling on those subnets.

  • Le tunneling forcé doit être associé à un réseau virtuel équipé d’une passerelle VPN avec itinéraire.Forced tunneling must be associated with a VNet that has a route-based VPN gateway. Vous devez définir un « site par défaut » parmi les sites locaux intersites connectés au réseau virtuel.You need to set a "default site" among the cross-premises local sites connected to the virtual network. En outre, le périphérique VPN local doit être configuré à l’aide de 0.0.0.0/0 comme des sélecteurs de trafic.Also, the on-premises VPN device must be configured using 0.0.0.0/0 as traffic selectors.

  • Le tunneling forcé ExpressRoute n'est pas configuré de cette manière, mais il est activé par la publication d’un itinéraire par défaut via les sessions d'homologation BGP ExpressRoute.ExpressRoute forced tunneling is not configured via this mechanism, but instead, is enabled by advertising a default route via the ExpressRoute BGP peering sessions. Pour plus d’informations, consultez la Documentation ExpressRoute.For more information, see the ExpressRoute Documentation.

Présentation de la configurationConfiguration overview

La procédure suivante vous aide à créer un groupe de ressources et un réseau virtuel.The following procedure helps you create a resource group and a VNet. Vous créerez ensuite une passerelle VPN et configurerez le tunneling forcé.You'll then create a VPN gateway and configure forced tunneling. Dans cette procédure, le réseau virtuel « MultiTier-VNet » comporte trois sous-réseaux : « Frontend », « Midtier » et « Backend », avec quatre connexions entre différents locaux : « DefaultSiteHQ » et trois branches.In this procedure, the virtual network 'MultiTier-VNet' has three subnets: 'Frontend', 'Midtier', and 'Backend', with four cross-premises connections: 'DefaultSiteHQ', and three Branches.

Les étapes de la procédure définissent « DefaultSiteHQ » comme connexion de site par défaut pour le tunneling forcé et configure les sous-réseaux « Midtier » et « Backend » de manière à utiliser le tunneling forcé.The procedure steps set the 'DefaultSiteHQ' as the default site connection for forced tunneling, and configure the 'Midtier' and 'Backend' subnets to use forced tunneling.

Avant de commencerBefore you begin

Installez la dernière version des applets de commande PowerShell Azure Resource Manager.Install the latest version of the Azure Resource Manager PowerShell cmdlets. Pour plus d’informations sur l’installation des applets de commande PowerShell, consultez Installation et configuration d’Azure PowerShell.See How to install and configure Azure PowerShell for more information about installing the PowerShell cmdlets.

Important

Vous devez installer la dernière version des applets de commande PowerShell.Installing the latest version of the PowerShell cmdlets is required. Sinon, vous risquez de recevoir des erreurs de validation à l’exécution de certaines des applets de commande.Otherwise, you may receive validation errors when running some of the cmdlets.

Pour se connecterTo log in

Avant de commencer cette configuration, vous devez vous connecter à votre compte Azure.Before beginning this configuration, you must sign in to your Azure account. Les cmdlets vous invitent à entrer les informations d’identification de connexion pour votre compte Azure.The cmdlet prompts you for the sign-in credentials for your Azure account. Une fois que vous êtes connecté, la cmdlet télécharge vos paramètres de compte pour qu’ils soient reconnus par Azure PowerShell.After signing in, it downloads your account settings so they are available to Azure PowerShell. Pour plus d’informations, consultez la page Utilisation de Windows PowerShell avec Resource Manager.For more information, see Using Windows PowerShell with Resource Manager.

Pour vous connecter, ouvrez la console PowerShell avec des privilèges élevés et connectez-vous à votre compte.To sign in, open your PowerShell console with elevated privileges, and connect to your account. Utilisez l’exemple suivant pour faciliter votre connexion :Use the following example to help you connect:

Connect-AzAccount

Si vous disposez de plusieurs abonnements Azure, vérifiez les abonnements associés au compte.If you have multiple Azure subscriptions, check the subscriptions for the account.

Get-AzSubscription

Spécifiez l’abonnement à utiliser.Specify the subscription that you want to use.

Select-AzSubscription -SubscriptionName "Replace_with_your_subscription_name"

Configurer un tunneling forcéConfigure forced tunneling

Notes

Peuvent s’afficher des alertes comme « The output object type of this cmdlet will be modified in a future release » (« le type d’objet de sortie de cette applet de commande sera modifié dans une version ultérieure »).You may see warnings saying "The output object type of this cmdlet will be modified in a future release". Ce comportement est normal ; vous pouvez ignorer ces avertissements.This is expected behavior and you can safely ignore these warnings.

  1. Créez un groupe de ressources.Create a resource group.

    New-AzResourceGroup -Name 'ForcedTunneling' -Location 'North Europe'
    
  2. Créez un réseau virtuel et spécifiez vos sous-réseaux.Create a virtual network and specify subnets.

    $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. Créez les passerelles de réseau local.Create the local network gateways.

    $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. Créez la table d’itinéraires et la règle de routage.Create the route table and route rule.

    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. Associez la table d’itinéraire vers le niveau intermédiaire et les sous-réseaux principaux.Associate the route table to the Midtier and Backend subnets.

    $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. Créez la passerelle de réseau virtuel.Create the virtual network gateway. Cette opération prend un certain temps, parfois 45 minutes voire plus, car vous créez et configurez la passerelle.This step takes some time to complete, sometimes 45 minutes or more, because you are creating and configuring the gateway. Si vous voyez des erreurs ValidateSet relatives à la valeur GatewaySKU, vérifiez que vous avez installé la dernière version des applets de commande PowerShell.If you see ValidateSet errors regarding the GatewaySKU value, verify that you have installed the latest version of the PowerShell cmdlets. La dernière version des applets de commande PowerShell contient les nouvelles valeurs validées pour les dernières références SKU de passerelle.The latest version of the PowerShell cmdlets contains the new validated values for the latest 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
    
  7. Affecter un site par défaut à la passerelle de réseau virtuel.Assign a default site to the virtual network gateway. -GatewayDefaultSite est le paramètre d’applet de commande qui permet à la configuration de routage forcé de fonctionner. Configurez ce paramètre correctement.The -GatewayDefaultSite is the cmdlet parameter that allows the forced routing configuration to work, so take care to configure this setting properly.

    $LocalGateway = Get-AzLocalNetworkGateway -Name "DefaultSiteHQ" -ResourceGroupName "ForcedTunneling"
    $VirtualGateway = Get-AzVirtualNetworkGateway -Name "Gateway1" -ResourceGroupName "ForcedTunneling"
    Set-AzVirtualNetworkGatewayDefaultSite -GatewayDefaultSite $LocalGateway -VirtualNetworkGateway $VirtualGateway
    
  8. Établissez des connexions VPN de site à site.Establish the Site-to-Site VPN connections.

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