Configuration du tunneling forcé à l’aide du modèle de déploiement classique

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. Il s’agit d’une condition de sécurité critique pour la plupart des stratégies informatiques d’entreprise. Sans le tunneling forcé, le trafic Internet depuis vos machines virtuelles dans Azure se fera toujours à partir de l’infrastructure du réseau Azure directement vers Internet, sans vous laisser inspecter ou vérifier le trafic. 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é.

Les étapes décrites dans cet article s’appliquent au modèle de déploiement classique (hérité), mais pas au modèle de déploiement actuel, celui de Resource Manager. Sauf si vous souhaitez utiliser spécifiquement le modèle de déploiement classique, nous vous recommandons d’utiliser la version Resource Manager de cet article.

Notes

Cet article traite du modèle de déploiement classique (hérité). Nous vous recommandons d’utiliser le dernier modèle de déploiement Azure à la place. Le modèle de déploiement Resource Manager est le modèle de déploiement le plus récent, qui propose davantage d’options et de fonctions compatibles que le modèle de déploiement classique. Pour comprendre la différence entre ces deux modèles de déploiement, consultez Compréhension des modèles de déploiement et de l’état de vos ressources.

Si vous souhaitez utiliser une autre version de cet article, utilisez la table des matières dans le volet gauche.

Conditions requises et éléments à prendre en compte

Le tunneling forcé dans Azure est configuré par le biais d’itinéraires définis par l’utilisateur de réseau virtuel. La redirection du trafic vers un site local est exprimée comme un itinéraire par défaut vers la passerelle VPN Azure. La section suivante répertorie la limite actuelle de la table et des itinéraires de routage pour un réseau virtuel Azure :

  • Chaque sous-réseau du réseau virtuel dispose d’une table de routage système intégrée. La table de routage système comporte les trois groupes d’itinéraires suivants :

    • Itinéraires de réseau virtuel local : directement vers les machines virtuelles de destination dans le même réseau virtuel.
    • Itinéraires locaux : vers la passerelle VPN Azure.
    • Route par défaut : directement vers Internet. Les paquets destinés à des adresses IP privées non couvertes par les deux itinéraires précédents sont supprimés.
  • Grâce aux itinéraires définis par l’utilisateur, vous pouvez créer une table de routage, y ajouter un itinéraire par défaut, puis associer cette table à un ou plusieurs sous-réseaux de réseau virtuel pour activer le tunneling forcé sur ces derniers.

  • Vous devez définir un « site par défaut » parmi les sites locaux intersites connectés au réseau virtuel.

  • Le tunneling forcé doit être associé à un réseau virtuel équipé d'une passerelle VPN à routage dynamique (pas de passerelle statique).

  • 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 de peering BGP ExpressRoute. Pour plus d’informations, consultez Présentation d’ExpressRoute

Présentation de la configuration

Dans l’exemple suivant, le sous-réseau Frontend n’utilise pas le tunneling forcé. Les charges de travail du sous-réseau frontal peuvent continuer à accepter et à répondre aux demandes des clients directement à partir d’Internet. Les sous-réseaux intermédiaire et principal utilisent le tunneling forcé. Toutes les connexions sortantes à partir de ces deux sous-réseaux vers Internet sont forcées ou redirigées vers un site local via l’un des tunnels S2S VPN.

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. 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.

Schéma montrant une architecture de tunneling forcé.

Prérequis

Vérifiez que vous disposez des éléments suivants avant de commencer la configuration :

  • Un abonnement Azure. Si vous ne disposez pas déjà d’un abonnement Azure, vous pouvez activer vos avantages abonnés MSDN ou créer un compte gratuit.
  • Un réseau virtuel configuré.
  • Quand vous utilisez le modèle de déploiement classique, vous ne pouvez pas utiliser Azure Cloud Shell. Vous devez à la place installer la dernière version des applets de commande PowerShell Azure Service Management (SM) localement sur votre ordinateur. Ces applets de commande sont différentes des applets de commande AzureRM ou AZ. Pour installer les applets de commande SM, consultez Installer les applets de commande de management des services. Pour plus d’informations sur Azure PowerShell en général, consultez la documentation Azure PowerShell.

Configurer un tunneling forcé

La procédure suivante vous permet de spécifier le tunneling forcé dans un réseau virtuel. Les étapes de configuration correspondent au fichier de configuration de réseau virtuel. Dans cet exemple, le réseau virtuel « MultiTier-VNet » comporte trois sous-réseaux : Frontend, Midtier et Backend, ainsi que quatre connexions intersites : « DefaultSiteHQ » et trois branches.

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

La procédure suivante définit « DefaultSiteHQ » comme connexion de site par défaut pour le tunneling forcé et configure les sous-réseaux Midtier et Backend de manière à ce qu’ils utilisent le tunneling forcé.

  1. Ouvrez la console PowerShell avec des droits élevés. Connectez-vous à votre compte à l’aide de l’exemple suivant :

    Add-AzureAccount
    
  2. Créez une table de routage. Utilisez l’applet de commande suivante pour créer votre table d’itinéraires.

    New-AzureRouteTable –Name "MyRouteTable" –Label "Routing Table for Forced Tunneling" –Location "North Europe"
    
  3. Ajoutez un itinéraire par défaut à la table de routage.

    L’exemple suivant ajoute un itinéraire par défaut à la table de routage créée à l’étape 1. Le seul itinéraire pris en charge est le préfixe de destination de « 0.0.0.0/0 » vers le prochain saut « VPNGateway ».

    Get-AzureRouteTable -Name "MyRouteTable" | Set-AzureRoute –RouteTable "MyRouteTable" –RouteName "DefaultRoute" –AddressPrefix "0.0.0.0/0" –NextHopType VPNGateway
    
  4. Associez la table de routage aux sous-réseaux.

    Une fois la table de routage créée et l’itinéraire ajouté, utilisez l’exemple suivant pour ajouter ou associer la table d’itinéraires à un sous-réseau de réseau virtuel. L’exemple ajoute la table d’itinéraires « MyRouteTable » aux sous-réseaux Midtier et Backend du réseau virtuel multiniveau.

    Set-AzureSubnetRouteTable -VirtualNetworkName "MultiTier-VNet" -SubnetName "Midtier" -RouteTableName "MyRouteTable"
    Set-AzureSubnetRouteTable -VirtualNetworkName "MultiTier-VNet" -SubnetName "Backend" -RouteTableName "MyRouteTable"
    
  5. Affectez un site par défaut pour le tunneling forcé.

    Dans l’étape précédente, les exemples de scripts d’applet de commande ont créé la table de routage et associé la table d’itinéraires à deux des sous-réseaux de réseau virtuel. La dernière étape consiste à sélectionner un site local parmi les connexions multisites du réseau virtuel en tant que site ou tunnel par défaut.

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

Autres applets de commande PowerShell

Pour supprimer une table d’itinéraires

Remove-AzureRouteTable -Name <routeTableName>

Pour répertorier une table d’itinéraires

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

Pour supprimer un itinéraire d’une table d’itinéraires

Remove-AzureRouteTable –Name <routeTableName>

Pour supprimer un itinéraire d’un sous-réseau

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

Pour répertorier la table d’itinéraires associée à un sous-réseau

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

Pour supprimer un site par défaut d’une passerelle VPN de réseau virtuel

Remove-AzureVnetGatewayDefaultSite -VNetName <virtualNetworkName>