Forum Linux.debian/ubuntu Proposition d'idée pour réaliser un faux réseau wifi local entre VM de VirtualBox

Posté par . Licence CC by-sa
Tags :
1
21
juin
2017

Bonjour

Je souhaite simuler une communication wifi entre plusieurs VM VirtualBox locales. Par exemple, dans le cadre de cours/TP, l'objectif est d'utiliser les vrais interfaces de configuration de chaque système d'exploitation émulé avec VirtualBox (Linux GUI ou CLI, Windows…).
Je sais que VirtualBox ne gère pas le Wifi.

Mon idée pour y parvenir s'appuie sur 2 remarques :
- Une VM de virtualBox peut capturer un périphérique USB et l'utiliser. Une VM peut donc capturer une clé USB wifi branchée sur la machine hôte et l'utiliser pour se connecter sur une borne wifi comme si la clé USB était branchée sur la VM.
- Le noyau linux propose un module (mac80211_hwsim) permettant de créer des cartes réseaux wifi. Un logiciel peut alors utiliser une de ses cartes et communiquer avec un autre logiciel utilisant une autre de ces cartes. On peut trouver un export de ce module ici, mais je ne sais pas si c'est la dernière version.

Ma solution au problème serait donc de modifier le module mac80211_hwsim afin que les cartes wifi crées soient vues comme des périphériques USB. Il suffirait ensuite de faire capturer chacune de ces fausses cartes USB par chacune des VM de Virtualbox.
- Ma 1ère question est de savoir si c'est faisable : Est-il possible de créer "facilement" un périphérique USB (Wifi) alors que rien n'est vraiment branché sur la machine ?
- Supposons que cela soit faisable ; Une fois capturées par VirtualBox, les "fausses" cartes pourront-elles toujours "communiquer" entre elles ? ou leur actions ne seront limitées qu'à l’intérieur de la VM ?

Ce système sera ensuite mis en place sur Live Raizo, un OS orienté simulation de réseaux et de systèmes, basé principalement sur Virtualbox et GNS3.

Je suis preneur de tout conseil, idée, remarque…

Merci

  • # Plus simple

    Posté par (page perso) . Évalué à 3.

    Tu as déjà un modèle de carte réseau virtuelle : virtio_net.
    Il te sera beaucoup plus simple de le modifier pourqu'il implémente une interface Wifi plutôt que Ethernet.

    ⚓ À g'Auch TOUTE! http://afdgauch.online.fr

    • [^] # Re: Plus simple

      Posté par . Évalué à 1.

      • Implémenter le protocole 802.11 ne me semble pas une mince affaire. C'est pour ça que je pensais plus à m'appuyer sur "mac80211_hwsim" où c'était déjà "fait".
      • Si j'utilise une version wifi de virtio_net, la VM de VirtualBox verra t'elle cette carte comme une carte wifi ou comme une carte ethernet ? (Le but étant que la VM la voit comme une carte wifi.)
      • Je viens de rechercher sur Internet votre idée : je n'ai rien trouvé qui part dans cette direction et qui pourrait m'aider à commencer
      • [^] # Re: Plus simple

        Posté par (page perso) . Évalué à 2.

        J'ai jamais dit que ça serait une mince affaire : tu souhaites faire quelque chose qui n'a intéressé personne jusqu'ici, ce ne sera jamais simple…

        ⚓ À g'Auch TOUTE! http://afdgauch.online.fr

        • [^] # Re: Plus simple

          Posté par . Évalué à 1.

          Je ne pense pas que l'objectif final n’intéresse personne : il existe déjà un simulateur réseau wifi (mininet-wifi) mais, à ma connaissance, les VMs disponibles ne sont que leur Linux. Il n'est pas possible d’expérimenter la configuration du Wifi sur d'autres OS (Windows) ou distribution linux. Par contre, mininet-wifi s'appuie aussi sur "mac80211_hwsim".

          Le fait de créer des cartes wifi USB, couplé à l'usage de VirtualBox, permettrait de se libérer du choix de l'OS des VMs. (Il faudra aussi résoudre le problème du driver.)

          Mais il faut d'abord que cela soit possible de créer des cartes Wifi USB sans devoir brancher une vrai clé. Si je trouve un code permettant de créer ces cartes, ensuite, je pourrai peut être interfacer ces fonctions d'entrée/sortie avec celles de "mac80211_hwsim".

          Mais ayant peu de connaissances dans ces domaines (USB, kernel), j'aurai besoin que quelqu'un m'indique si cela tient la route, ou si au moins une des étapes est techniquement infaisable.

Suivre le flux des commentaires

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