Беспроводные мостовые сети в KVM. Почему это так сложно?

8

Я использую VirtualBox (и иногда VMWare) в течение многих лет, и у меня никогда не было проблем с виртуальными сетевыми адаптерами, независимо от того, были ли физические подключены или нет.

Я также некоторое время назад играл с KVM в проводной установке и, хотя мне пришлось редактировать некоторые файлы конфигурации, чтобы заставить его работать, я мог также создать мостовой адаптер без каких-либо серьезных проблем.

Сегодня я решил (кажется, ошибочно) попытаться использовать KVM на ноутбуке с Ubuntu 13.10 и попытался создать виртуальную машину с мостовой сетью через беспроводной интерфейс. Было очень больно это настраивать.

После изучения всех учебных пособий, которые я нашел ( например ), и необходимости перезагрузить свой ноутбук несколько раз, чтобы восстановить соединение, я просто сдался и вернулся к своему старому известному VirtualBox.

И, собственно, первое, что я заметил, когда заглянул в официальную документацию KVM, было то, что они отговаривают пытаться подключить беспроводной адаптер, поскольку, по их словам :

Показанный здесь метод не будет работать с большинством (всеми?) Беспроводными драйверами, поскольку они не поддерживают мостовое соединение.

Итак, мой вопрос:

  • Почему они говорят, что большинство беспроводных адаптеров не поддерживают мостовые соединения, если он работает в VirtualBox и VMWare просто «из коробки»?
  • И какая разница между этими гипервизорами, которая делает это настолько сложным в KVM, если он вообще работает?
Карлес Сала
источник

Ответы:

10

Фон на KVM

Я думаю, что это отчасти связано с ожиданиями с KVM. KVM - это прежде всего серверный продукт, а не настольный продукт для виртуализации. Его можно использовать в любом приложении, но он определенно больше подходит для использования на сервере.

Я использую его на 3+ хостах на работе, на каждом из которых по 5-10 виртуальных машин, и он работает без нареканий, прост в управлении и в основном просто работает.

Вопрос 1

Почему они говорят, что большинство беспроводных адаптеров не поддерживают мостовые соединения, если он работает в VirtualBox и VMWare просто «из коробки»?

Я полагаю, что вы делаете этот вывод из этой рекламы на сайте KVM .

ПРЕДУПРЕЖДЕНИЕ. Показанный здесь метод не будет работать с большинством (всеми?) Беспроводных драйверов, поскольку они не поддерживают мостовое соединение.

Это утверждение здесь, потому что это обычно так. Я полагаю, что именно поэтому при установке VirtualBox или VMWare обычно устанавливаются модули ядра, и эти продукты предоставляют свои собственные возможности, чтобы облегчить процесс. Эти продукты по существу работают вокруг этих проблем.

Я считаю, что эта проблема также является проблемой водителя. Драйверы для WiFi под Linux по-прежнему меркнут по сравнению с поддержкой, предоставляемой драйверами Windows для того же оборудования. Это просто факт жизни.

ПРИМЕЧАНИЕ. В прошлом у меня были беспроводные сетевые адаптеры, которые раньше я тоже не мог перевести в режим моста. Обычно я решал эту проблему, используя VirtualBox или приобретая другую сетевую карту для своего ноутбука.

Я также подчеркну, что ни VirtualBox, ни VMware не могли этого сделать, по крайней мере, до более поздних версий. Посмотрите на это как на подтверждение из базы знаний VMware:

Если на вашем хосте есть адаптер беспроводной сети, вы не можете использовать мостовую сеть на хостах Linux в VMware Workstation 5 или ниже, VMware Server 1.x, любой версии GSX Server, любых хостах в VMware Workstation 3 или ниже или в VMware GSX Server. 2 или ниже. Под этими продуктами, если вы хотите запускать виртуальные машины на хосте, который использует беспроводные адаптеры Ethernet, вы должны сконфигурировать ваши виртуальные машины для использования NAT или сети только на хосте.

Источник: использование сетевого моста с беспроводной сетевой платой (760)

Вопрос 2

И какая разница между этими гипервизорами, которая делает это настолько сложным в KVM, если он вообще работает?

Я не могу пролить свет на этот конкретный вопрос, кроме как сказать, что если бы это было легко, я думаю, что эта функция была бы включена. Я думаю, что суть проблемы связана с этой функцией, требующей, чтобы 3 или более групп координировали свои усилия (производство аппаратного обеспечения, разработка драйверов, ядро ​​Linux и KVM).

Эти ситуации часто приводят к тому, что вам нужно несколько групп для совместной работы в мире открытого исходного кода (IMO)!

Так я могу это настроить или как?

Вы можете установить это, следуя указаниям любой из этих 2 статей. Настройка требует использования устройства TUN / TAP, которое можно перевести в режим моста.

SLM
источник
Правильно. VirtualBox подделывает «мост» к беспроводной сети. Он никогда не будет работать для фактического подключения к беспроводному клиенту, потому что точка доступа будет отклонять кадры с MAC-адресами, которые не связаны с ним.
Майкл Хэмптон
5

KVM, как и любое другое родное программное обеспечение Linux, пытается использовать существующий код, а не изобретать велосипед. Это то, что делает его намного лучше, чем все другие решения, из-за доступности программного обеспечения для Linux и скорости, с которой оно обновляется и улучшается, но это также дает ему ограничения других решений.

В этом случае виновник bridge-utils, который работает, устанавливая NIC, который соединяется в смешанном режиме. Многие драйверы беспроводных сетевых адаптеров под Linux просто не поддерживают этот режим, но это ни в коем случае не вина KVM.

У вас все еще есть возможность использовать NAT или OVS или что-либо еще, поддерживаемое KVM (и есть много доступных технологий)

dyasny
источник
«виновник - утилиты-бриджи, которые работают, устанавливая сетевой адаптер, который соединяется в смешанном режиме». Есть ли шанс, что вы можете сослаться на один или несколько авторитетных источников по этому поводу, чтобы придать вес этой претензии и / или обеспечить дополнительное чтение для тех, кто хочет узнать больше? Спасибо :)
Сампаблокупер