web-dev-qa-db-fra.com

Pourquoi les ponts Ethernet ne fonctionnent-ils pas avec OpenStack?

J'essaie de configurer OpenStack avec le gestionnaire de réseau nova.network.manager.FlatManager qui connecte (dans mon contexte) chaque machine virtuelle au pont réseau br100.

Sur mon hôte, j'utilise le paramètre réseau suivant:

auto lo
  iface lo inet loopback

auto eth0
  iface eth0 inet static
  address 192.168.0.50
  netmask 255.255.255.0
  broadcast 192.168.0.255
  gateway 192.168.0.1

auto eth0:0
iface eth0:0 inet static
  address 192.168.100.1
  netmask 255.255.255.0
  broadcast 192.168.100.255

ce qui entraîne la configuration de l'interface suivante:

eth0      Link encap:Ethernet  HWaddr 00:1a:92:08:15:43  
          inet addr:192.168.0.50  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::21a:92ff:fe08:1543/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5365 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5177 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:572855 (572.8 KB)  TX bytes:1812681 (1.8 MB)
          Interrupt:43 Base address:0x6000 

eth0:0    Link encap:Ethernet  HWaddr 00:1a:92:08:15:43  
          inet addr:192.168.100.1  Bcast:192.168.100.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:43 Base address:0x6000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:49079 errors:0 dropped:0 overruns:0 frame:0
          TX packets:49079 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:25157104 (25.1 MB)  TX bytes:25157104 (25.1 MB)

virbr0    Link encap:Ethernet  HWaddr c6:b2:4f:da:cd:ff  
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

vnet1     Link encap:Ethernet  HWaddr fe:16:3e:3a:77:dc  
          inet6 addr: fe80::fc16:3eff:fe3a:77dc/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:153 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:6642 (6.6 KB)  TX bytes:468 (468.0 B)

La configuration du pont (brctl show) ressemble à ceci:

bridge name     bridge id               STP enabled     interfaces
br100           8000.fe163e3a77dc       no              vnet1
virbr0          8000.000000000000       yes

J'ai créé une machine virtuelle (à l'aide de vnet1) à laquelle l'adresse IP 192.168.100.2 a été attribuée.

Pour moi, tout semble bien, sauf que eth0: 0 n'est pas attaché au pont. Lorsque j'essaie de modifier cela en exécutant brctl addif br100 eth0:0, la mise en réseau est complètement interrompue (je ne peux plus envoyer de commande ping à d'autres hôtes sur le sous-réseau 192.168.0.x), mais je ne peux toujours pas envoyer de commande ping à la machine virtuelle connectée au pont (à l'aide du interface vnet1).

Comment puis-je attacher eth0: 0 au pont sans rompre ma connexion eth0 LAN? Ou existe-t-il un moyen supérieur de réseauter dans un environnement de test OpenStack sur un hôte avec une seule carte réseau physique?

7
ChrisM

D'abord, oubliez virbr0 - ajouté par libvirt et qui n'a aucune importance.

Pour un serveur Openstack "tout-en-un" avec une seule carte réseau, une autre interface virtuelle avec alias ne devrait pas être nécessaire. Comme indiqué dans le guide Openstack , vous devez relier br100 à votre adresse IP publique (eth0), et laisser Nova créer des instances et relier les à br100.

par exemple. ajoutez ce qui suit à /etc/network/interfaces, modifiez-le comme il convient pour static:

 auto br100 
 iface br100 inet dhcp 
 bridge_ports eth0 
 bridge_stp off 
 bridge_maxwait 0 
 bridge_fd 0 

Le sous-réseau IP privé autorisé doit être configuré via l'option --fixed-range dans nova.conf et l'option --flat_network_bridge définie sur br100.

Veuillez coller votre nova.conf dans la question pour faciliter le dépannage!

4
Bogie