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.

Dans ce cas, les règles de pare-feu du cloud privé virtuel 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 Connectivity Tests peut 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.

Présentation

Dans ce cas, vous avez configuré deux instances de VM dans le même sous-réseau de votre réseau cloud privé virtuel. 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 démarrer le tutoriel, suivez toutes les étapes de la section Before you begin de la page Exécuter Connectivity Tests.

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

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 telles que vous les utiliserez plus tard.

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

Une fois les VM créées, créez une règle de pare-feu VPC appelée default-deny-outgoing-ping. Cette règle refuse le protocole ICMP de vm1 vers vm2.

Assurez-vous que le réseau ne contient pas de règles de pare-feu qui remplaceraient cette règle.

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

Champ de la règle de pare-feu Valeur
Nom default-deny-outgoing-ping
Réseau Utilisez le réseau VPC où se trouvent les VM.
Priorité 1000
Sens egress
Action en cas de correspondance deny
Cibles Sélectionnez All instances in the network.
Plages d'adresses IP de destination Utilisez l'adresse IP externe de vm2.
Protocoles et ports spécifiés Vérifiez other protocols et 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 votre réseau ne contient pas de règles de pare-feu qui remplaceraient cette règle. Utilisez les valeurs du tableau suivant pour créer la règle :

Champ de la règle de pare-feu Valeur
Nom default-deny-ingress-to-vm2
Réseau Utilisez le réseau VPC où se trouvent les VM.
Priorité 65534
Sens ingress
Action en cas de correspondance deny
Cibles Sélectionnez All instances in the network.
Source IP ranges (Plages d'adresses IP sources) Utilisez l'adresse IP externe de vm1.
Protocoles et ports spécifiés Vérifiez other protocols et saisissez icmp.

Exécuter la première trace

À l'aide de Cloud Console, exécutez une trace pour déterminer si un paquet ICMP (ping) peut être transféré de vm1 à l'adresse IP externe de vm2. Utilisez le tableau suivant pour les valeurs d'entrée de la trace.

Après avoir exécuté cette trace, Connectivity Tests vous indique que le paquet de trace a été supprimé en raison de la règle de pare-feu default-deny-outgoing-ping.

fieldName value
Protocole icmp
Adresse IP source Utilisez l'adresse IP externe de vm1.
Cochez la case This is an external IP address used in Google Cloud.
Projet de l'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 This is an external IP address used in Google Cloud.
Projet de l'adresse IP de destination Vérifiez le nom du projet pour vm2.

L'instantané Cloud Console 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 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é Cloud Console 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 la VM
Instantané de l'interface utilisateur de la console de la trace contenant le ping sortant refusé

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 appelée allow-ping-from-known-ranges.

Étant donné que l'autorisation de tous les paquets ICMP d'entrée dans votre réseau VPC est un risque pour la sécurité, spécifiez uniquement un petit ensemble de plages source 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.

Utilisez les valeurs du tableau suivant pour configurer la règle :

Champ de la règle de pare-feu Valeur
Nom allow-ping-from-known-ranges
Réseau Utilisez le nom du réseau qui contient les deux VM.
Priorité 1000
Sens entrée
Action en cas de correspondance allow
Cibles Sélectionnez All instances in the network.
Filtre source Plages d'adresses IP
Plages d'adresses IP sources Utilisez l'adresse IP externe de vm1
Protocoles et ports spécifiés Vérifiez Other protocols et 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, Connectivity Tests vous indique 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