Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Dépannage du pool d’adresses IP flottantes dans Contrail

Ce document fournit des méthodes de dépannage à utiliser lorsque vous rencontrez des erreurs avec le pool d’adresses IP flottantes lors de l’utilisation de Contrail.

Exemple de cluster

Les exemples de ce document font référence à un cluster virtuel configuré comme suit :

Les réseaux virtuels suivants sont utilisés dans les exemples de ce document :

Réseau virtuel public :

  • Nom du réseau virtuel : public_vn

  • Plage d’adresses publiques : 10.204.219.32 to 10.204.219.37

  • Route cible : 64512:10003

  • Nom du pool IP flottant : public_pool

Réseau virtuel privé :

  • Nom du réseau virtuel : vn1

  • Sous-réseau: 10.1.1.0/24

Exemple

Une machine virtuelle est créée dans le réseau virtuel VN1 avec le nom VN1_VM1 et l’adresse IP 10.1.1.253. Une adresse IP flottante 10.204.219.37 est associée à l’instance VN1_VM1.

Un routeur MX80 est configuré comme passerelle d’appairage avec les nœuds de contrôle nodec7 et nodec8.

Exemple : configuration MX80 pour la passerelle

Voici la configuration du système d’exploitation Junos pour la passerelle MX80. La route 10.204.218.254 est la route vers le monde extérieur.

Ping l’adresse IP flottante à partir du réseau public

À partir du réseau public, envoyez un ping à l’adresse IP flottante 10.204.219.37.

Détails de dépannage

Les sections suivantes détaillent les moyens d’obtenir des informations connexes, d’afficher, de dépanner et de valider des adresses IP flottantes dans un système Contrail.

Obtenez l’UUID du réseau virtuel

Utilisez ce qui suit pour obtenir l’identificateur universel unique (UUID) du réseau virtuel.

Afficher l’objet IP flottant dans le serveur API

Utilisez ce qui suit pour afficher les informations du pool d’adresses IP flottantes dans le serveur API. Les requêtes de serveur API peuvent être effectuées sur le port http 8082.

Les serveurs API Contrail ont l’objet public_vn de réseau virtuel qui contient des informations de pool d’adresses IP flottantes. Utilisez ce qui suit pour afficher les informations de l’objet floating-ip-pools.

curl http://<API-Server_IP>:8082/virtual-network/<UUID_of_VN>

Exemple

Afficher floating-ips dans floating-ip-pools dans le serveur API

Une fois que vous avez localisé l’objet floating-ip-pools, utilisez ce qui suit pour examiner son objet floating-ips.

L’objet floating-ips doit afficher l’adresse IP flottante affichée dans l’interface utilisateur de Contrail. L’adresse IP flottante doit avoir une référence à l’objet VMI (Virtual Machine Interface) lié à l’adresse IP flottante.

Exemple

Vérifier les objets IP flottants dans l’interface de la machine virtuelle

Utilisez ce qui suit pour récupérer l’interface de machine virtuelle de la machine virtuelle à partir de la commande quantum port-list ou de l’interface utilisateur Contrail. Obtenez ensuite l’identificateur de l’interface de la machine virtuelle et vérifiez ses associations d’objets IP flottants.

  • Utilisation quantum port-list pour obtenir l’interface de machine virtuelle :
    Exemple
  • Utilisation de Contrail UI pour obtenir l’interface de machine virtuelle :

Vérification des objets IP flottants sur l’interface de la machine virtuelle

Une fois que vous avez obtenu l’identificateur d’interface de machine virtuelle, vérifiez les objets floating-ip associés à l’interface de machine virtuelle.

Afficher l’état de l’homologue BGP sur le nœud de contrôle

Utilisez l’interface utilisateur de Contrail ou le nœud de contrôle http introspect sur le port 8083 pour afficher l’état de l’homologue BGP. Dans l’exemple suivant, les nœuds de contrôle sont nodec7 et nodec8.

Assurez-vous que l’état d’appairage BGP est affiché comme Établi pour les nœuds de contrôle et le MX de passerelle.

Exemple

  • Utilisation de l’interface utilisateur de Contrail :

  • Utilisation du nœud de contrôle Introspect :

    http://nodec7:8083/Snh_BgpNeighborReq?ip_address=&domain=

    http://nodec8:8083/Snh_BgpNeighborReq?ip_address=&domain=

Interrogation d’itinéraires dans le réseau virtuel public

Sur chaque nœud de contrôle, une requête sur les routes du public_vn répertorie les routes poussées par la passerelle MX, qui dans l’exemple suivant sont 0.0.0.0/0 et 10.204.218.0/24.

Dans les résultats suivants, la route IP flottante 10.204.217.32 est installée par le nœud de calcul (nodec10) qui héberge cette machine virtuelle.

Exemple

  • Utilisation de l’interface utilisateur de Contrail :

  • Utilisation de http Introspect :

    Voici le format d’utilisation d’une requête d’introspection.

    http://<nodename/ip>:8083/Snh_ShowRouteReq?x=<RoutingInstance of public VN>.inet.0

    Exemple

    http://nodec8:8083/Snh_BgpNeighborReq?ip_address=&domain=

Voir les routes BGP LL3VPN correspondantes

Utilisez l’interface utilisateur de Contrail ou l’introspect http pour afficher les routes BGP L3VPN correspondantes de la route publique, comme indiqué ci-dessous.

Exemple

  • Utilisation de l’interface utilisateur de Contrail :

  • Utilisation du nœud de contrôle Introspect :

    http://nodec7:8083/Snh_ShowRouteReq?x=bgp.l3vpn.0

    http://nodec8:8083/Snh_ShowRouteReq?x=bgp.l3vpn.0

Vérification à partir de la passerelle MX80

Cette section fournit des options pour vérifier les pools IP flottants à partir de la passerelle MX80.

Vérifier que les sessions BGP sont établies

Utilisez les commandes suivantes de la passerelle pour vérifier que les sessions BGP sont établies avec les nœuds de contrôle nodec7 et nodec8 :

Afficher les itinéraires appris des nœuds de contrôle

À partir du MX80, utilisez show route pour afficher les itinéraires de la machine virtuelle 10.204.219.37 qui sont appris des deux nœuds de contrôle.

Dans l’exemple suivant, les routes apprises sont 10.204.216.64 et 10.204.216.65, pointant vers un saut suivant de tunnel GRE dynamique avec une étiquette de 16 (de la machine virtuelle).

Affichage de l’agent VNSW du nœud de calcul

Le nœud de calcul introspect est accessible à partir du port 8085. Dans les exemples suivants, les nœuds de calcul sont nodec9 et nodec10.

Afficher les sauts suivants des instances de routage

Sur l’instance de routage de VN1, les routes 0.0.0.0/0 et 10.204.218.0/24 doivent avoir le saut suivant pointant vers la passerelle MX (10.204.216.253).

Exemple

  1. Utilisation de l’interface utilisateur de Contrail :

Utilisation de l’index de table de routage unicast pour afficher les sauts suivants

Alternativement, à partir de l’introspection de l’agent, vous pouvez afficher les sauts suivants dans la table de routage unicast.

Tout d’abord, utilisez ce qui suit pour obtenir l’index de table de routage unicast (ucindex) pour l’instance de routage default-domain:admin:public_vn:public_vn.

http://nodec10:8085/Snh_VrfListReq?x=default-domain:admin:public_vn:public_vn

Exemple

  1. Dans l’exemple suivant, l’index de table de routage unicast est 2.

Ensuite, effectuez une requête de demande de routage sur ucindex 2, comme indiqué ci-dessous. Le détail du tunnel indique les points de terminaison source et de destination du tunnel et l’étiquette MPLS 16 (étiquette de la machine virtuelle).

La requête doit également afficher un itinéraire pour 10.204.219.37 avec une interface suivant saut de tap-interface. http://nodec10:8085/Snh_Inet4UcRouteReq?x=2

Un ping de la passerelle MX vers l’adresse IP flottante de la machine virtuelle dans l’instance de routage publique devrait fonctionner.

Dépannage avancé

Si vous rencontrez toujours des problèmes d’accessibilité après avoir effectué tous les tests de cet article, par exemple, un ping entre la machine virtuelle et l’adresse IP MX ou vers des adresses publiques échoue, essayez ce qui suit :

  • Vérifiez que tous les processus Contrail requis sont en cours d’exécution à l’aide de la contrail-status commande sur tous les nœuds.

  • Sur le nœud de calcul où la machine virtuelle est présente (nodec10 dans cet exemple), effectuez un tcpdump sur l’interface tap (tcpdump –ni tapcdca35ce-84). La sortie doit afficher les paquets entrants de la machine virtuelle.

  • Vérifiez si des pertes de paquets se produisent dans le module vrouter du noyau :

    http://nodec10:8085/Snh_KDropStatsReq?

    Dans la sortie, faites défiler vers le bas pour trouver des gouttes. Remarque : Vous pouvez ignorer les incréments de ds_invalid_arp.

  • Sur l’interface physique où les paquets sont transmis au nœud de calcul, effectuez un tcpdump correspondant à l’adresse IP hôte du MX pour afficher les paquets encapsulés GRE, comme dans ce qui suit.

  • Sur la passerelle MX, utilisez les éléments suivants pour inspecter le nombre de paquets rx/tx (reçus/transmis) du tunnel GRE :

  • Recherchez les pertes de paquets dans le FPC, comme dans les éléments suivants :

    show pfe statistics traffic fpc <id>

  • Inspectez également les tunnels dynamiques à l’aide des éléments suivants :

    show dynamic-tunnels database