Identifier et résoudre les problèmes liés au protocole ICMP

Ce tutoriel montre comment utiliser Connectivity Tests de manière itérative pour identifier et résoudre un problème de connectivité réseau.

Il peut arriver que les règles de pare-feu du cloud privé virtuel (VPC) empêchent l'adresse IP externe d'une instance de machine virtuelle (VM) d'utiliser le protocole ICMP pour pinguer l'adresse IP externe d'une autre VM.

Étant donné que les problèmes de communication de VM à VM sont souvent des problèmes de connectivité réseau, les tests de connectivité peuvent vous fournir des informations sur les éventuels problèmes de configuration afin que vous puissiez les résoudre. Vous pouvez ensuite réexécuter Connectivity Tests pour vérifier votre correctif.

Aperçu

Dans cette situation, vous avez configuré deux instances de VM dans le même sous-réseau de votre réseau VPC. Les deux VM ont des adresses IP externes. Lorsque vous testez la connectivité entre elles en envoyant un paquet ping de vm1 à l'adresse IP externe de vm2, le ping ne fonctionne pas.

Résoudre un problème de ping refusé entre deux VM
Résoudre un problème de ping refusé entre deux VM

Avant de commencer

Avant de commencer le tutoriel, suivez toutes les étapes de la section Before you begin de la page Créer et exécuter des tests de connectivité.

Il peut également être utile de relire le fonctionnement des règles de pare-feu VPC.

Configurer les ressources réseau

Dans cette section, vous allez configurer les ressources Google Cloud dans le chemin de test.

Configurer un réseau VPC

Vous pouvez utiliser un réseau et un sous-réseau existants qui contiennent les VM, ou vous pouvez créer un réseau et un sous-réseau.

Configurer deux instances de VM

  1. Les instances de VM de ce tutoriel se trouvent dans le même réseau et sous-réseau VPC. Vous pouvez utiliser des VM existantes ou en créer de nouvelles.
  2. Attribuez une adresse IP externe à vm1 et vm2 lors de leur création. Notez les adresses parce que vous en aurez besoin ultérieurement.

Créer une règle de pare-feu default-deny-outgoing-ping

Une fois les VM créées, créez une règle de sortie dans le pare-feu VPC appelée default-deny-outgoing-ping. Cette règle refuse le protocole ICMP de vm1 vers vm2. Assurez-vous que le pare-feu de ce réseau ne définit pas d'autre règle plus prioritaire qui viendrait remplacer celle-ci. De plus, assurez-vous qu'aucune règle de stratégie de pare-feu hiérarchique ne remplace cette règle. Pour plus d'informations, consultez la section Présentation des stratégies de pare-feu hiérarchiques.

Utilisez les valeurs du tableau suivant pour configurer cette règle de pare-feu VPC.

Champ de la règle de pare-feu VPC Valeur
Nom default-deny-outgoing-ping
Réseau Utilisez le réseau VPC où se trouvent les VM.
Priorité 1000
Direction of traffic (Sens du trafic) Sortie
Action on match (Action en cas de correspondance) Refuser
Targets (Cibles) Sélectionnez Toutes les instances du réseau.
Plages d'adresses IP de destination Utilisez l'adresse IP externe de vm2.
Specified protocols and ports (Protocoles et ports spécifiés) Cochez la case Autres protocoles, puis saisissez icmp.

Créer une règle de pare-feu default-deny-ingress-to-vm2

Créez une règle de pare-feu d'entrée appelée default-deny-ingress-to-vm2 pour refuser le protocole ICMP à l'adresse IP externe de vm2. Assurez-vous que ce réseau ne contient pas de règles de pare-feu qui remplaceraient cette règle. De plus, assurez-vous qu'aucune règle de stratégie de pare-feu hiérarchique ne remplace cette règle. Pour plus d'informations, consultez la section Présentation des stratégies de pare-feu hiérarchiques.

Créez une règle à l'aide des valeurs du tableau suivant.

Champ de la règle de pare-feu VPC Valeur
Nom default-deny-ingress-to-vm2
Réseau Utilisez le réseau VPC où se trouvent les VM.
Priorité 65534
Direction of traffic (Sens du trafic) Ingress (Entrée)
Action on match (Action en cas de correspondance) Refuser
Targets (Cibles) Sélectionnez Toutes les instances du réseau.
Source IP ranges (Plages d'adresses IP sources) Utilisez l'adresse IP externe de vm1.
Specified protocols and ports (Protocoles et ports spécifiés) Cochez la case Autres protocoles, puis saisissez icmp.

Exécuter la première trace

À l'aide de la console Google Cloud, exécutez une trace afin de déterminer si un paquet ICMP (ping) peut être transmis de vm1 à l'adresse IP externe vm2. Après avoir exécuté cette trace, les tests de connectivité vous indiquent que le paquet de trace a été supprimé en raison de la règle de pare-feu VPC default-deny-outgoing-ping.

Utilisez le tableau suivant pour les valeurs d'entrée de la trace.

fieldName Valeur
Protocole icmp
Adresse IP source

Utilisez l'adresse IP externe de vm1.

Cochez la case Il s'agit d'une adresse IP utilisée dans Google Cloud.

Projet de service ou adresse IP source Vérifiez le nom du projet pour vm1.
Adresse IP de destination

Utilisez l'adresse IP externe de vm2.

Cochez la case Il s'agit d'une adresse IP utilisée dans Google Cloud.

Projet de service ou adresse IP de destination Vérifiez le nom du projet pour vm2.

L'instantané de la console Google Cloud suivant montre que le paquet de trace a été supprimé dans la règle de pare-feu default-deny-outgoing-ping.

Instantané de l'interface utilisateur de la console de la trace contenant le ping sortant refusé.
Instantané de l'interface utilisateur de la console de la trace contenant le ping sortant refusé

Exécuter une deuxième trace après avoir désactivé la règle de pare-feu default-deny-outgoing-ping

  1. Pour autoriser le test ping vers vm2, désactivez temporairement la règle de pare-feu VPC default-deny-outgoing-ping.
  2. Une fois la configuration mise à jour, exécutez à nouveau la trace.
  3. La trace échoue à nouveau. Le paquet a été supprimé en raison de cette règle de pare-feu refusant un paquet ICMP d'entrée vers l'adresse IP externe de vm2.

L'instantané de la console Google Cloud suivant montre qu'un paquet de trace entrant peut passer par Cloud NAT mais ne peut pas atteindre vm2 en raison de la règle de pare-feu mentionnée précédemment.

Instantané de l'interface utilisateur de la console qui n'a pas pu atteindre vm2.
Instantané de l'interface utilisateur de la console qui n'a pas pu atteindre la VMvm2

Créer la règle de pare-feu allow-ping-from-known-ranges

Pour autoriser l'entrée à l'adresse IP externe de vm2, configurez une nouvelle règle de pare-feu VPC appelée allow-ping-from-known-ranges. Étant donné que tout paquet ICMP entrant sur votre réseau VPC représente un risque pour la sécurité, limitez au maximum l'ensemble des plages sources autorisées à envoyer des paquets ICMP à l'adresse IP externe de vm2.

Aux fins de ce tutoriel, cette plage source inclut uniquement l'adresse IP externe de vm1, mais vérifiez toutes les règles de pare-feu ou priorités de règles existantes pour vous assurer qu'elles ne remplacent pas cette nouvelle règle. De plus, assurez-vous qu'aucune règle de stratégie de pare-feu hiérarchique ne remplace cette règle. Pour plus d'informations, consultez la section Présentation des stratégies de pare-feu hiérarchiques.

Configurez la règle à l'aide des valeurs du tableau suivant.

Champ de la règle de pare-feu VPC Valeur
Nom allow-ping-from-known-ranges
Réseau Utilisez le nom du réseau qui contient les deux VM.
Priorité 1000
Direction of traffic (Sens du trafic) Ingress (Entrée)
Action on match (Action en cas de correspondance) Autoriser
Targets (Cibles) Sélectionnez Toutes les instances du réseau.
Source filter (Filtre source) IP ranges (Plages d'adresses IP)
Source IP ranges (Plages d'adresses IP sources) Utilisez l'adresse IP externe de vm1.
Specified protocols and ports (Protocoles et ports spécifiés) Cochez la case Autres protocoles, puis saisissez icmp.

Exécuter une troisième trace

Après avoir créé la règle de pare-feu allow-ping-from-known-ranges, pinguez à nouveau l'adresse IP externe de vm2. Le ping fonctionne et le problème est résolu.

Un ping autorisé entre deux VM.
Un ping autorisé entre deux VM

Vous pouvez vérifier ce résultat en exécutant une autre trace sur la configuration mise à jour contenant la nouvelle règle de pare-feu. Cette fois, les tests de connectivité vous indiquent que le paquet a été envoyé à vm2 et que la règle de pare-feu correspondante, allow-ping-from-known-ranges, autorise un paquet ICMP entrant vers l'adresse IP externe de vm2

Instantané de l'interface utilisateur d'une trace réussie vers vm2.
Instantané de l'interface utilisateur d'une trace réussie vers vm2

Nettoyer

Si nécessaire, vous pouvez désactiver ou supprimer n'importe laquelle des ressources Google Cloud suivantes que vous avez créées pour ce tutoriel. Assurez-vous qu'il ne s'agit pas de ressources de production. Si vous décidez de désactiver les ressources, consultez la page Tarifs de Compute Engine et la page Tous les tarifs de la mise en réseau pour vous assurer qu'elles ne vous seront pas facturées.

  1. Désactivez ou supprimez les règles de pare-feu.
  2. Désactivez ou supprimez les VM.
  3. Supprimez les sous-réseaux VPC.
  4. Supprimez le réseau VPC.

Étape suivante