Forum général.cherche-logiciel qemu: réseau

Posté par  .
Étiquettes : aucune
0
21
juin
2006
Hello,
J'aimerai essayer un BSD dans qemu. Pour cela, j'ai téléchargé un freebsd net install (26mb) qui permet de compléter une installation par FTP.

J'ai créé une image de 4G pour cela, et voici comment je lance le truc:

qemu -kernel-kqemu -k fr -cdrom6.1-RELEASE-i386-bootonly.iso -hda freebsd.img -boot d -net user

Une fois à l'installation, je peux partitionner etc., mais il n'est pas capable de récupérer les données par FTP.
Pourtant, à la config. de la carte réseau, je vois bien le nouveau domaine créé en 10.0.x.y et une IP est bien attribuée par DHCP.

Y a-t-il autre chose à ajouter ? J'ai regardé un peu la doc mais je m'y perds...

Merci !
  • # network emulation

    Posté par  . Évalué à 0.

    pour que ton emulation puisse utiliser le reseau, il faut que tu active l'emulation reseau lorsque tu lance lance qemu.

    il faut utiliser l'option -net dans la ligne de cmd.

    voici le lien de la documentation qui explique comment t'y prendre
    http://fabrice.bellard.free.fr/qemu/qemu-doc.html#TOC20
    • [^] # Re: network emulation

      Posté par  . Évalué à 2.

      desole je n'avais pas bien lu ta commande. tu utilise bien l'option -net.
      as-tu essayer l'interface TAP de QEMU ?
  • # Probleme de -net

    Posté par  (site web personnel) . Évalué à 2.

    Je n'ai moi non plus jamais réussi à avoir un réseau fonctionnel avec -net user.

    J'ai du utiliser la solution de tun/tap.
    • [^] # Re: Probleme de -net

      Posté par  . Évalué à 1.

      Oui j'y ai jeté un oeil mais je ne comprends pas tout, je ne connais pas les subtilités de tun/tap

      Il y a http://compsoc.dur.ac.uk/~djw/qemu.html qui propose une solution.
      Mais qu'est ce que cette interface br0 ? elle fait un "pont" entre eth0 et le reste ?

      J'ai également trouvé ce post http://www.dad-answers.com/qemu-forum/viewtopic.php?t=691 qui doit permettre de faire communiquer des machines émulées par le réseau.

      Merci !
      • [^] # Re: Probleme de -net

        Posté par  (site web personnel) . Évalué à 2.

        Tun/tap est une interface virtuelle (tun au niveau ip et tap au niveau ethernet). C'est comme si ton hote avait une carte réseau branchée directement sur celle de ton invité (qemu). Pour que cela marche il te faut le module noyau kivabien, si c'est toi qui a compilé ton noyau, il faudra probablement le recompiler. Sinon modprobe tun devrait suffire.

        Une fois que tu as lancé qemu avec tun/tap tu as 2 cartes réseau, tun0 vers qemu et eth0 vers ton réseau existant. Si tu veux accéder a l'extérieur depuis qemu tu as le choix entre : faire un bridge et faire un routeur.

        Le bridge est décrit dans ta premiere url, c'est un pont. Il consiste à considérer les 2 interfaces comme une seule (br0) et a switcher les paquets entre les 2 au besoin.

        Le routeur consiste a utiliser un sous réseau différent sur le qemu. Genre 10.0.0.1/24 pour tun0 10.0.0.2/24 pour eth0 dans le qemu et a router (avec ou sans modification) les paquets vers eth0. Ceci se fait avec les commandes :
        echo 1 > /proc/sys/net/ipv4/ip_forward
        sbin/iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/24 -j MASQUERADE
  • # Solution

    Posté par  . Évalué à -1.

    utilisez vmplayer, qui n'est pas libre, mais gratuit.
    Le soucis, c'est à toi de te créer le vmdk et accessoirement ce n'est pas libre
  • # moi j'ai rien besoin de faire...

    Posté par  (site web personnel) . Évalué à 1.

    sou smandriva :
    qemu -kernel-kqemu -hda ce que tu veux

    et hop... y'a le réseau sans que j'ai besoin de rien faire.

    surprenant... mais c comme ca :)
  • # iptables

    Posté par  . Évalué à 1.

    Pour que cela fontionne, avec le mode -net user (par défault), il faut rajouter une règle iptable avant de lancer qemu :

    echo 1 > /proc/sys/net/ipv4/ip_forward

    /sbin/iptables -A INPUT -i ! eth0 -j ACCEPT
    /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

    Evidement, il faut modifier eth0 par le nom de l'interface connectée à internet.
    • [^] # Re: iptables

      Posté par  . Évalué à 1.

      Quand je fais ceci, FreeBSD ne me propose pas de eth0 ou autre interface, à part un truc série 115000 bauds et 2 trucs du genre...

Suivre le flux des commentaires

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