Forum général.général qemu et réseau local : où en est-on ?

Posté par  .
Étiquettes : aucune
0
26
juil.
2006
Bonjour,

j'ai enfin réussi à compiler kqemu avec qemu, cela ne fonctionne pas trop mal. Par défaut on a le réseau internet, et cela également fonctionne. Par contre au niveau du réseau local c'est beaucoup moins évident.
J'ai lu les diffentes docs à ce sujet, notamment :
http://fabrice.bellard.free.fr/qemu/qemu-doc.html#SEC23

également sur ce forum :

http://linuxfr.org/forums/41/17454.html

et j'ai pu avoir le réseau local grâce aux directives en particulier sur :
http://qemu.dad-answers.com/viewtopic.php?t=144&postdays(...)

seulement c'est vraiment très fastidieux à mettre en place, surtout si je dois "déployer" une solution avec qemu sur différents ordinateurs. En plus (et là mes limitations sur la question du réseau remontent à la surface) si j'ai pu obtenir le réseau dans la machine émulée, cela m'a complètement court-circuité ma connexion sur la machine hôte, que j'ai pu obtenir de nouveau en retirant les modules bridge, tun et en relançant la configuration réseau à la main.

Est-ce qu'il y aurait moyen d'avoir ce réseau local aussi facilement et automatiquement que le réseau internet ? A ce que j'ai pu voir sur les forums (mais parfois un peu anciens), non, ou alors est-ce qu'il est possible de faire passer la limitation d'une manière ou d'une autre ?
  • # script au démarrage de qemu

    Posté par  . Évalué à 2.

    Si tu démarres avec tun/tap, tu peux lancer qemu avec un script de configuration pour le matériel réseau (comme précisé dans la dernière URLs que tu as donné).

    Pour garder le réseau local sur ta machine hôte, il faut modifier AMHA ce script. Normalement, ton interface eth0 fait partie du bridge (br0). Cette interface bridge possède sans doute une adresse IP et, si tel est le cas, il faut que tu supprimes l'adresse IP d'eth0 (ifconfig eth0 0.0.0.0 promisc up). Comme eth0 fait partie d'un bridge, il faut bien lui préciser ces paramètres...

    Pourrais-tu par contre expliquer plus précisément ce que tu entends par "réseau internet" et "réseau local". A priori, tes machines sont reliées par réseau local et sortent ensuite pour aller sur internet... Quelle est la configuration de ton réseau local, y a-t-il un routeur NAT installé ? Où... Peu-tu également donner quelques détails sur ton adressage IP (adresse LAN des machines émulées et adresse LAN des machines hôtes)
    • [^] # Re: script au démarrage de qemu

      Posté par  . Évalué à 2.

      A priori, tes machines sont reliées par réseau local et sortent ensuite pour aller sur internet


      oui tout à fait. Il y a une sorte de boitier linux qui fait passerelle, pare feu, dhcp etc sur ce réseau. On peut utiliser des adresses ip statiques ou dynamiques, les adresses sont de la forme 192.168.0.*** . En laissant un client dhcp dans la machine émulée, elle a bien internet. En le laissant également et en bidouillant avec les modprobe bridge, tun et les scripts qui vont bien, on arrive parfois à avoir le réseau local, mais cela le vire de la machine hôte. J'aurais bien aimé avoir soit internet soit le réseau local (idéalement les 2) aussi simplement l'un que l'autre. Je n'arrive pas à comprendre que l'on puisse avoir le réseau internet facilement, et que cela pose autant de problème pour le réseau local. Bien entendu si on attribue une adresse ip manuellement dans la machine émulée, cela ne fonctionne pas non plus.

      Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

      • [^] # Re: script au démarrage de qemu

        Posté par  . Évalué à 1.

        Bon, alors, ce que tu dois faire, quand la machine émulée est démarrée :
        - arrêter ton firewall
        - créer un bridge avec :
        brctl addbr br0
        - ajouter les interfaces qui vont bien sur ton bridge :
        brctl addif br0 eth0
        brctl addif br0 tun0
        - virer la conf réseau de l'interface eth0 :
        ifconfig eth0 0.0.0.0 promisc up
        - récupérer une adresse IP pour ton bridge :
        dhclient br0
        - récupérer une adresse IP pour la machine émulée :
        /etc/init.d/networking restart (au prompt de la machine émulée)

        C'est ce que je fais... Après tu peux mettre tout ça dans un script (sauf la dernière commande) et le lancer en argument de ta ligne de commande qemu...

        Et là, ça devrait fonctionner...
        • [^] # Re: script au démarrage de qemu

          Posté par  . Évalué à 2.

          merci de tes explications, je regarderais cela à l'occasion. Mais cela ne me semble pas ultra-simple :(

          Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.