[Résolu] Bridge inter machines virtuelles KVM avec Debian

Bonjour à toutes et à tous,

Je viens ici en espérant trouver la solution à un problème sur lequel je commence passer mes nerfs :119

Le commencement:
J’ai une machine physique (Debian Lenny) sur laquelle se trouvent trois VM gérées par KVM-quemu, la machine n’a qu’une interface physique.
J’aimerais que ces trois VM puissent dialoguer ensemble ayant chacune un IP différente sans être reliées au réseau donc pas de connexion avec eth. Je crée donc un bridge en y ajoutant seulement les interfaces de mes VM, mais le soucis que j’ai se trouve à ce niveau là, je ne sait pas comment faire connaître les interface des VM sur la machine physique… Alors j’essaye avec tap.

Voici mon fichier /etc/network/interfaces

# The loopback network interface
auto lo eth1 tap01 tap02 br0
iface lo inet loopback

iface eth1 inet dhcp

iface tap02 inet static
pre-up tunctl -u g -t tap02
address 172.168.1.2
netmask 255.255.255.0

iface tap01 inet static
pre-up tunctl -u g -t tap01
address 172.168.1.1
netmask 255.255.255.0

iface br0 inet manual
bridge_ports tap01 tap02
bridge_stp off
bridge_fd 9
bridge_hello 2

Le problème est que tant que je lie pas les interface tap01 et tap02 avec le bridge elles ont chacune leur IP. Des que je les monte sur br0 leur IP disparaissent :013

Voici le resultat de ifconfig:

br0       Link encap:Ethernet  HWaddr da:fd:5c:ac:b7:58  
          adr inet6: fe80::d8fd:5cff:feac:b758/64 Scope:Lien
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0 
          RX bytes:0 (0.0 B)  TX bytes:3031 (2.9 KiB)

lo        Link encap:Boucle locale  
          inet adr:127.0.0.1  Masque:255.0.0.0
          adr inet6: ::1/128 Scope:Hôte
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0 
          RX bytes:560 (560.0 B)  TX bytes:560 (560.0 B)

tap01     Link encap:Ethernet  HWaddr da:fd:5c:ac:b7:58  
          adr inet6: fe80::d8fd:5cff:feac:b758/64 Scope:Lien
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:42 errors:0 dropped:0 overruns:0 frame:0
          TX packets:19 errors:0 dropped:209 overruns:0 carrier:0
          collisions:0 lg file transmission:500 
          RX bytes:7010 (6.8 KiB)  TX bytes:3325 (3.2 KiB)

tap02     Link encap:Ethernet  HWaddr e6:6a:a3:69:31:83  
          adr inet6: fe80::e46a:a3ff:fe69:3183/64 Scope:Lien
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:58 errors:0 dropped:118 overruns:0 carrier:0
          collisions:0 lg file transmission:500 
          RX bytes:0 (0.0 B)  TX bytes:10077 (9.8 KiB)

Je lance mes VM avec la commande suivante:

Je ne suis pas un pro des VM, alors il y a sûrement un truc que je n’ai pas du bien saisir…

Toutes idées, propositions, modifications sont les bienvenues.

Bonjour,
il faut que tu fasse un bridge (pas le jeu de cartes:))
Je me sers de ce tutos pour les rares fois ou je bricole le réseau de mes machines virtuelles:
adella.org/spip/QEMU-Configurer-le-reseau
Il existe un autre tuto plus complet:
people.gnome.org/~markmc/qemu-networking.html

Salut piratebab,

J’ai bien un bridge, regarde mon fichier de conf :wink:
Le premier lien ne correpond pas à ce que je recherche mais le second lui s’en raproche, je vais tenter de bricoler avec ça, merci.

D’ailleurs, j’ai changé de méthode (celle-ci me parrait plus appropriée):

# The loopback network interface
auto lo eth1 tap01 tap02 br0
iface lo inet loopback

iface eth1 inet dhcp

iface tap02 inet manual
pre-up tunctl -u g -t tap02

iface tap01 inet manual
pre-up tunctl -u g -t tap01

iface br0 inet static
bridge_ports tap01 tap02
address 172.168.1.10
netmask 255.255.255.0
bridge_stp off
bridge_fd 5
bridge_hello 2

Avec cette configutation, la machine hote n’attribue pas les @IP des VM, mais seulement une IP pour le bridge, une fois les VM lancées je leur applique une @IP. Avec cette solution chaque VM peu pinguer le bridge (172.168.1.10) mais ne peuvent se pinguer entre elles… J’ai tenté de re-créer le bridge sans @IP mais ça ne change rien…

:ugeek: Bon, j’ai trouvé la solution… :slightly_smiling:

Dans la machine hôte, voici la configuration à avoir:

# The loopback network interface
auto lo eth1 br0 br1 br2 br3

iface lo inet loopback

iface eth1 inet dhcp

iface br0 inet manual
bridge_ports none
address 0.0.0.0
netmask 0.0.0.0
bridge_stp off
bridge_fd 5

iface br1 inet manual
bridge_ports none
address 0.0.0.0
netmask 0.0.0.0
bridge_stp off
bridge_fd 5

iface br2 inet manual
bridge_ports none
address 0.0.0.0
netmask 0.0.0.0
bridge_stp off
bridge_fd 5

iface br3 inet manual
bridge_ports none
address 0.0.0.0
netmask 0.0.0.0
bridge_stp off
bridge_fd 5

Puis pour vous simplifier la vie, installez libvirt:

apt-get install virt-manager libvirt-bin virtinst

Pour avoir les droits d’utilisation, ajouter vous aux utilisateurs:

sudo adduser $USERNAME libvirtd

Rdemarrez votre session pour que ça prenne effet:

Et lancez virt manager, l’interface est assez friendly user pour tout comprendre sans aide:

virt-manager -c qemu:///system

Je ne connaissais pas virt-manager.
merci pour l’info :slightly_smiling: