Liaison réseau machine hote->VM (qemu/kvm)

Bonjour, je viens d’installer kvm et qemu et j’aimerais que ma VM puisse communiquer sur mon réseaux local en 192.168.0.XX et non en 192.168.122.XX

Je ne comprend pas trop les différentes interfaces qu’il propose.
De plus j’ai essayer le tuto : http://wiki.debian-facile.org/doc:reseau:interfaces:tapbridge
mais je crois que ça ne marche pas.

Si quelqu’un sais comment je peux faire ça m’aiderai beaucoup :smiley:

Merci

Salut,

Si tu débutes avec qemu/kvm il vaut mieux que tu supervises tes VM avec Virt-Manager

tu pourras sans problèmes gérer tes interfaces

Oui je l’ai installé et c’est ce que j’utilise.

Mais je n’arrive pas à créé un réseaux qui communique avec celui de mon pc dans les 2 sens.

quand je fais ifconfig j’ai

virbr1    Link encap:Ethernet  HWaddr 52:54:00:bb:64:40  
          inet adr:192.168.101.1  Bcast:192.168.101.255  Masque:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:306 errors:0 dropped:0 overruns:0 frame:0
          TX packets:412 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0 
          RX bytes:29400 (28.7 KiB)  TX bytes:406378 (396.8 KiB)

C’est un réseau NAT que j’ai créé, et depuis la machine virtuel je peux accéder à la local ou a google.fr via des ping mais par contre de ma machine je ne peux pas faire de ping vers le VM d’adresse 192.168.101.201

Je souhaiterais au minimum un lien de ma machine vers la VM

Salut,

Les VMs sont bien sur le meme bridge dédié ou sur ton bridge physique ?

Est ce que tu peux poster les confs de tes interfaces ?

et tes routes stp ?

Je ne sais pas trop, j’ai créé un réseau virtuel en NAT en faisant clique droit sur ‘localhost(QEMU)’

Comment je poste des confs ?

Et pour les routes :

route -n
Table de routage IP du noyau
Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 wlan0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlan0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0
192.168.101.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr1

Hello,

Ok pour les poster tes confs

Ton KVM/qemu et ta VM

cat /etc/network/interfaces
ip a
ip r

J’ai jamais géré le nat via virt-manager mais ca doit etre pas bien compliqué :wink: je vais tester sur mon kvm de dev

Alors

cat /etc/network/interfaces 
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 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
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether c4:85:08:3a:63:21 brd ff:ff:ff:ff:ff:ff
    inet 192.168.33.139/24 brd 192.168.33.255 scope global wlan0
       valid_lft forever preferred_lft forever
    inet6 fe80::c685:8ff:fe3a:6321/64 scope link 
       valid_lft forever preferred_lft forever
3: virbr1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
    link/ether 52:54:00:bb:64:40 brd ff:ff:ff:ff:ff:ff
    inet 192.168.101.1/24 brd 192.168.101.255 scope global virbr1
       valid_lft forever preferred_lft forever
4: virbr1-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc noop master virbr1 state DOWN qlen 500
    link/ether 52:54:00:bb:64:40 brd ff:ff:ff:ff:ff:ff
8: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master virbr1 state UNKNOWN qlen 500
    link/ether fe:54:00:f3:6d:a3 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fc54:ff:fef3:6da3/64 scope link 
       valid_lft forever preferred_lft forever
ip r
default via 192.168.33.254 dev wlan0  proto static 
169.254.0.0/16 dev wlan0  scope link  metric 1000 
192.168.33.0/24 dev wlan0  proto kernel  scope link  src 192.168.33.139 
192.168.101.0/24 dev virbr1  proto kernel  scope link  src 192.168.101.1 

Du coup comment tu fais pour pouvoir avoir un lien de ta machine vers la VM ?

Il manque des infos

cat /etc/network/interface

de ton KVM

Est ce que tes VMs sont toutes sur le bridge virbr1 ? regarde dans virt manager

Moi je fais du nat avec Iptables

regarde cette doc ca correspond a ce que tu fais :

dedoimedo.com/computers/kvm-bridged.html

Comment je fais la commande dans mon KVM (j’ai une VM sous xp et une autre sous ubuntu metasploitable mais je ne l’utilise pas encore)

Les 2 VM ont le virbr1 comme réseau. (voir image)

J’ai pas créé de réseau via l’invite de commande mais seulement par virt-manager. Du coup je ne sais pas si c’est le même résultat que le tuto.

Après je veux bien faire des trucs avec iptable si toi t’as fais avec ça et que ça fonctionne.

Et je viens de remarqué que mon /etc/network/interface contenais il me semble “auto lo” ou un truc comme ça, ce qui expliquerai pourquoi maintenant je dois démarrer lo manuellement ?

PS : niveau réseau je ne suis pas très à l’aise avec les bridge, NAT, …

Creating Network Bridge using virt-manager (CentOS 6)

Merci pour le lien, mais je n’ai pas compris l’étape 2. Est ce qu’il faut choisir une interface réseau parmis celles d’en bas ?

Oui.

Et j’ai personnellement choisi l’interface utilisée par ma machine (“eth0”) qui est connectée à ma box de façon à obtenir une adresse IP depuis le serveur DHCP de la box.
L’adresse IP de ma machine virtuelle est donc maintenant dans le même réseau que l’adresse IP de ma machine (puisque c’est le même serveur DHCP qui a donné les adresses IP).

Je peux donc communiquer de la machine hôte vers les machine virtuelles (et inversement) qui utiliseront ce pont (bridge).
De plus, la machine hôte comme les machines virtuelles ont accès à l’internet,
et je peux aussi utiliser le transfert de port de ma box pour rendre une machine virtuelle accessible depuis l’extérieur.

Pour résumer, c’est comme si tu avais installé un switch (commutateur réseau) à l’entrée de la carte réseau de ta machine hôte,
et que tu connecte les cartes réseau de tes machines virtuelles à ce switch. (Ça se passe au niveau 2 (Liaison) de la couche OSI.)
Il faut donc décider sur quelle interface réseau ce pont sera connecté.

D’accord merci pour tes explication je comprend mieux la chose.

Par contre je suis sur un portable et je ne suis pas toujours en ethernet (des fois je peu y être aussi) du coup je doit faire 2 ponts ?

Et donc vu que je suis sur un portable il ce peut que je ne sois pas sur le même réseau tout le temps, donc est ce que le bridge s’adapte aux différents réseau ?

Edit : Ma machine VM est bien connecté au réseau, depuis ma freebox je peux la voir elle a l’adresse 192.168.0.11 mais je ne peux pas faire de ping vers elle depuis ma machine (même avec mon autre pc)

je pense qu’il te faut regarder du côté de la configuration logicielle du système installé sur cette machine virtuelle,
car la machine virtuelle a demandé (en passant par le pont réseau) au serveur DHCP de la box de lui fournir une adresse IP,
adresse IP qui lui a bien été fournie et qu’elle a utilisé pour configurer son périphérique réseau.
Il est donc clair qu’elle a pu communiquer et qu’elle est donc bien connectée.

==================
D’autre part, le titre de ce fil est : "qemu kvm et reseaux local"
Ce titre est bien trop généraliste et ne va sûrement pas beaucoup aider les personnes (ou toi même) qui vont faire des recherches sur ce forum,
il risque même de te/leur faire perdre du temps dans tes/leur recherches.

Or, la question posée dans le premier post de ce fil était :
… j’aimerais que ma VM puisse communiquer sur mon réseaux local en 192.168.0.XX et non en 192.168.122.XX …
Ici, la question est précise et permettrait à un futur utilisateur de trouver une solution à son problème.

Dès lors que la machine virtuelle a obtenu une adresse IP dans le réseau 192.168.0.0/24, on peut considérer le problème comme résolu.
En conséquence, je te propose donc de:

Modifier le titre de ce fil de discussion en éditant ton premier message avec un titre comme par exemple :
“Machine Qemu/Kvm sur le réseau local (bridge)”

Ouvrir deux nouveaux fils correspondants aux 2 questions de ton dernier post :

  • Machine Qemu/Kvm sur hôte connecté par ethernet ou wifi.
  • Machine Qemu/Kvm sur hôte connecté sur différents réseaux.

Merci

J’ai modifié le titre, au départ je pensais que le fait d’être sur le même réseau me permettrais de pouvoir communiquer de ma machine vers la VM.

Du coup pourquoi ma box voit la VM mais pas le pc ?

C’est bien la première condition qui rends la communication possible.
Il reste quand même que si la machine virtuelle ne veux pas écouter ou répondre aux requêtes ICMP ou si la machine hôte ne veux pas comprendre ou recevoir les réponses aux questions qu’elle pose, et bien d’autre “si” encore…
Je ne sais pas du tout comment sont configurées ta machine hôte, ni ta machine virtuelle, et il y a une foule de possibilités.

Créé une nouvelle machine virtuelle debian sans modifier quoi que ce soit, juste en la connectant sur ce pont, et si elle aussi n’est pas joignable, c’est que le problème vient sans doute de la configuration de la machine hôte.

Sur la VM j’ai un xp sp2 vierge, juste installé avec firefox. Du coup il faut que je regarde comment faire pour qu’il accepte les paquets ICMP ?

La machine hôte a sûrement quelques problèmes réseaux avec tout ce que j’ai pu tester pour que ça fonctionne. Y aurait il un moyen de revenir a un état par défaut ? (comme après l’installation)

… the computer does not answer ICMP echo reques … => how to enable icmp echo requests ping in windows xp service pack_2

Je viens de faire exactement le même tutoriel, mais ça ne fonctionne toujours pas.

Il y a tellement de possibilités de configurations que le plus simple serait d’installer une nouvelle debian hôte fraîche et vierge de toute modification.
Il suffirait ensuite d’installer qemu/KVM puis de récupérer les fichiers images des machines virtuelles et les dossiers personnels de l’ancienne partition vers la nouvelle.
Un fois tout ça récupéré, il est toujours possible de récupérer l’espace occupé par l’ancienne debian.

Personnellement, je ne modifie que très très peu la machine hôte que j’utilise, car pour tous les tests, j’ utilise toujours une machine virtuelle.
Ça ne m’empêche pas d’avoir des fois envie de recréer une machine hôte, mais c’est tellement rare et vite fait (30 mn sur 9550 avec 4GiB de RAM) et ça prends tellement peu de place (< à 5GiB pour le système).
Mes images de machines virtuelles sont sur une partition/disque séparée, ce qui fait que je n’ai pas à les recréer, et j’ai une autre partition/disque pour les images iso, vidéos, documents perso etc…
Ne pas mettre tous ses œufs dans le même panier.