Rede sem fio em ponte no KVM. Por que isso é tão complicado?

8

Estou usando o VirtualBox (e algumas vezes o VMWare) há anos e nunca tive nenhum problema com os adaptadores de rede virtual, não importando se os físicos estavam com ou sem fio.

Eu também joguei há algum tempo com o KVM em uma configuração com fio e, embora eu tivesse que editar alguns arquivos de configuração para fazê-lo funcionar, eu também poderia criar um adaptador em ponte sem maiores problemas.

Hoje eu decidi (erroneamente, parece) tentar usar o KVM em um laptop rodando o Ubuntu 13.10 e tentei criar uma máquina virtual com rede interligada através de uma interface sem fio. Foi extremamente doloroso configurar isso.

Depois de seguir todos os tutoriais que encontrei ( por exemplo ) e ter que reiniciar o laptop várias vezes para obter a conexão de volta eu desisti e voltei para o meu velho conhecido VirtualBox.

E, na verdade, a primeira coisa que notei quando examinei a documentação oficial do KVM foi que eles desencorajavam a tentativa de conectar um adaptador sem fio, já que, de acordo com eles :

The here shown method, will not work with most(all?) wireless drivers, as these do not support bridging.

Então, minha pergunta é:

  • Por que eles dizem que a maioria dos adaptadores sem fio não suporta bridging se funciona no VirtualBox e VMWare apenas "out-of-the-box"?
  • E qual é a diferença entre esses hypervisors que o torna tão complicado no KVM, se funciona?
por Carles Sala 09.03.2014 / 21:15

2 respostas

9

Plano de fundo no KVM

Acho que isso se deve em parte às expectativas com o KVM. O KVM é, antes de tudo, um produto de servidor e não um produto de desktop para virtualização. Ele pode ser usado em qualquer aplicativo, mas é definitivamente mais adequado para ser usado em um servidor.

Eu uso em 3+ hosts no trabalho, cada um hospedando de 5 a 10 VMs cada, e ele é executado sem problemas e é fácil de gerenciar, e basicamente funciona.

Pergunta # 1

How come they say that most wireless adapters do not support bridging if it works in VirtualBox and VMWare just "out-of-the-box"?

Acredito que você esteja tirando esta conclusão desta sinopse no site do KVM .

WARNING: The here shown method, will not work with most(all?) wireless drivers, as these do not support bridging.

Esta declaração está aqui porque é tipicamente o caso. Eu acredito que muitas vezes é por isso que quando você instala o VirtualBox ou o VMWare, normalmente há módulos de kernel que estão sendo instalados e esses produtos fornecem sua própria embalagem para facilitar isso. Esses produtos estão essencialmente trabalhando em torno desses problemas.

Eu acredito que esse problema também é um problema de driver. Os drivers para WiFi no Linux ainda são insignificantes em comparação com o suporte fornecido pelos drivers do Windows para o mesmo hardware. Isso é apenas um fato da vida.

OBSERVAÇÃO: já tive NICs sem fio que não consegui colocar no modo bridge no passado também. Eu normalmente trabalhei em torno do problema usando o VirtualBox ou obtendo um NIC diferente para o meu laptop.

Também vou destacar que nem o VirtualBox nem o VMware poderiam fazer isso, pelo menos não até versões mais recentes. Veja isso como uma evidência da KB da VMware:

If your host has a wireless network adapter, you cannot use bridged networking on Linux hosts in VMware Workstation 5 or lower, VMware Server 1.x, any version of GSX Server, any hosts in VMware Workstation 3 or lower, or in VMware GSX Server 2 or lower. Under these products, if you want to run virtual machines on a host that uses wireless Ethernet adapters, you must configure your virtual machines to use NAT or host-only networking.

Fonte: Usando rede em ponte com uma placa de rede sem fio (760)

Pergunta # 2

And what's the difference between these hypervisors that makes it so complicated in KVM, if it works at all?

Eu não posso realmente esclarecer essa questão em particular, além de dizer que, se fosse fácil, eu imagino que esse recurso estaria habilitado. Eu acho que o cerne da questão tem a ver com esse recurso que requer três ou mais grupos para coordenar seus esforços (manufatura de hardware, desenvolvimento de driver, kernel do Linux, & KVM).

Essas situações geralmente são o resultado quando você precisa de vários grupos para trabalhar juntos no mundo do código aberto (IMO)!

Então, posso configurá-lo ou o quê?

Você pode configurá-lo seguindo as instruções de um desses dois artigos. A configuração requer o uso de um dispositivo TUN / TAP que pode ser colocado no modo bridge.

por 09.03.2014 / 22:27
4

O KVM, como qualquer outro software nativo do Linux, tenta usar o código existente em vez de reinventar a roda. Isso é o que o torna muito melhor do que todas as outras soluções, devido à disponibilidade de software para o Linux e à velocidade com que ele é atualizado e aprimorado, mas isso também lhe dá as limitações das outras soluções.

Nesse caso, o culpado é bridge-utils , que funciona configurando a NIC que está sendo conectada em modo promíscuo. Muitos dos drivers das placas de rede sem fio no Linux simplesmente não suportam esse modo, mas isso não é culpa da KVM.

Você ainda tem a opção de usar NAT ou OVS ou qualquer outra coisa que o KVM suporte (e há muitas tecnologias disponíveis)

    
por 10.03.2014 / 05:26