Partager via


Diagnostiquer un problème de routage sur une machine virtuelle

Dans cet article, vous allez apprendre à diagnostiquer les problèmes de routage en affichant les itinéraires effectifs d’une interface réseau sur une machine virtuelle. Azure crée automatiquement des itinéraires par défaut pour chaque sous-réseau de réseau virtuel. Vous pouvez remplacer ces itinéraires par défaut en définissant des itinéraires personnalisés dans une table de routage et en associant la table à un sous-réseau. Les itinéraires effectifs d’une interface réseau sont une combinaison des itinéraires par défaut d’Azure, des itinéraires personnalisés que vous définissez et de tous les itinéraires propagés à partir de votre réseau local via une passerelle VPN Azure à l’aide du protocole BGP (Border Gateway Protocol). Si vous débutez avec les réseaux virtuels, les interfaces réseau ou le routage, consultez la vue d’ensemble du réseau virtuel, l’interface réseau et la vue d’ensemble du routage.

Scénario

Vous essayez de vous connecter à une machine virtuelle, mais la connexion échoue. Afin de déterminer la raison pour laquelle vous ne pouvez pas vous connecter à la machine virtuelle, consultez les itinéraires effectifs d’une interface réseau au moyen du portail Azure, de PowerShell, ou d’Azure CLI.

Les étapes qui suivent supposent que vous disposez d’une machine virtuelle existante qui permet d’afficher les itinéraires effectifs. Si vous ne possédez pas une telle machine, commencez par déployer une machine virtuelle Linux ou Windows pour pouvoir accomplir les tâches de cet article. Les exemples de cet article concernent une machine virtuelle nommée vm-1 avec une interface réseau nommée vm-1445. La machine virtuelle et l’interface réseau se trouvent dans un groupe de ressources nommé test-rg et se trouvent dans la région USA Est . Modifiez les valeurs dans les étapes, le cas échéant, pour la machine virtuelle pour laquelle vous diagnostiquez le problème.

Diagnostiquer à l’aide du portail Azure

  1. Connectez-vous au portail Azure avec un compte Azure disposant des autorisations nécessaires.

  2. En haut du portail Azure, dans la zone de recherche, indiquez le nom d’une machine virtuelle en cours d’exécution. Quand le nom de cette machine virtuelle apparaît dans les résultats de la recherche, sélectionnez-le.

  3. Développez la section Mise en réseau et sélectionnez Paramètres réseau.

  4. Pour sélectionner l’interface, sélectionnez son nom.

    Capture d’écran de l’interface réseau dans les paramètres de machine virtuelle.

  5. Dans l’interface réseau, développez l’aide. Sélectionnez Itinéraires effectifs.

    Capture d’écran des itinéraires effectifs de l’interface réseau.

    Sélectionnez l’interface réseau souhaitée pour afficher ses itinéraires effectifs. Chaque interface peut appartenir à un sous-réseau différent, ce qui entraîne des itinéraires uniques. L’exemple de l’image montre les itinéraires par défaut créés par Azure pour chaque sous-réseau. Votre liste inclut les itinéraires par défaut et peut également inclure des itinéraires supplémentaires. Les itinéraires peuvent provenir de fonctionnalités telles que le peering de réseaux virtuels ou les connexions à des réseaux locaux via une passerelle VPN Azure. Pour plus d’informations sur les itinéraires, consultez routage du trafic de réseau virtuel. S’il existe de nombreux itinéraires, utilisez l’option Télécharger pour les enregistrer en tant que fichier .csv pour faciliter la révision.

Même si dans les étapes précédentes, les itinéraires effectifs ont été affichés à l’aide de la machine virtuelle, vous pouvez également les voir avec une :

Diagnostiquer à l’aide de PowerShell

Remarque

Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour bien démarrer, consultez Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.

Vous pouvez exécuter les commandes qui suivent dans Azure Cloud Shell, ou en exécutant PowerShell à partir de votre ordinateur. Azure Cloud Shell est un interpréteur de commandes interactif gratuit. Il contient des outils Azure courants préinstallés et configurés pour être utilisés avec votre compte. Si vous exécutez PowerShell sur votre ordinateur, vous devez utiliser le module Azure PowerShell version 1.0.0 ou ultérieure. Exécutez Get-Module -ListAvailable Az sur votre ordinateur pour trouver la version installée. Si vous devez effectuer une mise à niveau, consultez Installer le module Azure PowerShell. Si vous exécutez PowerShell localement, vous devez également vous Connect-AzAccount connecter à Azure avec un compte disposant des autorisations nécessaires.

Obtenez les itinéraires effectifs d’une interface réseau avec Get-AzEffectiveRouteTable. L’exemple suivant obtient les itinéraires effectifs d’une interface réseau nommée vm-1445 dans un groupe de ressources nommé test-rg :

$Params = @{
  NetworkInterfaceName = "vm-1445"
  ResourceGroupName    = "test-rg"
}
Get-AzEffectiveRouteTable @Params | Format-Table

Pour comprendre les informations retournées dans le résultat, consultez Vue d’ensemble du routage. Le résultat n’est retourné que si la machine virtuelle est en cours d’exécution. S’il existe plusieurs interfaces réseau attachées à la machine virtuelle, vous pouvez examiner les itinéraires effectifs de chaque interface réseau. Chaque interface réseau pouvant se trouver dans un sous-réseau différent, ces interfaces peuvent chacune disposer de plusieurs itinéraires effectifs. Si vous rencontrez toujours un problème de communication, consultez d’autres diagnostics et considérations.

Si vous connaissez le nom de la machine virtuelle, mais pas le nom de l’interface réseau, utilisez les commandes suivantes pour renvoyer l’ID de toutes les interfaces réseau attachées à la machine virtuelle :

$Params = @{
  Name              = "vm-1"
  ResourceGroupName = "test-rg"
}
$VM = Get-AzVM @Params
$VM.NetworkProfile

Le résultat ressemble à ce qui suit :

NetworkInterfaces
-----------------
{/subscriptions/<ID>/resourceGroups/test-rg/providers/Microsoft.Network/networkInterfaces/vm-1445

Dans la sortie précédente, le nom de l’interface réseau est vm-1445.

Diagnostiquer à l’aide d’Azure CLI

Vous pouvez exécuter les commandes qui suivent dans Azure Cloud Shell ou en exécutant l’interface CLI à partir de votre ordinateur. Azure CLI version 2.0.32 ou ultérieure est nécessaire pour cet article. Exécutez az --version pour rechercher la version installée. Si vous devez installer ou mettre à niveau, voir Installer Azure CLI. Si vous exécutez Azure CLI localement, vous devez aussi exécuter az login et vous connecter à Azure avec un compte disposant des autorisations nécessaires.

Obtenez les itinéraires effectifs d’une interface réseau avec az network nic show-effective-route-table. La commande suivante obtient les itinéraires effectifs d’une interface réseau nommée vm-1445 qui se trouve dans un groupe de ressources nommé test-rg :

az network nic show-effective-route-table \
  --name vm-1445 \
  --resource-group test-rg

Pour comprendre les informations retournées dans le résultat, consultez Vue d’ensemble du routage. Le résultat n’est retourné que si la machine virtuelle est en cours d’exécution. S’il existe plusieurs interfaces réseau attachées à la machine virtuelle, vous pouvez examiner les itinéraires effectifs de chaque interface réseau. Chaque interface réseau pouvant se trouver dans un sous-réseau différent, ces interfaces peuvent chacune disposer de plusieurs itinéraires effectifs. Si vous rencontrez toujours un problème de communication, consultez d’autres diagnostics et considérations.

Si vous connaissez le nom de la machine virtuelle, mais pas le nom de l’interface réseau, utilisez les commandes suivantes pour renvoyer l’ID de toutes les interfaces réseau attachées à la machine virtuelle :

az vm show \
  --name vm-1 \
  --resource-group test-rg

Résoudre un problème

La résolution des problèmes de routage se compose généralement des procédures suivantes :

  • Ajout d’un itinéraire personnalisé pour remplacer l’un des itinéraires par défaut d’Azure. Découvrez comment ajouter un itinéraire personnalisé.

  • Modification ou suppression d’un itinéraire personnalisé susceptible d’entraîner un routage vers un emplacement non souhaité. Découvrez comment modifier ou supprimer un itinéraire personnalisé.

  • Vérifiez que la table de routage qui contient les itinéraires personnalisés définis est associée au sous-réseau dans lequel se trouve l’interface réseau. Découvrez comment associer une table de routage à un sous-réseau.

  • Vérifiez que les appareils tels que la passerelle VPN Azure ou les appliances virtuelles réseau déployées sont opérables. Utilisez la fonctionnalité Diagnostics VPN de Network Watcher pour déterminer les problèmes rencontrés avec une passerelle VPN Azure.

Si vous rencontrez toujours des problèmes de communication, consultez Considérations et diagnostics supplémentaires.

Considérations

Lors de la résolution de problèmes de communication, considérez les points suivants :

  • Le routage utilise la technique de la "plus longue correspondance de préfixe" (LPM) pour déterminer le meilleur itinéraire parmi les itinéraires système, ceux du BGP et les itinéraires personnalisés. Si plusieurs itinéraires partagent la même correspondance LPM, Azure en sélectionne un en fonction de l’ordre de priorité dans la vue d’ensemble du routage. Les itinéraires effectifs affichent uniquement les itinéraires mis en correspondance LPM, ce qui facilite l’identification et la résolution des problèmes d’itinéraires affectant la communication des machines virtuelles.

  • Si des itinéraires personnalisés redirigent le trafic vers une appliance virtuelle réseau (NVA) avec l’appliance virtuelle comme type de tronçon suivant, vérifiez que le transfert IP de l’appliance virtuelle réseau est activé ; sinon, les paquets sont supprimés. Découvrez comment activer le transfert IP pour une interface réseau et configurer le système d’exploitation ou l’application de l’appliance virtuelle réseau pour transférer le trafic.

  • Si un itinéraire vers 0.0.0.0/0 est créé, tout le trafic Internet sortant est acheminé vers le prochain saut que vous avez spécifié, par exemple vers une appliance réseau virtuelle ou une passerelle VPN. La création d’un itinéraire de ce type est généralement appelé « tunneling forcé ». Les connexions à distance utilisant les protocoles RDP ou SSH d’Internet vers votre machine virtuelle peuvent ne pas fonctionner avec cet itinéraire, selon la façon dont le tronçon suivant gère le trafic. Le tunneling forcé peut être activé :

    • Lors de l’utilisation du VPN de site à site, en créant un itinéraire avec comme type de tronçon suivant une passerelle VPN. En savoir plus sur la configuration du tunneling forcé.
    • Si un 0.0.0.0/0 (itinéraire par défaut) est publié sur BGP via une passerelle de réseau virtuel lors de l’utilisation d’un VPN de site à site, ou du circuit ExpressRoute. En savoir plus sur l’utilisation de BGP avec un VPN de site à site ou ExpressRoute.
  • Pour que le trafic d’homologation de réseau virtuel fonctionne correctement, un itinéraire système, avec comme type de tronçon suivant VNet Peering, doit exister pour la plage de préfixes du réseau virtuel homologué. S’il n’existe aucune route de ce type, et si le lien de peering de réseau virtuel est Connecté :

  • Même si Azure affecte des itinéraires par défaut à chaque interface réseau Azure, si vous disposez de plusieurs interfaces réseau attachées à la machine virtuelle, seule l’interface réseau principale se voit attribuer un itinéraire par défaut (0.0.0.0/0), ou une passerelle, au sein du système d’exploitation de la machine virtuelle. Découvrez comment créer un itinéraire par défaut pour les interfaces réseau secondaires attachées à une machine virtuelle Windows ou Linux. Apprenez-en davantage sur les interfaces réseau principale et secondaire.

Diagnostics supplémentaires

  • Pour exécuter un test rapide en vue de déterminer le type de tronçon suivant pour le trafic destiné à un emplacement, utilisez la fonctionnalité Tronçon suivant d’Azure Network Watcher. Next hop vous indique quel est le type de prochain saut pour le trafic destiné à un emplacement spécifié.

  • S’il n’existe aucun itinéraire entraînant l’échec d’une communication réseau de machine virtuelle, le problème peut être dû au logiciel de pare-feu s’exécutant dans le système d’exploitation de la machine virtuelle.

  • Si vous établissez un trafic de tunneling forcé vers un appareil local par l’intermédiaire d’une passerelle VPN, ou d’une appliance virtuelle de réseau, il est possible que vous ne puissiez pas vous connecter à une machine virtuelle depuis internet, selon la façon dont le routage est configuré pour ces dispositifs. Vérifiez que le routage configuré pour l’appareil achemine le trafic vers une adresse IP publique ou privée pour la machine virtuelle.

  • Utilisez la fonctionnalité Résolution des problèmes de connexion de Network Watcher pour déterminer les causes de routage, de filtrage ou les causes internes au système d’exploitation pouvant être à l’origine des problèmes de communication sortante.

Étapes suivantes