Mise en réseau pontée sans fil dans KVM. Pourquoi est-ce si compliqué?

8

J'utilise VirtualBox (et parfois VMWare) depuis des années et je n'ai jamais eu de problème avec les adaptateurs réseau virtuels, que ceux-ci soient câblés ou non.

J'ai également joué il y a quelque temps avec KVM dans une configuration filaire et, même si je devais modifier certains fichiers de configuration pour le faire fonctionner, je pouvais également créer un adaptateur ponté sans aucun problème majeur.

Aujourd'hui, j'ai décidé (à tort, semble-t-il) d'essayer d'utiliser KVM dans un ordinateur portable exécutant Ubuntu 13.10 et j'ai essayé de créer une machine virtuelle avec un réseau ponté sur une interface sans fil. C'était extrêmement douloureux de mettre cela en place.

Après avoir suivi tous les tutoriels que j'ai trouvés ( par exemple ) et avoir dû redémarrer mon ordinateur portable plusieurs fois pour rétablir la connexion, j'ai simplement abandonné et je suis retourné à mon ancien VirtualBox bien connu.

Et, en fait, la première chose que j'ai remarquée lorsque j'ai regardé la documentation officielle de KVM, c'est qu'ils découragent d'essayer de ponter un adaptateur sans fil car, selon eux :

La méthode présentée ici ne fonctionnera pas avec la plupart (tous?) Des pilotes sans fil, car ceux-ci ne prennent pas en charge le pontage.

Donc, ma question est:

  • Comment se fait-il qu'ils disent que la plupart des adaptateurs sans fil ne prennent pas en charge le pontage si cela fonctionne dans VirtualBox et VMWare juste "prêt à l'emploi"?
  • Et quelle est la différence entre ces hyperviseurs qui le rend si compliqué en KVM, si cela fonctionne du tout?
Carles Sala
la source

Réponses:

10

Contexte de KVM

Je pense que cela est en partie dû aux attentes avec KVM. KVM est avant tout un produit serveur et non un produit de bureau pour la virtualisation. Il peut être utilisé dans l'une ou l'autre des applications, mais il est certainement plus adapté à une utilisation sur un serveur.

Je l'utilise sur 3+ hôtes au travail, chacun hébergeant 5-10 VM chacun, et il a fonctionné sans faille et est facile à gérer, et fonctionne simplement.

Question 1

Comment se fait-il qu'ils disent que la plupart des adaptateurs sans fil ne prennent pas en charge le pontage si cela fonctionne dans VirtualBox et VMWare juste "prêt à l'emploi"?

Je pense que vous tirez cette conclusion de ce texte de présentation sur le site Web de KVM .

AVERTISSEMENT: La méthode illustrée ici ne fonctionnera pas avec la plupart (tous?) Des pilotes sans fil, car ceux-ci ne prennent pas en charge le pontage.

Cette déclaration est ici parce que c'est généralement le cas. Je pense que c'est souvent la raison pour laquelle lorsque vous installez VirtualBox ou VMWare, il y a généralement des modules du noyau qui sont installés et ces produits fournissent leur propre habillage pour faciliter cela. Ces produits fonctionnent essentiellement autour de ces problèmes.

Je crois que ce problème est également un problème de pilote. Les pilotes pour le WiFi sous Linux sont toujours pâles par rapport à la prise en charge fournie par les pilotes Windows pour le même matériel. C'est juste une réalité de la vie.

REMARQUE: J'ai déjà eu des cartes réseau sans fil que je ne pouvais pas mettre en mode pont dans le passé également. J'ai généralement résolu le problème en utilisant VirtualBox ou en obtenant une carte réseau différente pour mon ordinateur portable.

Je soulignerai également que ni VirtualBox ni VMware ne pourraient le faire non plus, du moins pas avant des versions plus récentes. Voyez cela comme une preuve de la base de connaissances de VMware:

Si votre hôte possède une carte réseau sans fil, vous ne pouvez pas utiliser la mise en réseau pontée sur des hôtes Linux dans VMware Workstation 5 ou inférieur, VMware Server 1.x, toute version de GSX Server, tout hôte dans VMware Workstation 3 ou inférieur, ou dans VMware GSX Server 2 ou moins. Sous ces produits, si vous souhaitez exécuter des machines virtuelles sur un hôte qui utilise des adaptateurs Ethernet sans fil, vous devez configurer vos machines virtuelles pour utiliser la mise en réseau NAT ou hôte uniquement.

Source: utilisation d'un réseau ponté avec une carte réseau sans fil (760)

Question 2

Et quelle est la différence entre ces hyperviseurs qui le rend si compliqué en KVM, si cela fonctionne du tout?

Je ne peux pas vraiment faire la lumière sur cette question particulière, à part dire que si c'était facile, j'imagine que cette fonctionnalité serait activée. Je pense que le nœud du problème est lié à cette fonctionnalité nécessitant 3 groupes ou plus pour coordonner leurs efforts (fabrication de matériel, développement de pilotes, noyau Linux et KVM).

Ces situations sont souvent ce qui se produit lorsque vous avez besoin de plusieurs groupes pour travailler ensemble dans le monde open source (IMO)!

Puis-je le configurer ou quoi?

Vous pouvez configurer cela en suivant les instructions de l'un de ces 2 articles. La configuration nécessite l'utilisation d'un appareil TUN / TAP qui peut être mis en mode pont.

slm
la source
Droite. VirtualBox simule un «pont» vers le réseau sans fil. Cela ne fonctionnera jamais pour faire le pont avec un client sans fil, car l'AP rejettera les trames avec des adresses MAC qui ne lui sont pas associées.
Michael Hampton
5

KVM, comme tout autre logiciel Linux natif, essaie d'utiliser le code existant au lieu de réinventer la roue. C'est ce qui le rend tellement meilleur que toutes les autres solutions, en raison de la disponibilité des logiciels pour Linux et de la vitesse avec laquelle il est mis à jour et amélioré, mais cela lui donne également les limites des autres solutions.

Dans ce cas, le coupable est bridge-utils, ce qui fonctionne en définissant le NIC qui est ponté en mode promiscous. De nombreux pilotes de cartes réseau sans fil sous Linux ne prennent tout simplement pas en charge ce mode, mais ce n'est en aucun cas la faute de KVM.

Vous avez toujours la possibilité d'utiliser NAT ou OVS ou tout autre support KVM (et il existe de nombreuses technologies disponibles)

Dyasny
la source
"Le coupable est Bridge-Utils, qui fonctionne en définissant le NIC qui est ponté en mode promiscous." Y a-t-il une chance que vous puissiez créer un lien vers une ou plusieurs sources fiables à ce sujet, pour ajouter du poids à cette affirmation et / ou pour fournir des informations supplémentaires à quiconque souhaite en savoir plus? Merci :)
sampablokuper