Drahtloses Bridged Networking in KVM. Warum ist es so kompliziert?

8

Ich benutze VirtualBox (und manchmal VMWare) seit Jahren und hatte nie Probleme mit den virtuellen Netzwerkadaptern, egal ob die physischen verkabelt waren oder nicht.

Ich habe vor einiger Zeit auch mit KVM in einem kabelgebundenen Setup gespielt und obwohl ich einige Konfigurationsdateien bearbeiten musste, um es zum Laufen zu bringen, konnte ich auch einen überbrückten Adapter ohne größere Probleme erstellen.

Heute habe ich mich (zu Unrecht, wie es scheint) entschlossen, KVM in einem Laptop mit Ubuntu 13.10 zu verwenden, und versucht, eine virtuelle Maschine mit überbrücktem Netzwerk über eine drahtlose Schnittstelle zu erstellen. Es war äußerst schmerzhaft, dies einzurichten.

Nachdem ich alle Tutorials befolgt hatte, die ich gefunden hatte ( zum Beispiel ) und meinen Laptop mehrmals neu starten musste, um die Verbindung wiederherzustellen, gab ich einfach auf und kehrte zu meiner alten bekannten VirtualBox zurück.

Und das erste, was mir auffiel, als ich mir die offizielle KVM-Dokumentation ansah, war, dass sie davon abraten, einen drahtlosen Adapter zu überbrücken, da ihnen zufolge :

Die hier gezeigte Methode funktioniert nicht mit den meisten (allen?) Wireless-Treibern, da diese kein Bridging unterstützen.

Meine Frage lautet also:

  • Wie kommt es, dass die meisten drahtlosen Adapter kein Bridging unterstützen, wenn es in VirtualBox und VMWare nur "out-of-the-box" funktioniert?
  • Und was ist der Unterschied zwischen diesen Hypervisoren, der es in KVM so kompliziert macht, wenn es überhaupt funktioniert?
Carles Sala
quelle

Antworten:

10

Hintergrund zu KVM

Ich denke, das liegt teilweise an den Erwartungen bei KVM. KVM ist in erster Linie ein Serverprodukt und kein Desktopprodukt für die Virtualisierung. Es kann in beiden Anwendungen verwendet werden, ist aber definitiv besser für die Verwendung auf einem Server geeignet.

Ich verwende es auf 3+ Hosts bei der Arbeit, wobei jedes 5-10 VMs pro Stück hostet. Es läuft einwandfrei und ist einfach zu verwalten und funktioniert im Grunde nur.

Frage 1

Wie kommt es, dass die meisten drahtlosen Adapter kein Bridging unterstützen, wenn es in VirtualBox und VMWare nur "out-of-the-box" funktioniert?

Ich glaube, Sie ziehen diese Schlussfolgerung aus diesem Klappentext auf der KVM-Website .

WARNUNG: Die hier gezeigte Methode funktioniert nicht mit den meisten (allen?) Wireless-Treibern, da diese kein Bridging unterstützen.

Diese Aussage ist hier, weil es normalerweise der Fall ist. Ich glaube, dies ist oft der Grund, warum bei der Installation von VirtualBox oder VMWare normalerweise Kernelmodule installiert werden und diese Produkte ihre eigene Umhüllung bereitstellen, um dies zu vereinfachen. Diese Produkte umgehen im Wesentlichen diese Probleme.

Ich glaube, dieses Problem ist auch ein Treiberproblem. Die Treiber für WiFi unter Linux verblassen immer noch im Vergleich zu der Unterstützung, die die Windows-Treiber für dieselbe Hardware bieten. Das ist nur eine Tatsache des Lebens.

HINWEIS: Ich hatte in der Vergangenheit drahtlose Netzwerkkarten, die ich in der Vergangenheit auch nicht in den Bridge-Modus versetzen konnte. Normalerweise habe ich das Problem umgangen, indem ich entweder VirtualBox verwendet oder eine andere Netzwerkkarte für meinen Laptop besorgt habe.

Ich werde auch hervorheben, dass weder VirtualBox noch VMware dies tun können, zumindest nicht bis zu neueren Versionen. Sehen Sie dies als Beweis aus VMware's KB:

Wenn Ihr Host über einen drahtlosen Netzwerkadapter verfügt, können Sie auf Linux-Hosts in VMware Workstation 5 oder niedriger, VMware Server 1.x, einer beliebigen Version von GSX Server, Hosts in VMware Workstation 3 oder niedriger oder in VMware GSX Server kein Bridged Networking verwenden 2 oder niedriger. Wenn Sie unter diesen Produkten virtuelle Maschinen auf einem Host ausführen möchten, der drahtlose Ethernet-Adapter verwendet, müssen Sie Ihre virtuellen Maschinen für die Verwendung von NAT- oder Nur-Host-Netzwerken konfigurieren.

Quelle: Verwenden eines Bridged-Netzwerks mit einer drahtlosen Netzwerkkarte (760)

Frage 2

Und was ist der Unterschied zwischen diesen Hypervisoren, der es in KVM so kompliziert macht, wenn es überhaupt funktioniert?

Ich kann diese spezielle Frage nicht wirklich beleuchten, außer zu sagen, dass ich mir vorstellen würde, dass diese Funktion aktiviert wäre, wenn es einfach wäre. Ich denke, der Kern des Problems hat mit dieser Funktion zu tun, bei der drei oder mehr Gruppen ihre Bemühungen koordinieren müssen (Hardware-Hersteller, Treiberentwickler, Linux-Kernel und KVM).

Diese Situationen sind häufig die Folge, wenn Sie mehrere Gruppen benötigen, um in der Open Source-Welt (IMO) zusammenzuarbeiten!

Kann ich es einrichten oder was?

Sie können dies gemäß den Anweisungen in einem dieser beiden Artikel einrichten. Das Setup erfordert die Verwendung eines TUN / TAP-Geräts, das in den Bridge-Modus versetzt werden kann.

slm
quelle
Recht. VirtualBox fälscht eine "Brücke" zum drahtlosen Netzwerk. Es wird niemals funktionieren, eine Brücke zu einem drahtlosen Client zu schlagen, da der AP Frames mit MAC-Adressen ablehnt, die ihm nicht zugeordnet sind.
Michael Hampton
5

KVM versucht, wie jede andere native Linux-Software, vorhandenen Code zu verwenden, anstatt das Rad neu zu erfinden. Dies macht es aufgrund der Verfügbarkeit von Software für Linux und der Geschwindigkeit, mit der es aktualisiert und verbessert wird, so viel besser als alle anderen Lösungen, aber es gibt ihm auch die Einschränkungen der anderen Lösungen.

In diesem Fall ist der Schuldige bridge-utils, der die NIC, die überbrückt wird, in den Promiscous-Modus versetzt. Viele Treiber der drahtlosen Netzwerkkarten unter Linux unterstützen diesen Modus einfach nicht, aber das ist keineswegs die Schuld von KVM.

Sie haben weiterhin die Möglichkeit, NAT oder OVS oder alles andere zu verwenden, was KVM unterstützt (und es stehen zahlreiche Technologien zur Verfügung).

dyasny
quelle
"Der Schuldige sind Bridge-Utils, die die NIC, die überbrückt wird, in den Promiscous-Modus versetzen." Gibt es eine Möglichkeit, auf eine oder mehrere seriöse Quellen zu verweisen, um dieser Behauptung Gewicht zu verleihen und / oder um weitere Informationen für alle bereitzustellen, die mehr wissen möchten? Danke :)
sampablokuper