Configurer le tunneling forcé en utilisant un site par défaut pour des connexions de site à site

Les étapes décrites dans cet article vous aident à configurer le tunneling forcé pour des connexions IPsec de site à site (S2S) en spécifiant un site par défaut. Si vous souhaitez obtenir des informations sur les méthodes de configuration du tunneling forcé, notamment la configuration d’un tunneling forcé via BGP, consultez À propos du tunneling forcé pour la passerelle VPN.

Par défaut, le trafic lié à Internet provenant de vos machines virtuelles est directement dirigé vers Internet. Si vous souhaitez forcer tout le trafic internet via la passerelle VPN vers un emplacement local à des fins d’inspection et d’audit, vous pouvez le faire en configurant le tunneling forcé. Après avoir configuré le tunneling forcé, si vous le souhaitez, vous pouvez acheminer le trafic lié à Internet directement vers Internet pour les sous-réseaux spécifiés à l'aide d'itinéraires personnalisés définis par l'utilisateur (UDR).

Diagram shows split tunneling.

La procédure suivante vous aide à configurer un scénario de tunneling forcé en spécifiant un site par défaut. Éventuellement, à l'aide d'UDR personnalisé, vous pouvez acheminer le trafic en spécifiant que le trafic lié à Internet depuis le sous-réseau frontal va directement à Internet, plutôt qu'au site sur site.

  • Le réseau virtuel que vous créez a trois sous-réseaux : Front-end, Intermédiaire et Back-end avec quatre connexions entre sites : DefaultSiteHQ et trois branches.
  • Vous spécifiez le site par défaut de votre passerelle VPN en tirant parti de PowerShell, ce qui force tout le trafic Internet à revenir dans l’emplacement local. Vous ne pouvez pas configurer le site par défaut en utilisant le Portail Azure.
  • Le sous-réseau Frontend se voit attribuer un UDR pour envoyer le trafic Internet directement sur Internet, en contournant la passerelle VPN. Le reste du trafic est acheminé normalement.
  • Les sous-réseaux de niveau intermédiaire et back-end continuent d’avoir un trafic Internet forcé vers le site local via la passerelle VPN, car un site par défaut est spécifié.

Créer un réseau virtuel et des sous-réseaux

Tout d’abord, créez l’environnement de test. Vous pouvez utiliser Azure Cloud Shell ou exécuter PowerShell localement. Pour plus d’informations, consultez Installer et configurer Azure PowerShell.

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 »). Ce comportement est normal ; vous pouvez ignorer ces avertissements.

  1. Créer un groupe de ressources avec New-AzResourceGroup.

    New-AzResourceGroup -Name "TestRG1" -Location "EastUS"
    
  2. Créez le réseau virtuel à l’aide de la commande New-AzVirtualNetwork.

    $vnet = New-AzVirtualNetwork `
    -ResourceGroupName "TestRG1" `
    -Location "EastUS" `
    -Name "VNet1" `
    -AddressPrefix 10.1.0.0/16
    
  3. Créez des sous-réseaux à l’aide de New-AzVirtualNetworkSubnetConfig. Créez des sous-réseaux front-end, intermédiaires et back-end, ainsi qu’un sous-réseau de passerelle (qui doit être nommé GatewaySubnet).

    $subnetConfigFrontend = Add-AzVirtualNetworkSubnetConfig `
      -Name Frontend `
      -AddressPrefix 10.1.0.0/24 `
      -VirtualNetwork $vnet
    
    $subnetConfigMid-tier = Add-AzVirtualNetworkSubnetConfig `
      -Name Mid-tier `
      -AddressPrefix 10.1.1.0/24 `
      -VirtualNetwork $vnet
    
    $subnetConfigBackend = Add-AzVirtualNetworkSubnetConfig `
      -Name Backend `
      -AddressPrefix 10.1.2.0/24 `
      -VirtualNetwork $vnet
    
    $subnetConfigGW = Add-AzVirtualNetworkSubnetConfig `
      -Name GatewaySubnet `
      -AddressPrefix 10.1.200.0/27 `
      -VirtualNetwork $vnet
    
  4. Écrivez les configurations de sous-réseaux dans le réseau virtuel à l’aide de la commande Set-AzVirtualNetwork, ce qui crée les sous-réseaux dans le réseau virtuel :

    $vnet | Set-AzVirtualNetwork
    

Créer des passerelles réseau local

Dans cette section, créez les passerelles de réseau local pour les sites à l’aide de New-AzLocalNetworkGateway. Il y a une légère pause entre chaque commande lorsque chaque passerelle de réseau local est créée. Dans cet exemple, les valeurs -GatewayIpAddress sont des espaces réservés. Pour créer une connexion, vous devez remplacer ultérieurement ces valeurs par les adresses IP publiques des appareils VPN locaux respectifs.

$lng1 = New-AzLocalNetworkGateway -Name "DefaultSiteHQ" -ResourceGroupName "TestRG1" -Location "EastUS" -GatewayIpAddress "111.111.111.111" -AddressPrefix "192.168.1.0/24"
$lng2 = New-AzLocalNetworkGateway -Name "Branch1" -ResourceGroupName "TestRG1" -Location "EastUS" -GatewayIpAddress "111.111.111.112" -AddressPrefix "192.168.2.0/24"
$lng3 = New-AzLocalNetworkGateway -Name "Branch2" -ResourceGroupName "TestRG1" -Location "EastUS" -GatewayIpAddress "111.111.111.113" -AddressPrefix "192.168.3.0/24"
$lng4 = New-AzLocalNetworkGateway -Name "Branch3" -ResourceGroupName "TestRG1" -Location "EastUS" -GatewayIpAddress "111.111.111.114" -AddressPrefix "192.168.4.0/24"

Créer une passerelle VPN

Dans cette section, vous demandez une adresse IP publique et créez une passerelle VPN associée à l’objet d’adresse IP publique. L’adresse IP publique est utilisée lorsque vous connectez un appareil VPN local ou externe à la passerelle VPN pour les connexions entre sites.

  1. Demandez une adresse IP publique pour votre passerelle VPN à l’aide de Get-AzPublicIpAddress.

    $gwpip = New-AzPublicIpAddress -Name "GatewayIP" -ResourceGroupName "TestRG1" -Location "EastUS" -AllocationMethod Static -Sku Standard
    
  2. Créez la configuration de l’adresse IP de la passerelle à l’aide de New-AzVirtualNetworkGatewayIpConfig. Cette configuration est référencée lorsque vous créez la passerelle VPN.

    $vnet = Get-AzVirtualNetwork -Name "VNet1" -ResourceGroupName "TestRG1"
    $gwsubnet = Get-AzVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -VirtualNetwork $vnet
    $gwipconfig = New-AzVirtualNetworkGatewayIpConfig -Name gwipconfig1 -SubnetId $gwsubnet.Id -PublicIpAddressId $gwpip.Id
    
  3. Créez la passerelle de réseau virtuel avec le type de passerelle « VPN » à l’aide de New-AzVirtualNetworkGateway. La création d’une passerelle nécessite généralement au moins 45 minutes, en fonction du SKU de passerelle sélectionné.

    Dans cet exemple, nous utilisons la référence SKU VpnGw2, génération 2. 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. La dernière version contient les nouvelles valeurs validées pour les dernières références SKU de passerelle.

    New-AzVirtualNetworkGateway -Name "VNet1GW" -ResourceGroupName "TestRG1" -Location "EastUS" -IpConfigurations $gwipconfig -GatewayType "Vpn" -VpnType "RouteBased" -GatewaySku VpnGw2 -VpnGatewayGeneration "Generation2"
    

Configurer un tunneling forcé – Site par défaut

Configurez un tunneling forcé en affectant un site par défaut à la passerelle de réseau virtuel. Si vous ne spécifiez pas de site par défaut, le trafic Internet n’est pas forcé via la passerelle VPN et va directement sur Internet pour tous les sous-réseaux (par défaut).

Pour affecter un site par défaut à la passerelle, vous utilisez le paramètre -GatewayDefaultSite. Veillez à l’affecter correctement.

  1. Déclarez tout d’abord les variables qui spécifient les informations de passerelle de réseau virtuel et la passerelle de réseau local pour le site par défaut, dans ce cas, DefaultSiteHQ.

    $LocalGateway = Get-AzLocalNetworkGateway -Name "DefaultSiteHQ" -ResourceGroupName "TestRG1"
    $VirtualGateway = Get-AzVirtualNetworkGateway -Name "VNet1GW" -ResourceGroupName "TestRG1"
    
  2. Définissez ensuite le site par défaut de la passerelle de réseau virtuel en utilisant Set-AzVirtualNetworkGatewayDefaultSite.

    Set-AzVirtualNetworkGatewayDefaultSite -GatewayDefaultSite $LocalGateway -VirtualNetworkGateway $VirtualGateway
    

À ce stade, tout le trafic internet est maintenant configuré pour être tunnelisé de force vers DefaultSiteHQ. Le périphérique VPN local doit être configuré à l’aide de 0.0.0.0/0 comme des sélecteurs de trafic.

  • Si vous souhaitez uniquement configurer le tunneling forcé et ne pas acheminer le trafic Internet directement vers Internet pour des sous-réseaux spécifiques, vous pouvez passer à la section Établir des connexions de cet article pour créer vos connexions.
  • Si vous souhaitez que des sous-réseaux spécifiques envoient du trafic internet directement sur Internet, passez aux sections suivantes pour configurer des UDR personnalisés et attribuer des itinéraires.

Router le trafic lié à Internet pour des sous-réseaux spécifiques

Si vous souhaitez que le trafic lié à Internet soit envoyé directement vers Internet pour des sous-réseaux spécifiques (plutôt que vers votre réseau local), utilisez à titre d’option les étapes suivantes. Ces étapes s’appliquent au tunneling forcé configuré en spécifiant un site par défaut ou configuré via un protocole BGP.

Créer des tables de routage et des itinéraires

Pour spécifier que le trafic internet doit accéder directement à Internet, créez la table de routage et l’itinéraire nécessaires. Vous affecterez ultérieurement la table de routage au sous-réseau front-end.

  1. Créez les tables de routage à l’aide de New-AzRouteTable.

    $routeTable1 = New-AzRouteTable `
    -Name 'RouteTable1' `
    -ResourceGroupName "TestRG1" `
    -location "EastUS"
    
  2. Créez des itinéraires à l’aide des cmdlets suivantes : GetAzRouteTable, Add-AzRouteConfig et Set-AzRouteConfig. Créez l’itinéraire pour le type de tronçon suivant « Internet » dans RouteTable1. Cet itinéraire est affecté ultérieurement au sous-réseau front-end.

    Get-AzRouteTable `
       -ResourceGroupName "TestRG1" `
       -Name "RouteTable1" `
       | Add-AzRouteConfig `
       -Name "ToInternet" `
       -AddressPrefix 0.0.0.0/0 `
       -NextHopType "Internet" `
       | Set-AzRouteTable
    

Affecter des itinéraires

Dans cette section, vous affectez la table de routage et les itinéraires au sous-réseau front-end à l’aide des commandes PowerShell suivantes : GetAzRouteTable, Set-AzRouteConfig et Set-AzVirtualNetwork.

  1. Affectez le sous-réseau front-end à la RouteTable1 avec l’itinéraire « ToInternet » en spécifiant 0.0.0.0/0 avec le tronçon Internet suivant.

    $vnet = Get-AzVirtualNetwork -Name "VNet1" -ResourceGroupName "TestRG1"
    $routeTable1 = Get-AzRouteTable `
       -ResourceGroupName "TestRG1" `
       -Name "RouteTable1" 
    Set-AzVirtualNetworkSubnetConfig `
       -VirtualNetwork $vnet `
       -Name 'Frontend' `
       -AddressPrefix 10.1.0.0/24 `
       -RouteTable $routeTable1 | `
    Set-AzVirtualNetwork
    

Établir des connexions S2S VPN

Utilisez New-AzVirtualNetworkGatewayConnection pour établir des connexions S2S.

  1. Déclarez vos variables.

    $gateway = Get-AzVirtualNetworkGateway -Name "VNet1GW" -ResourceGroupName "TestRG1"
    $lng1 = Get-AzLocalNetworkGateway -Name "DefaultSiteHQ" -ResourceGroupName "TestRG1" 
    $lng2 = Get-AzLocalNetworkGateway -Name "Branch1" -ResourceGroupName "TestRG1" 
    $lng3 = Get-AzLocalNetworkGateway -Name "Branch2" -ResourceGroupName "TestRG1" 
    $lng4 = Get-AzLocalNetworkGateway -Name "Branch3" -ResourceGroupName "TestRG1"
    
  2. Créez les connexions.

    New-AzVirtualNetworkGatewayConnection -Name "Connection1" -ResourceGroupName "TestRG1" -Location "EastUS" -VirtualNetworkGateway1 $gateway -LocalNetworkGateway2 $lng1 -ConnectionType IPsec -SharedKey "preSharedKey"
    New-AzVirtualNetworkGatewayConnection -Name "Connection2" -ResourceGroupName "TestRG1" -Location "EastUS" -VirtualNetworkGateway1 $gateway -LocalNetworkGateway2 $lng2 -ConnectionType IPsec -SharedKey "preSharedKey"
    New-AzVirtualNetworkGatewayConnection -Name "Connection3" -ResourceGroupName "TestRG1" -Location "EastUS" -VirtualNetworkGateway1 $gateway -LocalNetworkGateway2 $lng3 -ConnectionType IPsec -SharedKey "preSharedKey"
    New-AzVirtualNetworkGatewayConnection -Name "Connection4" -ResourceGroupName "TestRG1" -Location "EastUS" -VirtualNetworkGateway1 $gateway -LocalNetworkGateway2 $lng4 -ConnectionType IPsec -SharedKey "preSharedKey"
    
  3. Pour afficher une connexion, utilisez l’exemple suivant. Modifiez les valeurs nécessaires pour spécifier la connexion que vous souhaitez afficher.

    Get-AzVirtualNetworkGatewayConnection -Name "Connection1" -ResourceGroupName "TestRG1"
    

Étapes suivantes

Pour plus d’informations sur les passerelle VPN, consultez la FAQ relative à la passerelle VPN.