web-dev-qa-db-fra.com

openstack: conifgure vm avec ip statique sur eth1

J'essaie de créer deux machines virtuelles fiables avec des adresses IP statiques pour eth1, mais les requêtes ping entre les adresses statiques échouent.

  • Par l'intermédiaire du tableau de bord de la Havane, j'ai créé un réseau avec une passerelle désactivée, un sous-réseau 10.16.1/24, un dhcp activé dans la plage 10.16.1.100, 10.16.1.120.
  • Lancement de 4 instances, chacune avec deux NICS; eth0 pour mon interface publique habituelle et eth1 pour le sous-réseau 10.16.1/24.
  • connecté à deux des VM et créé eth1.cfg, configuré pour dhcp
     auto eth1 
     iface eth1 inet dhcp 
    
  • connecté aux deux autres VM et créé eth1.cfg, configuré avec des informations statiques
     auto eth1 
     iface eth1 inet static 
     adresse 10.16.1.2 
     masque de réseau 255.255.255.0 
    
    • ifup eth1 sur chaque vm

À partir de chaque machine virtuelle configurée DHCP, je peux envoyer une requête ping à l’autre machine virtuelle configurée DHCP, mais pas aux machines virtuelles configurées de manière statique.

À partir des machines virtuelles configurées de manière statique, je ne peux pas envoyer de requête ping à une autre machine virtuelle.

J'ai également essayé de créer un routeur pour le réseau et d'ajouter une interface 10.16.1.254. Mais cela n'a apporté aucun changement apparent. Je ne peux pas non plus envoyer de ping au routeur depuis l'une ou l'autre des VM.

Qu'est-ce que je rate?

1
CAB

Il est difficile de répondre sans plus d'informations. Étant donné que vous êtes sur le même réseau, je ne m'attends pas à ce que les règles de pare-feu posent problème.

Utilisez-vous un neutron ou une nova? Pouvez-vous vérifier que tous les services neutroniques fonctionnent correctement?

neutron agent-list

Cela vaut peut-être la peine d'activer dhcp afin de pouvoir au moins vérifier si le réseau fonctionne.

Les ordinateurs virtuels sont-ils co-localisés sur le même hyperviseur physique ou sont-ils répartis sur deux. S'ils sont répartis sur deux, utilisez-vous des VLAN et avez-vous configuré votre commutateur pour le prendre en charge?

Il est intéressant de noter que la configuration statique des adresses IP, non réservées par Openstack, fonctionnait bien avant Icehouse, mais les modifications apportées à cette version peuvent vous causer des problèmes.

Sur le nœud de calcul hébergeant l’un des ordinateurs virtuels si vous exécutez

iptables -S | more

Recherchez dans la sortie l'adresse MAC de votre ordinateur virtuel, par exemple. le mien est 'FA: 16: 3E: D0: 1A: 5D'

Vous verrez une sortie comme ceci:

-A neutron-openvswi-see719639-9 -s 192.168.0.83/32 -m mac --mac-source FA:16:3E:BB:75:7E -j RETURN
-A neutron-openvswi-see719639-9 -j DROP

Cela signifie qu'il n'acceptera que les paquets destinés à cette adresse MAC destinée à 192.168.0 .83/32.

1
Dave

Je pense que cela concorde avec mes expériences précédentes consistant à essayer d’avoir une adresse IP configurée de manière statique sur un réseau à neutron activé par DHCP. Si je me souviens bien, ce que vous essayez de faire fonctionne si DHCP a été désactivé pour ce réseau de neutrons particulier, mais ne fonctionnera pas s’il a été activé.

Dans le cas de ce dernier, un port neutron sera créé pour cette interface VM avec l'adresse IP attribuée à l'adresse IP. Si vous deviez configurer votre invité VM de manière statique pour qu'il corresponde à cette adresse IP et à ce sous-réseau, cela fonctionnerait. Si vous essayez de configurer votre invité de manière statique pour une adresse IP autre que celle de la base de données de neutrons, ce ne sera pas le cas. Si ce n’est rien d’autre, il s’agit d’une forme de protection IP spoof, car elle ne vous permettrait pas de vous faire passer pour l’IP d’un autre VM sur le même réseau. C’est généralement une bonne protection.

Une option consiste donc à utiliser un réseau avec DHCP = désactivé pour votre réseau. Une autre option consiste à configurer de manière statique le VM pour la même adresse IP que neutron a attribuée.

Une autre anecdote: dans un cas, j'ai ponté un réseau externe vers un réseau openstack via un VLAN particulier. Ce réseau ne comportait que des serveurs physiques configurés de manière statique et aucun serveur DHCP. Le réseau à ciel ouvert que j'ai créé avec DHCP = activé. J'ai fait cela en utilisant une allocation_range restreinte, pour allouer des adresses IP qui ne seraient pas en conflit avec des adresses IP statiques existantes sur le même CIDR. Etant donné que neutron ne gère que les ports pontés des ordinateurs virtuels, cela signifie que d'autres périphériques configurés statiquement sur le réseau (en dehors du contrôle openstack/neutron) peuvent communiquer avec les ordinateurs virtuels DHCP de ce réseau. Toutefois, cette configuration ne vous permettrait pas de créer une combinaison d’invités/hôtes statiques et DHCP sur le même réseau de neutrons pour lequel DHCP = est activé.

1
user96328