[Из песочницы] Простая, доступная и полезная Wi-Fi лаборатория. Сделай сам

Если вы серьезно занимаетесь Wi-Fi, то у вас точно есть своё лабораторное оборудование. Без него, на мой взгляд, не обойтись. Если вы собираетесь серьезно заниматься Wi-Fi, то рано или поздно, у вас возникнет необходимость обзавестись лабораторией. В этой статье я расскажу, как сделать это с минимальными затратами и для каких задач лаборатория может быть необходима, на реальных примерах.

image

Более 40% (по информации statista.com) корпоративного Wi-Fi занимает компания Cisco. Вероятно, вам потребуется именно это железо. Для начала нужно будет купить 2–3 точки доступа второй свежести. Например, AIR-CAP1702I-R-K9. Эти точки с поддержкой 802.11ac, но уже не такие дорогие, как свежие. Для каких-то задач подойдут даже AIR-CAP1602I-R-K9. Более старые брать не рекомендую. Зачастую, требуется поддержка точек свежим софтом, который нужно испытать, а свежий софт старые точки не поддерживает. Например, на 8.6 уже даже 1602 не заведутся. Если денег достаточно, то можно взять свежие точки с Mobility Express, типа 1852 или 2802. Тогда вам контроллер может и не понадобится первое время, но функционал реального контроллера все же будет побогаче, и позже он пригодится. Понять разницу можно, прочитав config guide для того и другого.

Где купить?


Купить можно у знакомого дистрибьютора с максимальной скидкой, либо по NFR цене, если вы работаете в интеграторе-партнере. Хотя руководство интегратора не всегда любит одобрять покупку чего-то «для себя», даже по NFR цене. Если вам нужно найти железо по минимальной цене и за наличку, то ваш выбор Avito или ebay. Там бывают очень интересные предложения. Регуляторный домен точки доступа значения не имеет, так как на контроллере вы выставите нужный вам RU. При покупке у нас, в России, я советую записать все контакты продавца, сделать скрин объявления, так как малая вероятность того, что точки украли некие злые монтажники, она есть. Когда мы запускали один крупный объект, 10 из 200 точек доступа были украдены и найдены в недалеком ломбарде через Avito.

Итак, вы приобрели точки доступа. Если вы купили автономные точки, то перевести их в контроллерный (CAPWAP) режим (и наоборот) дело десяти минут, умеючи. Гуглится по запросу типа: Cisco 1702 lightweight to autonomous. Если у вас уже есть свободные точки, например, из ЗИП комплекта, вам повезло. Можно сразу переходить к следующему этапу — контроллеру.

image

У Cisco есть 2 основных типа контроллеров, железный и виртуальный. Виртуальный работает только в режиме FlexConnect и это накладывает ряд ограничений, но во многих случаях его достаточно. У него есть одно неоспоримое преимущество, он условно-бесплатный. Точнее, полнофункциональная демо лицензия на почти 3 месяца активируется сразу после установки. 3 месяца это достаточный срок для испытаний. Если вам его нужно продлить, просто переустановите контроллер (сохранив конфиг) или еще проще, откатитесь на заранее созданный снимок виртуальной машины ;) опять же не забыв сохранить конфиг. Железный контроллер типа 2504 можно купить недорого в тех же местах где и точки. Сейчас их много на рынке.

Для установки виртуального контроллера вам потребуется:


1. Сервер где будет крутиться виртуальная машина. Для задач лабораторного контроллера подойдет любой ноутбук с 64 битным процессором, поддерживающим VT-x. Например, у меня это бывалый Thinkpad X220 на i5. Если у вас на работе в доступе есть могучий блейд с ESXi, конечно же уместно воспользоваться его мощностями. В общем, выбирайте из имеющегося.

2. ПО виртуализации типа VMware Workstation (немножко платный) или VirtualBox (даром отдают). Какой выбрать, решать вам. По моему опыту, OVA шаблон с виртуальным контроллером развернулся и заработал не на всех версиях VirtualBox. Заработал только на более старой, 5.0.16 и то не сразу. На 5.1.8 не заработал. На 5.2.6 не заводится конкретный OVA с 8.5 версией контроллера. На VMware Workstation завелся сразу и работал как часы, так что могу рекомендовать его.

3. OVA пакет с архивом всего необходимого, в том числе образа контролера. Официально качается на cisco.com при наличии доступа. Например, стабильный 8.0.152.0, доступен для скачивания просто так (если вы зарегистрированы на cisco.com). Если доступа к интересующему софту нет, но есть партнерство, то можно запросить, по дружбе. Если ни того ни другого, проявите смекалку.

rrxrlwoutoomlfm32qp-prg5hpi.png

Не буду подробно с картинками рассказывать, как развернуть OVA, делается это как обычно. Открываете .ova, указываете где хранить машину и вперед…

xssdwkiamv6sm0welzo-gnjgfp0.png

Далее все пройдёт автоматически и скоро вы увидите, что пошла загрузка контроллера.

2egjqrgq2skwzc3xhlxfpamrxom.png

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

Параметры
System Name [Cisco_2c:4d:2f] (31 characters max): vWLC
Enter Administrative User Name (24 characters max): wlcadmin
Enter Administrative Password (3 to 24 characters): ********
Re-enter Administrative Password                 : ********
Service Interface IP Address Configuration [static][DHCP]: static 172.16.0.8
Management Interface IP Address: 10.8.8.2
Management Interface Netmask: 255.255.255.0
Management Interface Default Router: 10.8.8.1
Management Interface VLAN Identifier (0 = untagged): 0
Management Interface DHCP Server IP Address: 10.8.8.1
Enable HA [yes][NO]: NO
Virtual Gateway IP Address: 198.51.100.108
Mobility/RF Group Name: LAB
Network Name (SSID): TEST
Configure DHCP Bridging Mode [yes][NO]: no
Allow Static IP Addresses [YES][no]: no
Configure a RADIUS Server now? [YES][no]: no
Warning! The default WLAN security policy requires a RADIUS server.
Please see documentation for more details.
Enter Country Code list (enter 'help' for a list of countries) [RU]: RU
Enable 802.11b Network [YES][no]: 
Enable 802.11a Network [YES][no]: 
Enable Auto-RF [YES][no]: yes
Configure a NTP server now? [YES][no]: 10.8.8.1
Configure the system time now? [YES][no]: no
Warning! No AP will come up unless the time is set.
Please see documentation for more details.
Configuration correct? If yes, system will save it and reset. [yes][NO]: yes
Configuration saved!
Resetting system with new configuration...


После чего контроллер перезагрузится и заработает.
В консоли VMware будет доступ к консоли, через браузер по указанному Management Interface IP Address будет https доступ на WEB, что удобнее. Также можно по ssh.

a2xn7qk-9g346v8j-up8r4m62ti.png

Если веб доступа нет, вероятно, вы не к тому сетевому адаптеру привязали виртуальный.
Edit — Virtual Network Editor решит этот вопрос.

Далее все как обычно с контроллером, за исключением того, что точки доступа, чтобы заработать, должны быть переведены в режим FlexConnect. И не забудьте активировать лицензию, иначе вы будете долго гадать, почему же не устанавливается DTLS туннель!

Несколько примеров, для чего полезна лаборатория


Проверка нестандартных решений

Например, на одном заводе нужно было подключить ряд сетевых устройств на подвижном кране, через Wi-Fi. В качестве клиента использовалась точка доступа Cisco 1532E в WGB автономном режиме. Этот режим хорош тем, что позволяет гибко настраивать параметры роуминга, а устройства, подключенные через WGB видны по своим MAC в сети. Заказчик хотел убедиться в коротком времени роуминга в таком режиме.
Одну точку я перевел в автономный WGB режим и на длинном шнурке носил её в офисе, перемещаясь между висящими на потолке двумя контроллерными точками. Ноутбук был подключен к точке тем самым шнурком, поэтому в логах, по мере перемещения точки, появлялись подобные записи, которые однозначно позволяли судить о времени роуминга.

лог
*Mar 1 01:39:34.265: %DOT11-4-UPLINK_DOWN: Interface Dot11Radio1, parent lost: Too many retries
*Mar 1 01:39:34.265: E76D58EB-1 Uplink: Lost AP, Too many retries
*Mar 1 01:39:34.265: E76D597D-1 Uplink: Setting No. of retries in channel scan to 2
*Mar 1 01:39:34.265: E76D5985-1 Uplink: Wait for driver to stop
*Mar 1 01:39:34.265: E76D5FBB-1 Uplink: Enabling active scan
*Mar 1 01:39:34.265: E76D5FCA-1 Uplink: Not busy, scan all channels
*Mar 1 01:39:34.265: E76D5FD2-1 Uplink: Scanning
*Mar 1 01:39:34.313: E76E2161-1 Uplink: Rcvd response from 003a.7db3.c54f channel 161 538
*Mar 1 01:39:34.325: E76E231F-1 Uplink: An AP responded, try to assoc to the best one
*Mar 1 01:39:34.341: E76E82D7-1 Uplink: dot11_uplink_scan_done: rsnie_accept returns 0x0 key_mgmt 0xFAC02 encrypt_type 0x200
*Mar 1 01:39:34.341: E76E82ED-1 Uplink: ssid GMXM-C auth open
*Mar 1 01:39:34.341: E76E82F4-1 Uplink: try 003a.7db3.c54f, enc 200 key 4, priv 1, eap 0
*Mar 1 01:39:34.341: E76E82FE-1 Uplink: Authenticating
*Mar 1 01:39:34.341: E76E855C-1 Uplink: Associating
*Mar 1 01:39:34.341: E76E8DEB-1 Uplink: EAP authenticating
*Mar 1 01:39:34.353: %DOT11-4-UPLINK_ESTABLISHED: Interface Dot11Radio1, Associated To AP GMXM-1702i-1 003a.7db3.c54f [None WPAv2 PSK]
*Mar 1 01:39:34.353: E76EB2C7-1 Uplink: Done


В данном примере 353–265=88 мс было потрачено на сканирование, выбор и переключение.
Разные варианты эксперимента показали время до 200 мс, что всех устроило.
Может быть, для анализа времени роуминга правильнее бы было воспользоваться перехватчиком пакетов, слушать эфир с двух адаптеров и анализировать потом, но на тот момент это показалось достаточным.

Проверка свежего софта на стабильность

Есть полезное правило: лучшее враг хорошего. Если ваш софт актуальный, рекомендуемый как стабильный и вам достаточно его возможностей, менять его незачем. Если же вам нужны новые фичи, типа AVC на FlexConnect, то вероятно софт придется обновить. Если вы обслуживаете большую сеть, с сотнями или тысячами ТД, то риск того, что на свежем софте что-то пойдет не так, он есть. Для этого полезно иметь лабораторию, где можно на недельку запустить нужный софт и испытать его. Сколько стоит 1 час простоя сети на вашем предприятии? Сколько стоит набор для лабы? Сравните эти цены и решите сами.

Проверка времени простоя при применении некоторых команд

Если вы настраиваете живую сеть, это много интереснее, только нужно быть внимательнее и наперед знать результат ваших действий. Если простой живой сети создает проблемы, то лучше попробовать команды, которые требуют перезагрузки точек, заранее.
Например, есть такая удобная штука как RF Profile, в котором меняются data rate, рабочие MCS, параметры автоматического управления радиоэфиром, а также еще несколько полезных параметров типа RxSOP. Этот профайл вешается на группу точек, настраивая их разом. При этом нужно помнить о том, что если вы меняете существующий профайл, который уже в работе, то результата не последует. Изменения внесены не будут. Нужно прикрутить к группе точек другой профайл, точки перегрузятся, с его настройками, потом прикрутить исходный, который вы меняли, и тогда, повторно перегрузившись, точки заработают на новых настройках. Сколько времени это займет можно узнать, проведя эксперимент в офисе, чтобы потом согласовать с заказчиком небольшой перерыв связи.

Вразумить несговорчивых соседей по Wi-Fi

Допустим, ваша офисная сеть построена на UniFi. Соседние помещения арендует другая компания, а её админ, не зная о том, что в диапазоне 2.4ГГц всего три непересекающихся канала настроил соседнюю с вашей точку на 3й канал, да еще и 40МГц занял! Или даже это не админ сделал, а кривая прошивка сама выбрала 3й канал. При этом люди через этот третий канал торренты качают постоянно. Ваши коллеги стали жаловаться, что Wi-Fi работает хуже. Что делать? В идеале, перевести всё (оборудование) и всех (клиентов) на 5ГГц и забыть об этом страшном времени, когда ваш спектроанализатор показывал вот такие картинки

adowtlydvrqcelcuhnn4f-4fimo.png

В реальной жизни пока это не удается. 2,4ГГц в РФ все еще популярен, спасибо производителям бюджетных китайских смартфонов.

Итак, перевести не получится, нужно общаться с соседним офисом. Скорее всего, если вы понятно объясните зачем им менять настройки, вопрос решится быстро. Если же никакие уговоры не помогают, или соседних офисов много и непонятно кто источник ваших беспокойств (хотя его можно обнаружить каким-нибудь бесплатным Wi-Fi Analyzer на вашем смартфоне), тогда можно применить тяжелую артиллерию. В разделе Monitor — Rogues, найти интересующую вас точку и в Update Status выбрать Contain.

xcjf9za2gdp7xvvb5qeqzjxrnki.png

При этом контроллер заботливо вас предупредит о том, что это может быть нелегально. По сути, вы инициируете DoS атаку на сеть соседа, посылая со своих точек 802.11 de-authentication кадры от имени точки соседа для его клиентов. И всё, если вы слышите эту точку хотя-бы на уровне -70дБм и нажали кнопку Apply, выбрав при этом максимальное number of APs to contain the rogue, то все его клиенты просто перестают работать.

90lzxjlx8b9xvhs8wsacm0ji4a8.jpeg

Люди не понимают, что происходит, так как физически отрубает и подключиться невозможно. Они пытаются менять настройки, это не помогает. Если вы при этом (через пару дней) заметили, что канал поменян, причем удачно, то статус Contain снимается и все довольны. Если нет, то решайте сами. На моём опыте, один раз через пару недель было обнаружено что люди поставили новую точку доступа, SSID остался прежний, но канал опять настроили криво.

Если кто знает, чем это легально может грозить в РФ, буду рад вашим комментариям. Так же любопытно, какие доказательства могли бы быть приняты. Обнаружить, что вас досят можно, но нужно обладать серьезной инфраструктурой, которая увидит, что это происходит и скажет об этом подобным образом: Warning: Our AP with Base Radio MAC f4: ea:67:00:01:08 is under attack (contained) by another AP on radio type 802.11b/g.

Ежели кто-то обладает такой инфраструктурой, крайне маловероятно, что он будет допускать подобные грубые ошибки в настройке. Если у вас есть софт типа Omnipeek для перехвата 802.11 кадров и адаптер, который может работать в promiscuous режиме, то он поможет обнаружить такую проблему. На любимом Kali Linux, вы и так знаете как ловить кадры и что делать. Таким образом, если вдруг в вашей сети люди резко перестали подключаться к Wi-Fi, совсем, ищите софт для перехвата, а перед этим проверьте, не мешаете ли вы соседям.

Если вы сомневались, просить ли у начальства (или у себя) выделить средства на покупку трех точек доступа чтобы собрать весьма полезную Wi-Fi лабораторию, я надеюсь ваши сомнения рассеяны.

© Habrahabr.ru