Article ID: 119134, created on Nov 4, 2014, last review on Nov 4, 2014

  • Applies to:
  • Virtuozzo
  • Virtuozzo containers for Linux
  • Virtuozzo hypervisor

Question

Lorsque la commande vzlist est exécutée, l'adresse IP interne (10.39.97.97) s'affiche à la place de l'adresse publique (217.100.101.102) pour un conteneur avec deux adresses :

[root@PCS ~]# vzlist 100100
      CTID      NPROC STATUS    IP_ADDR         HOSTNAME
    100100         19 running   10.39.97.97     ipdisplaytest

[root@PCS ~]# vzctl exec 100100 ip addr list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: venet0: <BROADCAST,POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
    link/void
    inet 127.0.0.1/32 scope host venet0
    inet 10.39.97.97/16 brd 10.39.255.255 scope global venet0:0
    inet 217.100.101.102/32 brd 217.100.101.102 scope global venet0:1

Que se passe-t-il ?

Réponse

Aucun mécanisme dans Parallels Virtuozzo Containers pour Linux (ni dans Parallels Cloud Server) ne distingue une adresse IP interne d'une adresse IP publique.

vzlist affiche toujours les adresses IP dans le même ordre dans lequel elles ont été ajoutées dans le conteneur après son démarrage. Il s'agit du même ordre consigné par la commande ip addr list. Pour lister toutes les adresses IP affectées à un conteneur, vous devez préciser l'option ip pour vzlist

[root@PCS ~]# vzlist -o ip 100100
IP_ADDR
10.39.97.97 217.100.101.102

Remarque : exécutez vzlist -L pour voir toutes les options disponibles.

Si les deux adresses IP sont affectées à une interface en mode routé via l'hôte, vous pouvez modifier manuellement l'ordre des adresses IP dans le fichier de configuration. Pour cela, supprimez les adresses IP du conteneur avec vzctl et ajoutez-les à nouveau dans l'ordre souhaité.

REMARQUE : le produit est conçu de sorte qu'une interface en mode routé via l'hôte est toujours ajoutée au conteneur avant l'interface pontée. C'est pourquoi il n'est pas possible d'afficher l'adresse IP de l'adaptateur ponté avant celle de l'adaptateur en mode routé.

Exemple :

Le conteneur 100100 a deux adresses IP :

[root@PCS ~]# vzlist -o ip 100100
IP_ADDR
10.39.97.97 217.100.101.102 

Dans le résultat vzlist, l'adresse IP interne (10.39.97.97) est affichée :

[root@PCS ~]# vzlist 100100
      CTID      NPROC STATUS    IP_ADDR         HOSTNAME
    100100         19 running   10.39.97.97     ipdisplaytest

Pour forcer l'affichage de l'adresse IP publique (217.100.101.102), vous devez à nouveau ajouter l'adresse IP interne. Ainsi l'adresse IP publique s'affichera en premier :

[root@PCS ~]# vzctl set 100100 --ipdel 10.39.97.97 --ipadd 10.39.97.97/16 --save
Saved parameters for Container 100100
[root@PCS ~]# vzlist 100100
      CTID      NPROC STATUS    IP_ADDR         HOSTNAME
    100100         19 running   217.100.101.102 ipdisplaytest

a26b38f94253cdfbf1028d72cf3a498b 2897d76d56d2010f4e3a28f864d69223 d02f9caf3e11b191a38179103495106f e8e50b42231236b82df27684e7ec0beb 0dd5b9380c7d4884d77587f3eb0fa8ef

Email subscription for changes to this article
Save as PDF