Ваш надежный
хостинг партнер
(495) 797-8-500

8-800-700 40 36

У Вас нет выбранных услуг.



Новости компании, технические статьи

Настройка Wi-Fi на виртуальной машине Vmware/Virtualbox (в образе Linux) 30.10.2017

Настройка Wi-Fi на виртуальной машине Vmware/Virtualbox (в образе Linux)

В данном материале мы рассмотрим достаточно распространенный вопрос, связанный с подключением Wi-Fi интерфейса в виртуальной среде Vmware и Virtualbox. Нередко у начинающих сисадминов, да и тех, что поопытнее, возникают сложности именно на этом этапе реализации сетевого доступа к образу установленной системы.

Сегодня все чаще для виртуализации рабочей, системной среды используются USB-девайсы в виде WiFi-карт. Это обусловлено тем, что нормально использовать встроенный WiFi-модуль в виртуальной машине практически невозможно. В данном случае речь идет не только о программно-железячной совместимости, но и о некоторых специфических аспектах работы Linux/Unix – систем с виртуальными машинами. Что же касается USB-модулей Wi-Fi, то здесь все достаточно просто и понятно, если речь идет о работе в образе ОС Windows – чтобы получить возможность настраивать WiFi-соединения в виртуальной среде Vmware или Virtualbox, вставляем USB-интерфейс в хостовый ПК и подключаем его к рабочей виртуальной среде. Далее в гостевой операционной системе определяется данный WiFi-модуль, последующая работа с которым происходит, как на обыкновенном ПК (установка драйверов, отладка и так далее).

В виртуальной среде Vmware-Player нужно выполнить определенные действия, чтобы подключить такой интерфейс. Открываем в основном меню раздел «Player», где выбираем пункт «Removable Devices» в списке предложенных устройств выбираем требуемую карту Wi-Fi после чего нажимаем кнопку «Соединение».

Сложности при установке и отладке WiFi-интерфейса под образами Linux

В Linux для настройки и правильной работы WiFi потребуется соответствующий драйвер, которого может не оказаться в системе. Чтобы выяснить какую карту сети использует оборудование, можно при посредством команды «lslci –nn» узнать ID устройства. Если карточка имеет USB-стандарт подключения, вводим команду «lsusb». Посредством данных команд консоль выведет список системных устройств с указанием их идентификаторов. Вот пример строки из командного вывода lsusb:

Bus 001 Device 002: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN

Как можно видеть, это Wi-Fi-интерфейс от производителя Realtek модели RTL8188CUS. Ее ID – это первая четверка шестнадцатеричных чисел 0bda:8176. Эти числа обозначают ID производителя, а последующие относятся к обозначению ID WiFi-карты. В нашем случае модель устройства мы уже знаем, а потому искать ее по ID нет необходимости. Большинство USB-драйверов и драйверов для внутренних карт производства Realtek находятся в firmware-realtek – пакете. Тем не менее, после того, как этот пакет установлен и подключена ваша USB-карта, беспроводной интерфейс может попросту не появиться. Поэтому лучше всего сразу, не теряя времени, отправиться на сайт производителя и скачать там драйвера для конкретной модели карты под Unix/Linux. В нашем случае в скачанном архиве можно найти исходный текст драйверов, сопроводительную документацию и установочный скрипт «install.sh». Запускаем полученный скрипт – после его запуска система скомпилирует модуль драйвера 8192cu, а затем инсталлирует его в Linux.

После этого мы сможем наконец увидеть в конфигурации беспроводной wlan0-интерфейс.

Инсталляция требуемых драйверов для работы с WiFi-модулем

Для настройки WiFi-сети можно использовать режим графической настройки в рамках Network-Manager, а также консольный режим, либо Wicd. Рассмотрим вариант отладки Wi-Fi в консольном варианте.

Чтобы настроить беспроводной интерфейс, вам потребуется пакет wireless_tools, в котором присутствуют такие необходимые утилиты как iwlist, iwconfig и другие. Также для поддержки WPA/WPA2 потребуется wpasupplicant - пакет. Эти два пакета обязательны к установке.

Настройка WiFi-карты

В первую очередь потребуется подключение беспроводного интерфейса с использованием команды «ifconfig wlan0 up». После ее выполнения можно провести сканирование доступных беспроводных сетей, воспользовавшись командой «iwlist wlan0 scan» («iwlist») станет доступной к исполнению системной командой только после того, как вы установите пакет wireless_tools).

vmwpc1:~# iwlist wlan0 scan

wlan0 Scan completed :

Cell 01 - Address: B8:A3:86:12:75:BA

ESSID:"Wi-Fi Net"

Protocol:IEEE 802.11bg

Mode:Master

Frequency:2.427 GHz (Channel 4)

Encryption key:on

Bit Rates:54 Mb/s

Extra:rsn_ie=30140100000fac020100000fac020100000fac020000

IE: IEEE 802.11i/WPA2 Version 1

Group Cipher : TKIP

Pairwise Ciphers (1) : TKIP

Authentication Suites (1) : PSK

Quality=93/100 Signal level=70/100

Cell 02 - Address: 1C:AF:F7:26:BD:C8

ESSID:"k-60-net"

Protocol:IEEE 802.11bgn

Mode:Master

Frequency:2.427 GHz (Channel 4)

Encryption key:on

Bit Rates:150 Mb/s

Extra:wpa_ie=dd160050f20101000050f20401000050f20401000050f20 2

IE: WPA Version 1

Group Cipher : CCMP

Pairwise Ciphers (1) : CCMP

Authentication Suites (1) : PSK

Extra:rsn_ie=30140100000fac040100000fac040100000fac020000

IE: IEEE 802.11i/WPA2 Version 1

Group Cipher : CCMP

Pairwise Ciphers (1) : CCMP

Authentication Suites (1) : PSK

Quality=100/100 Signal level=91/100

Насколько мы вид им, системе удалось обнаружить две сети беспроводного типа. В командном выводе также можно увидеть протоколы, каналы (частоты), задействованные сетевые идентификаторы (ESSID), а также уровень сигнала, шифровальные методы и т.п.

В файле «/etc/network/interfaces» хранится ключ доступа к пользовательской WiFi-сети, а потому настройки сети следует производить именно в нем. Важно, чтобы доступ к этому файлу был ограничен. Ограничить это можно посредством команды «chmod 0600 /etc/network/interfaces», которая определяет права на запись и чтение файла только для владельца файла, то есть root.

Перед вами пример /etc/network/interfaces:

# This file describes the network interfaces available on your system

# and how to activate them. For more information, see interfaces(5).

# The loopback network interface

auto lo

iface lo inet loopback

 

auto wlan0

iface wlan0 inet dhcp

wpa-ssid "k-60-net"

wpa-psk "dsqTtfsvsNyfiCsNMaga"

В данном случае wpa-psk отвечает за пароль для доступа к сети. Фраза может задаваться в ASCII-формате, а также в виде шестнадцатеричного числа на 64 бита, генерируемого wpa_passphrase.

В свою очередь wpa-ssid определяет идентификатор для беспроводной сети.

Можно создавать настройку сети WiFi-сети для wpa_supplicant и в отдельном config-файле. Не забываем указать его в /etc/network/interfaces.

Приведем простой пример подобного файла:

# This file describes the network interfaces available on your system

# and how to activate them. For more information, see interfaces(5).

# The loopback network interface

auto lo

iface lo inet loopback

 

auto wlan0

iface wlan0 inet dhcp

wpa-conf /etc/network/wpa_supp.conf

Как только вы настроите конфигурационные файлы, нужно будет включить интерфейс посредством ifup wlan0. Чтобы проверить состояние беспроводных интерфейсов, используем wpa_cli status:

Selected interface 'wlan0'

bssid=1c:af:f7:26:bd:c8

ssid=k-60-net

id=0

pairwise_cipher=CCMP

group_cipher=CCMP

key_mgmt=WPA2-PSK

wpa_state=COMPLETED

ip_address=192.168.0.10

Варианты настройки подключений с применением WEP вместо WPA2 приводить не будем, поскольку WEP сам по себе морально устаревает. Помимо прочего сегодня его достаточно легко взломать.

Решение распространенных проблем, возникших при подключении WiFi устройства

Отсутствует интерфейс

В данном случае потребуется проверить устройство на наличие его подключения к системе. Также нужно посмотреть показывает ли она lspi (исключая телефоны) или lsusb. Возможно, потребуется обновление usb ids и pci ids.

Далее проверяем, содержатся ли в dmesg какие-либо данные о загруженных драйверах. После того, как вы убедитесь в том, что в dmesg проблема отсутствует, а значит дело не в виртуальной машине, возможно, понадобится опробовать последний compat-wireless (в отдельных случаях может потребоваться прошивка). Проверяем наличие Linux-Wireless drivers в драйверах беспроводного типа.

Интерфейс присутствует, но ничего невозможно сделать

Необходимо внимательно почитать сообщения об ошибках. Если таковые отсутствуют, нужно запустить dmesg | tail , откуда, вполне вероятно, станет ясно, в какую сторону копать.

Одной из возможных причин отсутствия доступа к Wi-Fi-модулю может быть отсутствие прошивки. Также не помешает проверить rfkill и прочие переключатели «железа». Можно покопаться в BIOS.

Отсутствует режим наблюдения

  • STA-драйверы, включая Broadcom и Ralink, а также драйверы от других производителей не имеют поддержки режима наблюдения;
  • ndiswrapper не может поддерживать режим наблюдения;
  • Airodump-ng/Wireshark могут не показывать определенные пакеты. В данном случае необходимо проверить rfkill и прочие переключатели железа + BIOS.

Возврат к списку