• # Howto bridge virtual tap against a virtual hub

    Posté par (site web personnel) . En réponse au message qemu en mode bridge. Évalué à 2.

    Bonjour,

    Il se trouve que j'ai eu la même envie que toi il y a de ça 2 semaines. Je me permets de te déposer ma recette.

    Tout d'abord récupérer une distrib à base de (K)Ubuntu 8.04 et installer ça sur un poste.

    Ensuite, procéder à la création d'un bridge br0 :

    root@yannig-desktop:/home/yannig# brctl addbr br0

    Procéder à la création d'une interface virtuel tap0 appartenant à l'utilisateur yannig :

    root@yannig-desktop:/home/yannig# tunctl -t tap0 -u yannig
    Set 'tap0' persistent and owned by uid 1000

    Assigner une adresse IP interne à ton bridge br0 :

    root@yannig-desktop:/home/yannig# ifconfig br0 192.168.1.10

    Installe le serveur dhcp (dhcp3-server) :
    root@yannig-desktop:/home/yannig# aptitude install dhcp3-server

    Edite le fichier dhcpd.conf par défaut et ajoutes y les lignes suivantes :

    subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.100 192.168.1.110;
    option routers 192.168.1.10;
    }

    Relance le serveur :

    root@yannig-desktop:/home/yannig# /etc/init.d/dhcp3-server restart
    * Stopping DHCP server dhcpd3 [fail]
    * Starting DHCP server dhcpd3 [ OK ]

    Ensuite, ajoute ton interface virtuelle à ton bridge br0 et passe là en mode promisc :

    root@yannig-desktop:/home/yannig# brctl addif br0 tap0
    root@yannig-desktop:/home/yannig# ifconfig tap0 0.0.0.0 promisc up
    root@yannig-desktop:/home/yannig# brctl show
    bridge name bridge id STP enabled interfaces
    br0 8000.00ffcf80e9db no tap0

    Là, il ne te reste plus qu'à lancer ton qemu avec une image ISO quelconque (ici une damn small linux) :

    yannig@yannig-desktop:~$ sudo qemu -m 256 -cdrom ./Bureau/dsl-4.2.5.iso -boot d -net nic -net tap,ifname=tap0,script=no

    Et dans la machine virtuelle de vérifier que tout fonctionne bien en vérifiant l'adresse IP de ta machine et si tu arrives à pinguer ton routeur (aka ta machine principale).

    Ensuite, si tu veux générer de nouvelle interface, tu remplaces tap0 par tap1 dans les commandes du dessus.

    Bonne journée !

    Yannig