Configurer une connexion point à site à un réseau virtuel à l’aide d’une authentification RADIUS : PowerShell

Cet article explique comment créer un réseau virtuel avec une connexion point à site (P2S) utilisant l’authentification RADIUS. Cette configuration n’est disponible que pour le modèle de déploiement Resource Manager. Vous pouvez créer cette configuration à l’aide de PowerShell ou du portail Azure.

Une connexion par passerelle VPN point à site vous permet de créer une connexion sécurisée à votre réseau virtuel à partir d’un ordinateur de client individuel. Les connexions VPN P2S sont utiles lorsque vous souhaitez vous connecter à votre réseau virtuel à distance, par exemple quand vous télétravaillez à domicile ou que vous êtes en conférence. De même, l’utilisation d’un VPN P2S est une solution utile qui constitue une alternative au VPN site à site lorsqu’un nombre restreint de clients doivent se connecter à un réseau virtuel.

Une connexion VPN P2S est démarrée à partir d’appareils Windows et Mac. Cet article vous aide à configurer une configuration P2S qui utilise un serveur RADIUS pour l’authentification. Si vous souhaitez vous authentifier à l’aide d’une autre méthode, consultez les articles suivants :

Les connexions de ce type ne nécessitent pas de périphérique VPN ou d’adresse IP publique. La connexion P2S crée la connexion VPN via SSTP (Secure Socket Tunneling Protocol), OpenVPN ou IKEv2.

  • SSTP est un tunnel VPN basé sur le protocole TLS qui n’est pris en charge que sur les plateformes clientes Windows. Il peut pénétrer des pare-feu, ce qui en fait une bonne option pour connecter des appareils Windows à Azure à partir de tout emplacement. Côté serveur, nous prenons en charge uniquement la version TLS 1.2. Pour améliorer les performances, l’extensibilité et la sécurité, envisagez d’utiliser le protocole OpenVPN à la place.

  • Protocole OpenVPN®, un protocole VPN basé sur SSL/TLS. Une solution VPN TLS peut pénétrer des pare-feu, puisque la plupart des pare-feu ouvrent le port de sortie TCP 443 utilisé par le protocole TLS. Vous pouvez utiliser OpenVPN pour vous connecter à partir d’appareils Android, iOS (11.0 et versions ultérieures), Windows, Linux et Mac (macOS 10.13 et versions ultérieures).

  • Un VPN IKEv2 est une solution VPN IPsec basée sur des normes. Vous pouvez utiliser un VPN IKEv2 pour vous connecter à partir d’appareils Windows, Linux et Mac (macOS 10.11 et versions ultérieures).

Pour cette configuration, les connexions nécessitent les éléments suivants :

  • Une passerelle VPN RouteBased.
  • Un serveur RADIUS pour gérer l’authentification des utilisateurs. Le serveur RADIUS peut être déployé en local ou dans votre réseau virtuel Azure. Vous pouvez également configurer deux serveurs RADIUS pour une haute disponibilité.
  • Le package de configuration du profil du client VPN. Le package de configuration du profil client VPN est un package que vous générez. Il fournit les paramètres requis pour connecter un client VPN via P2S.

À propos de l’authentification de domaine Active Directory (AD) pour les VPN P2S

L’authentification de domaine AD permet aux utilisateurs de se connecter à Azure à l’aide des informations d’identification du domaine de l’organisation. Un serveur RADIUS qui s’intègre avec le serveur AD est requis. Les organisations peuvent aussi exploiter un déploiement RADIUS existant.

Le serveur RADIUS peut être situé en local ou dans votre réseau virtuel Azure. Lors de l’authentification, la passerelle VPN permet le transfert direct et transfère les messages d’authentification entre le serveur RADIUS et l’appareil de connexion. Il est important que la passerelle VPN puisse accéder au serveur RADIUS. Si le serveur RADIUS est situé en local, une connexion VPN site à site au site local à partir d’Azure est requise.

Un serveur RADIUS permet également l’intégration avec d’autres systèmes d’identité externe, à l’exception d’Active Directory. Cette opération ouvre de nombreuses options d’authentification pour les VPN P2S, notamment les options de MFA. Vérifiez la documentation de votre fournisseur de serveur RADIUS pour obtenir la liste des systèmes d’identité qui y sont intégrés.

Diagram of RADIUS authentication P2S connection.

Important

Seule une connexion VPN site à site peut être utilisée pour se connecter à un serveur RADIUS local. Une connexion ExpressRoute ne peut pas être utilisée.

Avant tout chose

Assurez-vous de disposer d’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.

Utilisation d’Azure PowerShell

Cet article utilise des cmdlets PowerShell. Pour exécuter les cmdlets, vous pouvez utiliser Azure Cloud Shell. Cloud Shell est un interpréteur de commandes interactif et gratuit, que vous pouvez utiliser pour suivre les étapes mentionnées dans cet article. Il contient des outils Azure courants préinstallés et configurés pour être utilisés avec votre compte.

Pour ouvrir Cloud Shell, il vous suffit de sélectionner Ouvrir Cloud Shell dans le coin supérieur droit d’un bloc de code. Vous pouvez également ouvrir Cloud Shell dans un onglet distinct du navigateur en accédant à https://shell.azure.com/powershell. Sélectionnez Copier pour copier les blocs de code, collez ceux-ci dans Cloud Shell, puis sélectionnez Entrée pour les exécuter.

Vous pouvez également installer et exécuter des cmdlets Azure PowerShell en local sur votre ordinateur. Les cmdlets PowerShell sont fréquemment mises à jour. Si vous n'avez pas installé la dernière version, les valeurs spécifiées dans les instructions peuvent échouer. Pour rechercher les versions d’Azure PowerShell installées sur votre ordinateur, utilisez la cmdlet Get-Module -ListAvailable Az. Pour installer ou mettre à jour les cmdlets, consultez Installer le module Azure PowerShell.

Exemples de valeurs

Vous pouvez utiliser ces exemples de valeurs pour créer un environnement de test ou vous y référer pour mieux comprendre les exemples de cet article. Vous pouvez suivre les étapes proposées en utilisant les valeurs sans les modifier ou modifier les valeurs pour les adapter à votre environnement.

  • Nom : VNet1
  • Espace d’adressage :10.1.0.0/16 et 10.254.0.0/16
    Pour cet exemple, nous utilisons différents espaces d’adressage afin de démontrer que cette configuration fonctionne avec plusieurs espaces d’adressage. Toutefois, plusieurs espaces d’adressage ne sont pas nécessaires pour cette configuration.
  • Nom du sous-réseau : FrontEnd
    • Plage d’adresses de sous-réseau : 10.1.0.0/24
  • Nom du sous-réseau : BackEnd
    • Plage d’adresses de sous-réseau : 10.254.1.0/24
  • Nom du sous-réseau : GatewaySubnet
    Le nom du sous-réseau GatewaySubnet est obligatoire pour que la passerelle VPN fonctionne.
    • Plage d’adresses du GatewaySubnet : 10.1.255.0/27
  • Pool d’adresses des clients VPN : 172.16.201.0/24
    Les clients VPN qui se connectent au réseau virtuel à l’aide de cette connexion P2S reçoivent une adresse IP de ce pool d’adresses des clients VPN.
  • Abonnement : vérifiez que vous utilisez l’abonnement approprié si vous en possédez plusieurs.
  • Groupe de ressources : TestRG1
  • Emplacement : USA Est
  • Serveur DNS : l’adresse IP du serveur DNS que vous souhaitez utiliser pour la résolution de noms pour votre réseau virtuel. (facultatif)
  • Nom de passerelle : Vnet1GW
  • Nom d’adresse IP publique : VNet1GWPIP
  • Type de VPN : RouteBased

1. Définir les variables

Déclarez les variables que vous souhaitez utiliser. Utilisez l’exemple ci-dessous en utilisant vos propres valeurs si nécessaire. Si vous fermez votre session PowerShell/Cloud Shell au cours de l’exercice, copiez et collez à nouveau les valeurs pour redéclarer les variables.

$VNetName  = "VNet1"
$FESubName = "FrontEnd"
$BESubName = "Backend"
$GWSubName = "GatewaySubnet"
$VNetPrefix1 = "10.1.0.0/16"
$VNetPrefix2 = "10.254.0.0/16"
$FESubPrefix = "10.1.0.0/24"
$BESubPrefix = "10.254.1.0/24"
$GWSubPrefix = "10.1.255.0/27"
$VPNClientAddressPool = "172.16.201.0/24"
$RG = "TestRG1"
$Location = "East US"
$GWName = "VNet1GW"
$GWIPName = "VNet1GWPIP"
$GWIPconfName = "gwipconf1"

2. Créer le groupe de ressources, le réseau virtuel et l’adresse IP publique

La procédure suivante crée un groupe de ressources et un réseau virtuel comprenant trois sous-réseaux dans le groupe de ressources. Lorsque vous remplacez les valeurs, pensez à toujours nommer votre sous-réseau de passerelle « GatewaySubnet ». Si vous le nommez autrement, la création de votre passerelle échoue.

  1. Créez un groupe de ressources.

    New-AzResourceGroup -Name "TestRG1" -Location "East US"
    
  2. Créez les configurations de sous-réseau du réseau virtuel en les nommant FrontEnd, BackEnd et GatewaySubnet. Ces préfixes doivent faire partie de l’espace d’adressage du réseau virtuel que vous avez déclaré.

    $fesub = New-AzVirtualNetworkSubnetConfig -Name "FrontEnd" -AddressPrefix "10.1.0.0/24"  
    $besub = New-AzVirtualNetworkSubnetConfig -Name "Backend" -AddressPrefix "10.254.1.0/24"  
    $gwsub = New-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -AddressPrefix "10.1.255.0/27"
    
  3. Création du réseau virtuel.

    Dans cet exemple, le paramètre du serveur -DnsServer est facultatif. La définition d’une valeur n’entraîne pas la création d’un serveur DNS. Le serveur DNS dont vous spécifiez l’adresse IP doit pouvoir résoudre les noms des ressources auxquelles vous vous connectez depuis votre réseau virtuel. Pour cet exemple, nous avons utilisé une adresse IP privée, mais il ne s’agit probablement pas de l’adresse IP de votre serveur DNS. Veillez à utiliser vos propres valeurs. La valeur que vous spécifiez est utilisée par les ressources que vous déployez sur le réseau virtuel et non par la connexion P2S.

    New-AzVirtualNetwork -Name "VNet1" -ResourceGroupName "TestRG1" -Location "East US" -AddressPrefix "10.1.0.0/16","10.254.0.0/16" -Subnet $fesub, $besub, $gwsub -DnsServer 10.2.1.3
    
  4. Une passerelle VPN doit avoir une adresse IP publique. Vous commencez par demander la ressource d’adresse IP, puis vous y faites référence lors de la création de votre passerelle de réseau virtuel. L’adresse IP est affectée dynamiquement à la ressource lors de la création de la passerelle VPN. Actuellement, la passerelle VPN prend uniquement en charge l’allocation d’adresses IP publiques dynamiques. Vous ne pouvez pas demander d’affectation d’adresse IP publique statique. Toutefois, cela ne signifie pas que l’adresse IP change après son affectation à votre passerelle VPN. L’adresse IP publique change uniquement lorsque la passerelle est supprimée, puis recréée. Elle n’est pas modifiée lors du redimensionnement, de la réinitialisation ou des autres opérations de maintenance/mise à niveau internes de votre passerelle VPN.

    Spécifiez les variables pour demander une adresse IP publique assignée dynamiquement.

    $vnet = Get-AzVirtualNetwork -Name "VNet1" -ResourceGroupName "TestRG1"  
    $subnet = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet 
    $pip = New-AzPublicIpAddress -Name "VNet1GWPIP" -ResourceGroupName "TestRG1" -Location "East US" -AllocationMethod Dynamic 
    $ipconf = New-AzVirtualNetworkGatewayIpConfig -Name "gwipconf1" -Subnet $subnet -PublicIpAddress $pip
    

3. Configurer votre serveur RADIUS

Avant de créer et de configurer la passerelle du réseau virtuel, votre serveur RADIUS doit être configuré correctement pour être authentifié.

  1. Si vous n’avez pas de serveur RADIUS déployé, vous devez en déployer un. Pour les étapes du déploiement, consultez le guide d’installation fourni par votre fournisseur RADIUS.  
  2. Configurer la passerelle VPN en tant que client RADIUS sur le RADIUS. Lorsque vous ajoutez un client RADIUS, spécifiez le réseau virtuel GatewaySubnet que vous avez créé.
  3. Une fois que le serveur RADIUS est configuré, obtenez l’adresse IP du serveur RADIUS et le secret partagé que les clients RADIUS doivent utiliser pour communiquer avec le serveur RADIUS. Si le serveur RADIUS se trouve dans le réseau virtuel Azure, utilisez l’adresse IP de l’autorité de certification de la machine virtuelle du serveur RADIUS.

L’article relatif au serveur NPS (Network Policy Server) fournit des instructions sur la configuration d’un serveur RADIUS Windows (NPS) pour l’authentification de domaine AD.

4. Créer la passerelle VPN

Configurez et créez la passerelle VPN pour votre réseau virtuel.

  • Le paramètre -GatewayType doit être défini sur la valeur Vpn, tandis que le paramètre -VpnType doit être défini sur la valeur RouteBased.
  • La mise en place d’une passerelle VPN peut prendre 45 minutes ou plus, selon la référence SKU de la passerelle que vous sélectionnez.
New-AzVirtualNetworkGateway -Name $GWName -ResourceGroupName $RG `
-Location $Location -IpConfigurations $ipconf -GatewayType Vpn `
-VpnType RouteBased -EnableBgp $false -GatewaySku VpnGw1

5. Ajouter le serveur RADIUS et le pool d’adresses client

  • Le paramètre -RadiusServer peut être spécifié par nom ou par adresse IP. Si vous spécifiez le nom, et si le serveur est situé en local, la passerelle VPN peut ne pas être en mesure de résoudre le nom. Si tel est le cas, il est préférable de spécifier l’adresse IP du serveur.
  • Le paramètre -RadiusSecret doit correspondre à ce qui est configuré sur votre serveur RADIUS.
  • Le paramètre -VpnClientAddressPool est la plage à partir de laquelle les clients VPN reçoivent une adresse IP. Utilisez une plage d’adresses IP privées qui ne chevauche, ni l’emplacement local à partir duquel vous vous connecterez, ni le réseau virtuel auquel vous souhaitez vous connecter. Assurez-vous que vous disposez d’un pool d’adresses configuré suffisamment large.  
  1. Créez une chaîne sécurisée pour le secret RADIUS.

    $Secure_Secret=Read-Host -AsSecureString -Prompt "RadiusSecret"
    
  2. Vous êtes invité à entrer le secret RADIUS. Les caractères que vous entrez n’apparaissent pas et sont remplacés par le caractère « * ».

    RadiusSecret:***
    
  3. Ajoutez le pool d’adresses client VPN et les informations du serveur RADIUS.

    Pour configurer SSTP :

    $Gateway = Get-AzVirtualNetworkGateway -ResourceGroupName $RG -Name $GWName
    Set-AzVirtualNetworkGateway -VirtualNetworkGateway $Gateway `
    -VpnClientAddressPool "172.16.201.0/24" -VpnClientProtocol "SSTP" `
    -RadiusServerAddress "10.51.0.15" -RadiusServerSecret $Secure_Secret
    

    Pour les configurations OpenVPN® :

    $Gateway = Get-AzVirtualNetworkGateway -ResourceGroupName $RG -Name $GWName
    Set-AzVirtualNetworkGateway -VirtualNetworkGateway $Gateway -VpnClientRootCertificates @()
    Set-AzVirtualNetworkGateway -VirtualNetworkGateway $Gateway `
    -VpnClientAddressPool "172.16.201.0/24" -VpnClientProtocol "OpenVPN" `
    -RadiusServerAddress "10.51.0.15" -RadiusServerSecret $Secure_Secret
    

    Pour configurer IKEv2 :

    $Gateway = Get-AzVirtualNetworkGateway -ResourceGroupName $RG -Name $GWName
    Set-AzVirtualNetworkGateway -VirtualNetworkGateway $Gateway `
    -VpnClientAddressPool "172.16.201.0/24" -VpnClientProtocol "IKEv2" `
    -RadiusServerAddress "10.51.0.15" -RadiusServerSecret $Secure_Secret
    

    Pour SSTP + IKEv2 :

    $Gateway = Get-AzVirtualNetworkGateway -ResourceGroupName $RG -Name $GWName
    Set-AzVirtualNetworkGateway -VirtualNetworkGateway $Gateway `
    -VpnClientAddressPool "172.16.201.0/24" -VpnClientProtocol @( "SSTP", "IkeV2" ) `
    -RadiusServerAddress "10.51.0.15" -RadiusServerSecret $Secure_Secret
    

    Pour spécifier deux serveurs RADIUS, utilisez la syntaxe suivante. Modifiez la valeur de -VpnClientProtocol en fonction des besoins.

    $radiusServer1 = New-AzRadiusServer -RadiusServerAddress 10.1.0.15 -RadiusServerSecret $radiuspd -RadiusServerScore 30
    $radiusServer2 = New-AzRadiusServer -RadiusServerAddress 10.1.0.16 -RadiusServerSecret $radiuspd -RadiusServerScore 1
    
    $radiusServers = @( $radiusServer1, $radiusServer2 )
    
    Set-AzVirtualNetworkGateway -VirtualNetworkGateway $actual -VpnClientAddressPool 201.169.0.0/16 -VpnClientProtocol "IkeV2" -RadiusServerList $radiusServers
    

6. Configurer le client VPN et se connecter

Les packages de configuration de profil client VPN contiennent les paramètres qui vous aident à configurer des profils clients VPN pour une connexion au réseau virtuel Azure.

Pour générer un package de configuration du client VPN et configurer un client VPN, consultez l’un des articles suivants :

Après avoir configuré le client VPN, connectez-vous à Azure.

Pour vérifier votre connexion

  1. Pour vérifier que votre connexion VPN est active, ouvrez une invite de commandes avec élévation de privilèges, puis exécutez ipconfig/all.

  2. Affichez les résultats. Notez que l’adresse IP que vous avez reçue est l’une des adresses du pool d’adresses de client VPN P2S que vous avez spécifiées dans votre configuration. Les résultats ressemblent à l’exemple qui suit :

    PPP adapter VNet1:
       Connection-specific DNS Suffix .:
       Description.....................: VNet1
       Physical Address................:
       DHCP Enabled....................: No
       Autoconfiguration Enabled.......: Yes
       IPv4 Address....................: 172.16.201.3(Preferred)
       Subnet Mask.....................: 255.255.255.255
       Default Gateway.................:
       NetBIOS over Tcpip..............: Enabled
    

Pour résoudre les problèmes liés aux connexions point à site, consultez Résolution des problèmes de connexion de point à site Azure.

Pour vous connecter à un ordinateur virtuel

Vous pouvez vous connecter à une machine virtuelle déployée sur votre réseau virtuel en créant une connexion Bureau à distance à votre machine virtuelle. La meilleure méthode pour vérifier initialement que vous pouvez vous connecter à votre machine virtuelle consiste à vous connecter à l’aide de son adresse IP privée, plutôt qu’avec le nom d’ordinateur. Vous testez ainsi si vous pouvez vous connecter, que la résolution de nom soit configurée correctement ou non.

  1. Recherchez l’adresse IP privée. Vous pouvez déterminer l’adresse IP privée d’une machine virtuelle en examinant ses propriétés dans le Portail Azure ou à l’aide de PowerShell.

    • Portail Azure : recherchez votre machine virtuelle dans le Portail Azure. Affichez les propriétés de la machine virtuelle. L’adresse IP privée est répertoriée.

    • PowerShell : utilisez l’exemple pour afficher la liste des machines virtuelles et adresses IP privées de vos groupes de ressources. Vous n’avez pas besoin de modifier cet exemple pour pouvoir l’utiliser.

      $VMs = Get-AzVM
      $Nics = Get-AzNetworkInterface | Where-Object VirtualMachine -ne $null
      
      foreach ($Nic in $Nics) {
      $VM = $VMs | Where-Object -Property Id -eq $Nic.VirtualMachine.Id
      $Prv = $Nic.IpConfigurations | Select-Object -ExpandProperty PrivateIpAddress
      $Alloc = $Nic.IpConfigurations | Select-Object -ExpandProperty PrivateIpAllocationMethod
      Write-Output "$($VM.Name): $Prv,$Alloc"
      }
      
  2. Vérifiez que vous êtes connecté à votre réseau virtuel.

  3. Ouvrez Connexion Bureau à distance en entrant RDP ou Connexion Bureau à distance dans la zone de recherche de la barre des tâches. Ensuite, sélectionnez Connexion Bureau à distance. Vous pouvez également ouvrir Connexion Bureau à distance en exécutant la commande mstsc dans PowerShell.

  4. Dans Connexion Bureau à distance, entrez l’adresse IP privée de la machine virtuelle. Vous pouvez sélectionner Afficher les options pour définir des paramètres supplémentaires, puis vous connecter.

Si vous rencontrez des problèmes de connexion à une machine virtuelle sur votre connexion VPN, vérifiez les points suivants :

  • Vérifiez que votre connexion VPN aboutit.
  • Vérifiez que vous vous connectez à l’adresse IP privée de la machine virtuelle.
  • Si vous pouvez vous connecter à la machine virtuelle à l’aide de l’adresse IP privée, mais pas à l’aide du nom d’ordinateur, vérifiez que vous avez correctement configuré le système DNS. Pour plus d’informations sur le fonctionnement de la résolution de noms pour les machines virtuelles, consultez Résolution de noms pour les machines virtuelles.

Pour plus d’informations sur les connexions RDP, consultez Résoudre des problèmes de connexion Bureau à distance à une machine virtuelle.

  • Vérifiez que le package de configuration du client VPN a été généré après que les adresses IP du serveur DNS ont été spécifiées pour le réseau virtuel. Si vous avez mis à jour les adresses IP du serveur DNS, générez et installez un package de configuration du client VPN.

  • Utilisez « ipconfig » pour vérifier l’adresse IPv4 attribuée à l’adaptateur Ethernet sur l’ordinateur à partir duquel vous vous connectez. Si l’adresse IP est comprise dans la plage d’adresses du réseau virtuel auquel vous vous connectez, ou dans la plage d’adresses de votre VPNClientAddressPool, cette situation est désignée sous le terme d’espaces d’adressage qui se chevauchent. Lorsque vos espaces d’adressage se chevauchent de cette façon, le trafic réseau n’atteint pas Azure et reste sur le réseau local.

Forum aux questions

Pour plus d’informations sur le FAQ, consultez la section Point à site - Authentification RADIUS du FAQ.

Étapes suivantes

Une fois la connexion achevée, vous pouvez ajouter des machines virtuelles à vos réseaux virtuels. Pour plus d’informations, consultez Machines virtuelles. Pour plus d’informations sur la mise en réseau et les machines virtuelles, consultez Vue d’ensemble du réseau de machines virtuelles Azure et Linux.