habrahabr

Реквием по мечте. Как был сделан WiFi на музыкальном фестивале Alfa Future People

  • понедельник, 16 декабря 2024 г. в 00:00:13
https://habr.com/ru/articles/866580/

Пролог

Это длинная история, как несколько человек за 3 недели 6 лет подряд, строили в чистом поле операторскую беспроводную сеть из пары сотен точек доступа на фестивале мечты, а потом за сутки её разбирали. В тексте описываются технические решения, сложности и приключения участников, представлено много фотографий и немного статистики. Из уважения к выжившим, все имена сохранены, а всё произошедшее рассказано так, как было на самом деле.

Alfa Future People — фестиваль людей будущего, который остался в прошлом. На сайте висит заглушка, чтобы найти список выступавших придется постараться — в англоязычной Вики указаны только хэдлайнеры, странички на русском вовсе нет. Когда в разговоре речь заходит о фестивале, многие про него даже не слышали — реклама была адресная, электронику слушают не все. Место проведения выбрали создавая тренды — «заброшенный аэродром на берегу Волги под Нижним Новгородом» — случайно не забредешь. Тем ценнее были все прибывшие в первый год. Гостям и сотрудникам организаторами решено было дать доступ в Интернет через WiFi.

Идеология AFP предполагала электронную музыку, новые технологии и впечатления, комфорт, то чего ещё не было. Полное покрытие WiFi хорошо вписывалось в эту концепцию. Читал, что дочь собственника Альфы съездила на бельгийский Tomorrowland, и так впечатлилась, что решили повторить у нас (вышло ОЧЕНЬ достойно).
Кроме беспроводной сети, была и проводная, в каждом ларьке стоял терминал — на фестивале нельзя было расплатиться наличными, только карты и активно рекламируемый PayPass. Гостям выдавали браслеты со встроенными чипами банка‑организатора как пропуск на территорию и способ платежей, на территории стояли банкоматы, в которых можно было их пополнить. Обычные банковские карты тоже работали.
В то время еще не было множества специалистов, научившихся строить масштабный WiFi на стадионах ЧМ и в фан‑зонах, на крупных складах и в офисах, только завершилась олимпиада в Сочи — где впервые широко транслировалось в соцсети происходящее, в московской подземке отлаживала свой WiFi Максима Телеком, а про другие примеры никто и не слышал. Попытка сделать городской публичный WiFi авторства Голден Телеком была не очень успешной. WiFi на мероприятии, да не пара точек Unify, а чтобы работал везде, да на уровне оператора — в 2014 это был эксклюзив!

Техническая подготовка была очень серьезная, речь о всей инфраструктуре, не только сетевой. Опыта таких действ у местных сотовиков не было, зато ещё были в штате специалисты, выросшие во времена постройки и расширения сети, а не оптимизаций и экономии. Обычно сети строят в подготовленных позициях с достаточным временем пусконаладки, а не сначала настройте радио — а после энергетики подадут питание. На фестивале администрация не закладывалась на время отладки, график там диктуют собирающие сцены подрядчики, время прибытия арендованного оборудования и техники — но никак не хотелки сетевых инженеров. Необходимой мощности электричества в поле тоже нет (его там вообще нет), запитаться от соседней деревни невозможно — только свет главной сцены тянули два генератора по 500кВт, ещё пара таких же — для звука, а на площадке была вторая крупная сцена, павильоны, много холодильников и прочего оборудования, освещение территории. Всё питание от дизель‑генераторов, их привозят за пару дней до начала, в процессе стройки электричество доступно по графику настройки света и звука только около сцен (когда они уже собраны и настраиваются). Так что кроме сетевого оборудования, нужно таскать по полю свои генераторы, и именно таскать — для сохранения травы при любой непогоде въезд машин на гостевое поле запрещался. Ребята организаторы мероприятий своё дело знают и строят быстро, задача команды сетевиков — ухватить короткие моменты когда конструкции готовы и можно на них работать, смонтировать точки и антенны не испортив вид — иначе переделывать, проверить (без подведенного постоянного электричества!), и бежать дальше. В таких условиях в первый год коллеги из полосатого оператора успешно справились с проводной инфраструктурой, на полную отладку радио и им и нам потребовался ещё один год, коллегам из остальных операторов тоже.

Фестиваль позиционировался как «музыка и технологии» — но выставка технологий там не особо прижилась, в первый год ночью по окончании из шатров успели что‑то спереть, да и тащить серьёзные вещи в пыльное грязное поле… Такое себе. Хотя разряды здоровой катушки Теслы помню до сих пор, жаль что этого потом не было. Я бы сказал, что выставкой технологий была сама организация — даже в ливни 17 и 19 годов, по щиколотку в жидкой грязи и насквозь мокрые, мы слушали музыку, смотрели на сияющие сцены, гостей кормили и поили, не потребовалось полчище тракторов для эвакуации застрявших машин с платной парковки (привет, Нашествие «17). Главная сцена — с огромными экранами, сегодня они привычны на улицах Москвы, а тогда — новинка. И никаких наличных. Что для меня было абсурдно — бумага в таких условиях проще, надежней и уместней. Но тогда вроде и мы ни к чему — дилемма!

Для сетевиков, это был суровый российский киберпанк, вокруг колосятся поля и гуляют коровы, жарит солнце (или льёт дождь), расцвечивают туман лазеры и диоды, грохочет музыка — а ты должен четко и быстро всё собрать и заставить работать. А после — фестиваль идёт 3 дня без остановки — после 2 ночей без сна в мегаваттах звука, на нервах — ещё быстрее разобрать и увезти. Охрана внешнего периметра снимается сразу по окончании и в остатки палаточных лагерей заходят мародеры, всё оставленное там — исчезнет. В следующие пару дней очень быстро будут разобраны конструкции, охрану сильно ослабят и будут сужать периметр до одной главной сцены, так что мы все свое железо снимали в первые сутки после окончания. Звук и свет начинают разбирать, когда по полю ещё бродят зазевавшиеся гости, и сразу везут куда‑то ещё.

Мне ближе комфорт и эстетика, а в списке предпочтений — мелодичное техно, классика, инди, добротный поп, старый рок и радио Серебряный дождь. Это отступление служит лучшему пониманию читателем моих эмоций от фестиваля — он тогда попал в самое сердечко. Правильный подход организаторов, топовые мировые артисты (старые и новые, имена из плеера, на которых я рос — вот они, живые!), шикарное место с лучшими в России закатами (обязательно приезжайте в Нижний летом), рабочий драйв, выносящая разум главная сцена размером с многоэтажку, ощущение что делаешь что‑то новое и нужное, творишь будущее и историю.

В 2019 на АФП выступала Крем‑Сода с хитом Никаких больше вечеринок, и это оказалось пророчеством. На дворе — почти 2025, фестиваля с 2019 больше не было, я выдохнул и спокойно работал в корпоративной интеграции, основатель Крем‑Соды Дима Нова утонул в Волге, а про остальные события вы и сами знаете.

Как оно начиналось, и как оно идёт
Как оно начиналось, и как оно идёт

Часть первая. Год первый, 2014-й. Жаркий июль

Началось всё в апреле, или даже марте — не помню, когда пришёл выделявшийся из привычной текучки запрос сделать сеть WiFi на фестивале. На пресейле системного интегратора (в ещё жирные годы) тебе пишут разные странные люди с просьбой сделать большую задачу, и желательно вчера и побыстрее. В большинстве случаев, можно ничего не делать — тебя позвали статистом на тендер, или в деле хаос‑менеджмент — типичный суетолог, и работать он будет с такими же суетологами просто ради работы. А мы вроде как профессионалы, нацеленные на результат.

В полученном запросе были четко поставленная задача, реалистичные сроки и веяло спокойным профессиональным подходом. Андрею, техническому специалисту оператора, понравился наш сайт, где были методические статьи, описание современных решений от практикующих инженеров, и указан опыт работы с мероприятиями. После победы в конкурсе, Андрей был нашим единым окошком в заказчике, быстро и четко решающим возникающие вопросы, с ним было приятно работать и общаться. После беглого поиска что за событие планируется, я загорелся — Мне туда нужно! Paul Oakenfold, ATB, Avicii, Benassi, Nero, Infected Mushroom, Pendulum и даже Земфира! Я ж на них всех рос!

Проработав в компании‑интеграторе несколько месяцев, с вайфаем я тогда был знаком в основном по домашнему роутеру, только начав изучать контроллер сети от Bluesocket. Беспроводная часть отошла Вадиму, опытному радиоинженеру, нюансы монтажных работ — не менее опытному Федорычу, а руководила проектом супер менеджер Ирина, немало вложившая сил в отечественный телеком. От меня требовалось сделать надежную опорную сеть, т. е. взять трафик пользователей с WiFi‑точек, выдать им адреса и смаршрутизировать в сторону операторского стыка, не забыв по дороге NAT и согласование условий со специалистами оператора. Тут была первая проблема — ещё недавно обслуживая московский ШПД, работая с десятками тысяч пользователей и гигабитами трафика, оперируя на участке порт доступа — интерфейс в сторону магистрального браса, я мог отключить от сети на пару часов московский район неудачно перепутав цифру в CLI команде и погасив 10G аплинк, мог продиагностировать проблему в динамической маршрутизации, не имея enable на магистрали, но я никогда не планировал такие сети и не настраивал брасы. Очевидно, задача требовала опытного архитектора. А он как раз уволился! Наверное, я бы не вписался на такую ответственность, не имея плана Б. Планом Б был Роман, серьезный специалист в деле архитектуры операторских сетей,он уже не работал в компании, но был готов помочь в случае ЧП и нерешаемых вопросов. Так работать уже можно! И мы приступили.

Выбор оборудования WiFi был предопределён, мне нужно было выбрать проводное железо. У интеграторов всегда есть пул основных партнеров, с кем они работают, и в нашем случае это были не широко известные циска или джунипер, а алкатель‑люсент (ныне — разделенные операторская нокиа и алу‑энтерпрайз). Я был знаком с линейкой коммутаторов ALU, обслуживая одну из приобретенных сетей на прошлом месте, мы всегда чертыхались от непривычного CLI тех энтерпрайзных алкателей (OS6850). Как оказалось, с брасами на SR OS там ничего общего. В роли маршрутизатора‑браса (broadband access server) можно было взять сервер с линуксом или бсд, это был самый дешевый вариант. Но я не был профи администратором, и что делать если там вдруг развалится конфигурация, или пострадает диск? Ночью? В поле, без связи? А как диагностировать проблемы у пользователей? На такой риск подписываться было нельзя, я настаивал на проверенных специализированных решениях. Тут немалую роль сыграл опыт ночных смен — работая интенсивные 24ч, ночью с мозгами что‑то случается (усталость, хаха), и принимаются выглядящие очень странными поутру решения, а четко и правильно можно сделать то, что делалось уже не раз. Поэтому нужна понятная прогнозируемая коробка и отлаженный конфиг, навыки работы по такой схеме — в наличии.

Договорились на аренду огромного (и шумного аки самолёт) 7750 SR-7, с соответствующими платами (питание операторского железа базовых станций — постоянные 48–60В, и нам нужен требовательный к ресурсам NAT!), закупку коммутаторов OmniStack 6250-p24 на доступ, агрегацию планировали делать на сервисной карте 7750, но карта в итоге не доехала — взяли оптический 6850, он тоже позволял поставить резервируемые 2 блока питания от постоянного тока. Схема физического подключения была ясна, предстояло подготовить и отладить конфиги, а перед этим — разобраться, как вообще настраивают брасы?)

В 2024 у всех ведущих производителей есть облачные контроллеры WiFi, где трафик от клиентов не проходит через контроллер, выходя с точки напрямую в проводную сеть, Bluesocket не умел иначе уже в 2014. А значит, мне предстояло решить, как обеспечить роуминг клиентов между точками с сохранением IP сессии. Обещали до 35 тысяч гостей, перемещающихся по площадке, в ТЗ записали 15 тысяч клиентов как максимум. Когда IP сессия клиента висит на контроллере, беспокоиться не о чем, по проводной сети летают только туннели между служебными устройствами, всю фильтрацию и заботы о маршрутизации берёт на себя контроллер. А если мы прямо в проводную сеть выпускаем пару тройку тысяч устройств? А десяток тысяч? По опыту ШПД, ещё в 2006, когда число подключенных клиентов в районе (одна подсеть) доходило до нескольких тысяч, коммутаторы длинка начинали зависать. И чем дальше шло развитие, тем больше добавлялось мультикаста и прочих радостных сообщений, мол, смотрите, у меня открытые порты, и доступны всякие разные протоколы! Как решить задачу в рамках операторской сети — а даже пара тысяч гостей, не говоря про десяток тысяч, это уже полноценная операторская сеть — когда все твои клиенты мигрируют между портами с интервалом в минуты, или десятки секунд? Классика ШПД это PPP, потом схема IP Unnumbered, раздавая клиентам адреса с 32 маской и лишая их соблазна пофлудить. Или дать относительно крупную подсеть, но забанить всё что можно на 2 уровне OSI на порту доступа (в нашем случае — точки доступа). Умеет ли так SR OS на 7750? А не важно, потому что так не умеет… наш WiFi! Такая вот особенность обнаружилась в железе, из‑за хитрой системы фильтрации, или по каким‑то историческим граблям, или просто из непонятных соображений — но блюсокет не выдавал трафик от клиента в VLAN, пока сам не обнаруживал в этом VLAN заранее преднастроенную IP‑подсеть в выдаче DHCP. т. е. на контроллере руками создавалась связка VLAN+IP subnet, и привязывалась к присваиваемой клиенту роли. Если точка не зафиксировала активного DHCP в настроенном влане — подключиться к SSID не удавалось. Эта штука — Location — обеспечивала клиента рабочей подсетью в случае его ухода на другую точку, где такого влана и адресации не находилось — точка сама строила туннель до другой точки, где влан был — Location активен. Для редких ошибок конфигурации в корпоративной сети — прекрасная штука, клиент всегда работает. В нашей реальности — полное фиаско, потому что точка никогда не активирует нужный клиенту location, запросив по DHCP адрес, и получив его с собственной узкой маской /32!

И что же делать? С задачей прекрасно справится подсеть /17! Да, до 32 тысяч хостов. Звучит как безумие? Чуть‑чуть. У Bluesocket была реализована фильтрация на точке, работавшая всегда и не имевшая настроек. Точки фильтровали всё лишнее широковещание, не предназначенное конкретному клиенту на радио, значительно снижая нагрузку на эфир (что до сих пор не умеют дешевые беспроводные решения — и не выдерживают высокую нагрузку). Попутно, это снижало нагрузку и на проводную сеть — раз клиент не получает широковещательный мусор, он на него и не пытается отвечать Но этого было мало, телефоны конечно флудят меньше чем ПК на Windows, но /17… Точки умеют изолировать подключенных к ним клиентов друг от друга на уровне L2, умеют в настройки фаервола L3, но не умеют изолировать второй уровень с провода, нет в них L2 ACL как на операторских коммутаторах. Попробовать включить изоляцию портов на L2 — коммутаторы могли фильтровать только порты, оставляя доступ к аплинку, заблокировать доступ для конкретного VLAN, или блокировать по маске в заголовке Ethernet — не получалось, схему с фильтрацией всего и вся по портам я поначалу и включил, вдобавок изолировав коммутаторы друг от друга на узле агрегации. Оказалось нам нужна связность между портами и точками, то ли точки не находили контроллер, то ли они могут обмениваться роуминговой информацией, возможно были другие причины — уже не помню. Отключать изоляцию портов пришлось уже в поле, когда стало ясно что она вызывает проблемы.

Достал старые конфиги из ШПД, защищающие сеть от вредоносов и пакостей, прошёлся по офису и задампил порты у разных версий операционок, подампил с точек эфир от разных телефонов, и составил список портов и протоколов которые надо блокировать. Под полный запрет попали и IPv6 вместе с любым мультикастом, как источники разных нехороших анонсов. Бонусом клиентам запрещалось быть шлюзом, быть DHCP, и другие полезные запреты — мы же не хотим, чтобы мамкин пентестер положил сеть в разгар торжества. Почему так важно запретить мусорный широковещательный трафик, ведь коммутаторы и точки соединяются 100 мбит или гигабитными линками? Стандарт WiFi требует отправку широковещательных сообщений на самых низких скоростях — а это драматически снижает пропускную способность эфира. «Бонусом» при такой крупной сегментации идёт потенциальное переполнение FDB — для закупленных свичей это 8 тысяч записей, при задании в 15 тысяч клиентов, и кто знает, когда они начнут виснуть? Алкатели конечно не длинки, но мало ли, в корпоративных сетях такого масштаба сегментации не бывает. Чтобы подстраховаться, решил заодно выставить короткое время жизни для таблицы MAC‑адресов — клиенты постоянно мигрируют, пригодится. Запас в пуле DHCP в два раза — неизбежность, для 15 тысяч из ТЗ в /18 оставалось мало резерва, плюс он был рассчитан на потенциальных вредителей или неисправные устройства, чтобы отсрочить падение сети и успеть хотя бы сбросить пул при переполнении. ACL на точках доступа было решено не использовать, чтобы не нагружать CPU и позволить точке максимально работать с радио, фильтрация шла на коммутаторах, где для этого стоят аппаратные решения.

Целевая схема. Предусматривалась изоляция на уровнях VLAN и L3 ACL,изоляция портов точек друг от друга, на свичах были настроены порты доступа в каждый VLAN для быстрой диагностики, служебные сервера я разворачивал на гипервизоре
Целевая схема. Предусматривалась изоляция на уровнях VLAN и L3 ACL,изоляция портов точек друг от друга, на свичах были настроены порты доступа в каждый VLAN для быстрой диагностики, служебные сервера я разворачивал на гипервизоре

Имея на руках все вводные, приступил к работе — сделал и протестировал конфиг свичей. А с маршрутизатором вышла загвоздка — он был занят где‑то, и к нам приехал достаточно поздно. Читались гайды, листались презентации, изучалась незнакомая операционка и её CLI. В голове нужно было уложить, что не всё что кажется догмой, именно ей и является. Хорошо что был доступ к информации о железке, от поддерживавшего меня Романа и ребят из представительства АЛУ‑РТ, пусть материалы были на английском — без них я бы не разобрался. Алкатель не циска, свободной информации в сети было мало, а базовый CLI Guide — это тысячи страниц, и это аналог словаря — не зная языка, быстро он тебе не поможет, нужны концепты что и как устроено, какая заложена логика настроек. Это тоже было, в форматах презентаций, и готовых конфигов, но немного под другие задачи.

Работа с реальными бизнес‑проектами всегда учит, что в условиях существующих ограничений, у задачи может быть несколько решений, и не важно насколько оно будет «правильное» и красивое. Работает и не тянет за собой нехороших последствий — годится. Но пока решения не было вовсе. Просить сделать всё за меня — не хотелось и потому что гордость, желание самостоятельно разобраться, и потому что А вдруг что? — а я даже не знаю как это работает. Тут важно вовремя понять что всё, своими силами задачу не одолеть, и попросить помощи. Оставалось несколько дней до выезда на площадку, я пытаюсь разобраться, в офисе прохладно (на улице — июльская жара), есть удобное кресло и хороший монитор, в полях же — перспективы организации труда и отдыха туманные.

В офисной серверной собрал демо, в теории всё было просто — подсети, вланы, DHCP — схема то примитивная. Но у меня не получалось выдать пользователям адреса по DHCP. Конфиг верный, всё перепроверено по гайдам, а — нифига!

Тут уже начинает истерить руководство заказчика — их можно понять, дело ответственное, у всех первый раз, а железа и специалиста на площадке не видно (впрочем, договорные сроки ещё не были нарушены). Собираюсь, засовываю все железяки ядра в свою машину (хехе, изрядно превышающие стоимость этой машины)), беру офисный монитор и еду из Москвы в Нижний! Можно спорить глупо это или опасно, но лично мне было спокойней, что нужное железо приедет со мной, а не разобьётся или потеряется в безвестных руках грузчиков транспортных компаний, и я сразу приступлю к настройке. Недавно читал историю сотрудника ВК/Телеграма, как они перевозили сервера на арендованном грузовике из Англии во Францию, и вспоминал свои поездки.

“Тяжелая артиллерия” - во всех смыслах тяжелая - 7750 SR-7 собственной персоной, 7 юнитов для сервиса, 2 БП и 2 модуля управления, ещё не все нужные платы приехали
«Тяжелая артиллерия» — во всех смыслах тяжелая — 7750 SR-7 собственной персоной, 7 юнитов для сервиса, 2 БП и 2 модуля управления, ещё не все нужные платы приехали
Надежный транспорт инженера где-то на трассе М7, дифферент на корму от тяжести загруженных технологий
Надежный транспорт инженера где‑то на трассе М7, дифферент на корму от тяжести загруженных технологий

До старта фестиваля оставалось несколько дней, заказчики нервничали. Решение задержаться в Москве точно было оправдано — в прохладном офисе многое делалось быстрее, и вообще — делалось, потому как на площадке электричества ещё не было! Но руководству в заказчике тогда это было сложно объяснить. Да и руководство в те времена было, мм, странное. Тогда считалось, что любой менеджер может легко управлять чем угодно, от продажи газировки, до построения телекома масштаба страны, поэтому не все управляющие понимали специфику работы. Иногда, это работало нам в плюс — начальники вообще не понимали, что они видят)

Москва — Нижний — 400км трассы М7, вроде ерунда? Загрузился и выехал из офиса, сначала по московским пробкам, потом по подмосковным, потом по пробкам на множестве ремонтов до Владимира, потом трясясь по разбитой дороге, нагоняя время — федеральная магистраль Волга... Хорошо поворот в сторону фестиваля был раньше чем начинался Нижний. Приехал ближе к 8 вечера, выжатый и вымотанный, сразу в поле — выгружать железо. Вылезаю из‑за руля — освежающая вечерняя прохлада и туман реки, закатное солнце, падающее на главную сцену — я изрядно обалдел! Так масштабно, мощно, вдохновляюще!

7 июля, мой первый день на площадке. Монтажники с вышки собирают свет на главной сцене, батареи акустики уже подвешены на башнях
7 июля, мой первый день на площадке. Монтажники с вышки собирают свет на главной сцене, батареи акустики уже подвешены на башнях

За сценой шла прозаичная работа — ребята закапывали в землю кабели точек, потому что всё висящее, что может быть оборвано — будет оборвано, в самый неподходящий момент.

После фестиваля весь мусор собирался и вывозился, выкапывали всё закопанное, и поле снова отходило коровам и местным фермерам. Разок с этим вышел конфуз — мы не знали что подрядчики самостоятельно вывозят свой мусор, и часть была оставлена, пришлось договариваться с ребятами на месте чтобы подчистили наши хвосты.

Все основные конструкции фестиваля — быстросборные, типового размера, стальные трубы каркасов с системой креплений клиньями, настилы из водостойкой фанеры, шатры с растяжками, где мягкие боковины сдвигаются по рельсам, и закрываются на молнии.

Сборно-натяжной шатёр. В поле бывает очень сильный ветер, растяжки там не лишние
Сборно‑натяжной шатёр. В поле бывает очень сильный ветер, растяжки там не лишние
Типовые сборные трубы на клиньях, кочующие по мероприятиям страны. На каркас натягивают баннеры для эстетики. Внутри закреплен наш ящик с точкой доступа
Типовые сборные трубы на клиньях, кочующие по мероприятиям страны. На каркас натягивают баннеры для эстетики. Внутри закреплен наш ящик с точкой доступа

Точки доступа — для помещений, спрятанные в пластиковые боксы, уличные стоили как чугунный мост и уносили бюджет проекта в космос. Об этом — позже.

Переведя дух и пройдясь вокруг сцены, меня представили прибывшему руководству заказчика. Руководством была поставлена задача — Никто с поля не уедет, пока я не увижу что WiFi работает! А он у нас — не работает, потому что DHCP в сети не заводится. Затащил в вагончик базовой станции 7750 и с помощью монтажников оператора подключил коробку к питанию.

Вагончик БС за сценой - наша главная локация в первый год - не самый лучший выбор
Вагончик БС за сценой — наша главная локация в первый год — не самый лучший выбор

Голова с дороги гудит, заставить работать 7750 в таком состоянии — дохлый номер. Надо выспаться, и поутру подключить на помощь специалиста по железке — пришло время объявить моё поражение в битве с SR OS CLI. Но менеджмент заказчика этого не понимает, и понимать не хочет — ему нужен результат любой ценой прямо сейчас. Голь на выдумки хитра, а в багажнике лежит джокер — старый домашний D‑Link DIR320, перепрошитый в DD‑WRT — он до сих пор живой, спрятан в домашней тумбочке на крайний случай.

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

Чем дальше в ночь - тем суровей киберпанк. Под головой робота, где светится буква А - балкон диджеев
Чем дальше в ночь — тем суровей киберпанк. Под головой робота, где светится буква А — балкон диджеев

Сцена произвела незабываемое впечатление! А в городе меня ждало неприятное — арендованная квартира была в состоянии, не слишком пригодном для жизни, и хоть инженеру и полагался выделенный диван с матрасом (в отличие от ютившихся на полу монтажников), радости было мало — в коридоре воняло газом, из матраса торчали пружины, одеяло сырое, диван скрипел, кто‑то храпел, а в 5 утра выяснилось что под окнами трамвайный разворот с раздолбанными рельсами. Нижний в 2014 вообще отличался убитостью всего, дорог, трамваев, мостов, автобусов, фасадов… Так жить нельзя, и на помощь была призвана наш менеджер Ирина — она дала добро на переезд в гостиницу, где я с удовольствием и обитался до конца мероприятия, имея по утрам завтраки с кофе, по вечерам кондиционер, а ночью — тишину в лесочке у реки.

Обустроившись, приступил к работе. В поле был организован передвижной офис (заднее сиденье машины), позвонил Роману, и вместе начали разбираться с конфигом. Работать в вагончике БС было невозможно — дикий шум оборудования, не слышно собеседника, жара когда не работает кондиционер или духота когда он включился — дверь нужно держать закрытой, иначе кондиционер быстро ломается. Работали кондиционеры не всегда, не хватало мощности генераторов! Иногда мы запускали на аккумуляторах только коммутацию для проверки, БС оставалась обесточена. Так что из вагончика в машину тянулся out of band кабель витой пары. В конфиге всё было правильно, кроме одной маааленькой детали — не создан лупбэк (или router id? не помню). Маршрутизация без него работала, а абонентские сервисы — нет. Исправили ошибку, и всё полетело. Немного полегчало!

Жара +35, спрятаться от солнца под крышу, где нет гула вентиляторов - уже хорошо
Жара +35, спрятаться от солнца под крышу, где нет гула вентиляторов — уже хорошо

Кроме ядра, прочих дел хватало, коммутаторы мы ставили в шкафы СКС, которые организовывал строивший проводную сеть подрядчик, там всё было сделано классно, приятно работать. Шкафы‑стойки 19» стояли под настилами балконов и в служебных шатрах, дополнительно укрывались сверху плёнкой и поднимались от земли на паллет.

Вариант рабочего места за баром у сцены, под супервип‑балконом. Рядом шумит дизель на 110кВт, слева валяются рукава кондиционеров для шатра
Вариант рабочего места за баром у сцены, под супервип‑балконом. Рядом шумит дизель на 110кВт, слева валяются рукава кондиционеров для шатра

Требовалось обновить софт коммутаторов и донастроить конфиг — дело муторное, долгое, осложнявшееся отсутствием электричества в шкафах. Алкатели не принимали ёмкую флешку, приходилось лить через TFTP, с несколькими перезагрузками. По договору, нам должны были предоставить электропитание, никаких генераторов с собой не было, так что ждали до последнего, пока везде подадут 220. В блокнотик записано — нужны свои генераторы.

Прозвон оптики можно сделать заранее, но там свои особенности, строители не успевают быстро разварить такие объемы, местами уезжают необходимые точки подключения и оптику переносят, местами кто‑то копает и рвёт кабель — срочно переваривать! Основную оптическую сеть закапывали в землю с расчетом на несколько лет вперёд, делая выводы и отводы под объекты на поле. Часть магистрали шла по временному забору.

Разрушитель миров чужих кабельных линий в руках нашего специалиста Жени
Разрушитель миров чужих кабельных линий в руках нашего специалиста Жени

Проверяется оптика и розетки достаточно просто — два человека, один с мощной лазерной указкой на узле агрегации, светит в розетку, другой бегает по полю и смотрит где светится. Если не светится нигде — все бегут за рефлектометром, и начинают расследование где же спрятан обрыв или ошибка сварки. Проблема (очередная)) тут в том, что тот кто светит, он должен знать куда светить — на узле пара кроссов под 40 розеток, т. е. светит тот кто это варил, и он оторван от основной работы, сидит ждёт, пока второй добежит до ящика, отыскав у кого ключи от этого ящика, и проверит в какой розетке его волокно. На том же кроссе в ящике может быть проводная сеть и отдельное видеонаблюдение. Эффективно распараллеливать задачи не получалось, не было времени всё документировать, и много что хранилось в одной голове — фестиваль это не то место, где всё точно известно заранее. В один год мы в последние дни обнаружили посреди поля огромный двухэтажный зеркальный павильон, которого на первоначальных планах не было) И так случалось не раз, фестиваль — он живой, постоянно меняется, точный состав спонсоров и даже выступающих может меняться за день до открытия (порой — и после). «Пока противник рисует карты наступления, мы меняем ландшафты, причём вручную. Когда приходит время атаки, противник теряется на незнакомой местности»© ДМБ. Не знаю как Алексей вывозил всю эту оптическую чехарду, под конец его глаза стеклянели, а взгляд тяжело смотрел сквозь тебя.

Работали мы очень много. Поначалу оно всё медленно раскручивается, в день делается совсем немного — делать нечего, нет разметки от организаторов, нет построек которые нам нужны, нет электричества. Постепенно, поле наполняется, всё приходит в движение, людей всё больше, вал задач нарастает лавиной. Монтаж сети идёт 3 недели, главную сцену начинают строить ещё раньше. В первую неделю в обед можно по пути заехать на протоку искупаться, а вечером поудить рыбу на Волге, на второй неделе уже полноценный рабочий день 6/1, третья неделя — ты просыпаешься, быстро что‑то ешь, и едешь на площадку. Весь день беготня по полю, звонки, разговоры, консоль, документация, в обед сначала ходили в столовую для монтажников на территории, потом там все дружно травились, и искали варианты. Вечером в квартире — быстрый перекус консервой, и спать. Выручал Игорь Федорыч, всегда готовый угостить на ужин вкусной стряпнёй. Не помню в какой год, нашли местную столовую около ЖД станции, где отлично кормили — туда и ездили на обед, в уголке обычно кучковалась местная синева, давящая чекушку, иногда были свадьбы, иногда поминки. Жизнь. За день‑два до старта, времени на столовую не оставалось, с утра по пути заехал в козинский спар, взял перекусов — и в поле, ночевать обратно в город уже по темноте (т. е. ближе к полуночи, а то и позже). За 3 недели монтажа, выходных бывает один два, не больше, чаще из‑за погоды. Фестиваль отлично приводил в форму, сбросить 4–5кг веса можно было просто работая, потребляя колу бананы и пиццу. В первый год всё было неизвестное, непонятное, и на бытовые вопросы времени не оставалось, в следующие годы понемногу всё наладили. Монтаж заканчивается, сервисы работают, успеваем запуститься — напряжение спадает, но расслабиться можно только ко второй ночи, а совсем выдохнуть — после отправки в наш офис оборудования, а заказчику — всей статистики, отчетов и закрывающих актов.

Рабочие моменты - вечереет, консоль, ноутбук на блоках противовесов световых стоек, на заднем плане гравийная гостевая парковка
Рабочие моменты — вечереет, консоль, ноутбук на блоках противовесов световых стоек, на заднем плане гравийная гостевая парковка

Люблю хороший звук, давно экспериментировал с автоакустикой, так что первый раз услышав пробу звука на главной — изрядно обалдел. Так мощно и так чисто, вибрируешь лёгкими, балдея от чистоты — акустика была классная, а её суммарная мощность — под мегаватт! Поняли мы чем это грозит, на дневных пробах, заглянув в вагончик за сценой — вибрировали стены, стойки, оборудование, вибрировали мы. Контроллер WiFi работал на обычном сервере с жестким диском, и стоял в этом вагончике! Сколько он протянет при постоянной вибрации? Выход из положения был найден простой и незатейливый — поехали в ближайший хозмаг, купили губки для мытья посуды — виброразвязка готова! Трогаешь стену — есть вибрация, трогаешь сервер — нет. Записали в блокнотик, что за сценами ничего серверного и критичного в будущем не ставить.

В один из дней прошёл ливень, поле за сценой мгновенно превратилось в грязь, где буксовали легковушки. Выбрался, подумал, что лучше бы дождик нас обходил стороной. Везло до 2017! Впрочем, сапоги всегда были в машине, до начала фестиваля поле хоть на день, но заливало каждый год. Само по себе поле — это пойма, заливные луга Волги, в сильное половодье там вполне могла стоять вода, а глина не давала ей быстро уйти в землю.

Backstage. Намек от природы, что всё может быть не так радужно и весело
Backstage. Намек от природы, что всё может быть не так радужно и весело

Организаторы позаботились и об этом — вокруг фестиваля закатали свежий асфальт, гостевую парковку засыпали гравием, около сцен строились танцполы — у главной сцены настил был размером 60×100 метров, на брус стелили толстую фанеру. Само поле в 2014 засеяли травой, но поздно, потом была сухая погода и жара — к фестивалю она не особо успела вырасти. Строить дороги по полю не давал его статус сельхоз земли, так что за сценами и зонами палаток после дождя было весело. Пока шла стройка — по полям рядом гуляли коровы.

Местное бычьё
Местное бычьё

В процессе монтажа выяснилось, что конфигурация объектов отличается от первоначальной, и мест подключения точек к коммутаторам стало не 11, а 14. Для крупной формализованной компании это были бы согласования, допники, подписи… И фестиваль прошёл. Мы же были маленькие, достали предусмотрительно закупленный запас, и без лишних вопросов включили в сеть. Специфика мероприятий!

Ниже технический план, который готовился на конкурс, под него закупалось оборудование. Посредине перед главной сценой указан второй танцпол на высоте 2 метра. Потом он оттуда исчез, переехав в сторону, а напротив главной сцены - небольшое строение в три этажа для светового оборудования, пультовой и звукорежиссеров, на задней стене которого висит экран с трансляцией сцены. И это - норма!

Часть плана фестиваля для технарей - танцполов у главной ещё два.
Часть плана фестиваля из конкурса - танцполов напротив главной два.
Скриншот из видео о застройке территории - танцпол уехал в сторону
Скриншот из видео о застройке территории - танцпол уехал в сторону
Схема фестиваля для гостей
Схема фестиваля для гостей
Напротив главной сцены стоит пультовая, которой на первоначальных планах не было
Напротив главной сцены стоит пультовая, которой на первоначальных планах не было

Пару слов о качестве менеджмента - у меня нет претензий к организаторам фестиваля, они сами страдают от незнания, что же там будет, качество организации как раз было на высочайшем уровне - MF Group молодцы! Были графики, планы, которые оперативно обновлялись, люди, которые решали любой возникающий вопрос. Нужно просто принять как должное то что первоначальные планы изменятся - это нормально. Вопросы были к другому менеджменту, и непосредственной его связи с качеством WiFi. Выше я упоминал, что использовались офисные точки доступа, разложенные по защитным коробкам — в них они переживали дождь и ночные туманы, при этом не возникало проблемы перегревов — точки были не топовой 3×3 ас‑серии, и ЦПУ ещё не требовал теплоотвода размером с хорошую сковородку. Тут проблемы не было, проблема была в антеннах. Вадим сразу сказал, что нужно ставить секторные, иначе ничего хорошего в поле нас не ждёт, но заказчик к совету не прислушался, и решил подрезать бюджеты. В итоге антенны были самые обычные, как на любом домашнем роутере. Они более менее усиливали сигнал, но лупили во все стороны (традиционный «пончик»). К моему счастью, WiFi был в зоне ответственности Вадима, а я ещё мало что в нём понимал, и переадресовывал неприятные вопросы. Как только сеть запустилась, мне оставалось только следить за работоспособностью всего проводного железа, отсутствию перегрузок таблиц коммутации и наличию ресурсов в пулах.

Основной наплыв гостей — операторский «ЧНН» — часы наибольшей нагрузки — на фестивале приходились примерно с 8 вечера и до 4 утра. На площадке требовалось круглосуточное дежурство инженера, я записался в ночную смену, Федорыча музыкальная программа не радовала, так что он дежурил днём. Ночью, когда гости заполнили площадку, упавшая сотовая связь помогала снизить число ненужных вопросов и дергатни. Раций в 2014 у нас не было — потом это стало обязательным требованием конкурса, с выдачей заказчику одного экземпляра для возможности нас отыскать на площадке. Ну и на монтаже рации — обязательная штука, многократно снижающая хаос, по ним проще общаться, и все в курсе дел.

Всё что можно, я документировал, и для себя, и для коллег — были сделаны инструкции и шпаргалки.

Пример справочной "шпаргалки" по непривычному коммутатору
Пример справочной «шпаргалки» по непривычному коммутатору

В обязательном порядке — именование всех портов и маркировка, сразу понять если что‑то упало, и что именно, также в LLDP отдавалось имя свича и интерфейса. В 2014 коммутатор именовался с последними октетами IP и «человеческим» именем, быстро понять IP для захода, и где стоит. Видеть что где‑то авария, нужно конечно не зайдя в CLI и посмотрев список портов, а через систему мониторинга, она планировалась, но из‑за всех трудностей запустить её не успели — хотя SNMP везде в конфигах был прописан.

Пример вывода show interfaces ports коммутатора агрегации
Пример вывода show interfaces ports коммутатора агрегации
Кусок базового конфига 7750 с сервисом DHCP, весь конфиг железки - 430 строк
Кусок базового конфига 7750 с сервисом DHCP, весь конфиг железки — 430 строк

Вроде мы даже таскали чей‑то генератор к свичам, или тянули удлинители через половину поля в последние дни, чтобы запитать свичи и проверить точки — не помню. В итоге, кое как справились, и вечером 10 числа сдали работающую сеть в полном объеме.

Наступила пятница, «В воздухе носился страшный дух праздника»

Ребята были на площадке с раннего утра, я приехал к 11. Заехал спокойно, пробки на въезде ещё не было. Дорога из Нижнего в сторону фестиваля проходит через окраины города, мимо старых заводов, башни Шухова и прекрасных деревянных домов с наличниками, и уходит дальше трассой в сторону Балахны и Городца. Это узкая однополосная улица с троллейбусами, прямо перед поворотом на фестиваль в Большом Козино её пересекает действующая ЖД‑ветка с пассажирским движением. В пятницу по этой дороге едут те кто живут в пригородных домах, ездят на работу из соседних городков в Нижний, и конечно же дачники! Все эти люди ездят не только на машинах, но и в электричке — и она перекрывает автодорогу — пробки вечером обеспечены. Организаторы как раз искали площадку недалеко от ЖД, и договорились что РЖД поставит на время фестиваля электрички от Московского вокзала раз в 30 минут. Пока мы занимались стройкой, это не было проблемой, из города и в город едешь «против шерсти». А вот для гостей фестиваля автотранспорт обернулся катастрофой... Но об этом мы узнаем позже, сидя в штабе фестиваля, из соцсетей и жалоб от прорвавшихся.

Пятница, гостей мало, результат за столами "креста" фудкорта на телефоне - 3 Мбита - сильно так себе. Ведь говорил Вадим, что нужно ставить секторные антенны!
Пятница, гостей мало, результат за столами «креста» фудкорта на телефоне — 3 Мбита — сильно так себе. Ведь говорил Вадим, что нужно ставить секторные антенны!
С ноутбуком дела получше, даже в 2,4ГГц
С ноутбуком дела получше, даже в 2,4ГГц
Гости прибывают, и интернет у них востребован
Гости прибывают, и интернет у них востребован

Чем больше прибавлялось гостей в одном месте, тем хуже становилось там со скоростью. Точки не падали, честно цепляя столько клиентов, сколько им позволяло радио, но полезной передачи бывало и не случалось — всенаправленные антенны ловили происходящее вокруг в эфире, коллизии мешали связи. Подходишь прямо к точке — работает хорошо, отходишь метров на 30–40 — привет, ведь у каждого из 30 тысяч вокруг — передающее устройство, и они ведут передачу даже если телефон не подключен к WiFi‑сети. Надо помнить, что дело происходит в 2014 году — и устройств 5ГГц было не так много, а на наших точках были открыты не все каналы 5ГГц диапазона, доступные сегодня, band steering в тогдашнем релизе блюсокета по‑моему тоже отсутствовал. Самая печальная картина предсказуемо была в толпе у сцен ночью — а сцен было две, главная и вторая, «живая» сцена Live&Bass, расположенная на острове через протоку Волги. Впрочем, сомневаюсь что тем кто отплясывал в толпе на танцполах, в тот момент нужен был интернет.

К второй сцене на остров вёл сборный мост 4×70 метров, и было весьма неудобно бегать туда по рабочим делам — километр от сцены до сцены, поле то здоровое! Пока шла стройка, мы катались на машинах, а теперь будьте добры — пешком. Весь автотранспорт кроме супер вип и технических грузовиков, с территории выдворили, дежурившим раздали служебные пропуска на гостевую парковку.

Как только число клиентов вокруг точки уменьшалось — связь восстанавливалась, никаких зависаний не было. Объяснить заказчику это было достаточно трудно, и Вадиму в тот год было не позавидовать. Построенная с большим запасом прочности опорная сеть такой нагрузки не заметила, и мне оставалось только наслаждаться действом, поглядывая на счетчики и графики, иногда пересекаясь с коллегами и отвечая им на возникающие вопросы.

Вид на главную сцену и танцпол, первые гости. За ограждениями сцены на земле - батарея мощных низкочастотников
Вид на главную сцену и танцпол, первые гости. За ограждениями сцены на земле — батарея мощных низкочастотников
Начали! За пультом - Paul Oakenfold, легенда мировой электронной сцены
Начали! За пультом — Paul Oakenfold, легенда мировой электронной сцены
Шоу набирает обороты...
Шоу набирает обороты...
Концентрироваться на работе становится сложнее
Концентрироваться на работе становится сложнее
Жар от огня на башнях ощущается на земле, а в субботу был ещё и роскошный салют из-за сцены
Жар от огня на башнях ощущается на земле, а в субботу был ещё и роскошный салют из‑за сцены

В пятницу гостей было не так много — въезд на фестиваль через узкие улочки Большого Козино («казинО», как говорили местные) был забит, много кто ехал издалека и опоздали к началу, были большие очереди на досмотр машин в кемпинги и на парковку. Нагрузка в сети нарастала плавно, к утру субботы было уже ясно, что в целом сеть вышла рабочей, но нужно дорабатывать радио.

В субботу, отоспавшись после ночи, на фестиваль я ехал уже как все — ближе к вечеру, и тоже стоял в очень длинной пробке на въезд. Потом — дежурство в вагончике администрации, где нам выделили угол со столом и стулом, поле, музыка, вопросы от заказчика, я уже плохо помню, что тогда творилось. Пока сидел в штабе, слышал вопросы гостей, кто‑то потерял ключи от машины, кто‑то паспорт, другие принесли чужие вещи найденные на поле. Точно было классно — дальше предлагаю просто посмотреть на это сквозь сделанные фото, все тогда выложились на 200%, и это был праздник.

Штаб, в первый год все сидели вместе - организаторы, СКУД, видеонаблюдение, мы в уголке, в проходные двери заходили гости со своими вопросами
Штаб, в первый год все сидели вместе — организаторы, СКУД, видеонаблюдение, мы в уголке, в проходные двери заходили гости со своими вопросами
Днём в субботу гостей развлекали отчаянные парни на мотоциклах
Днём в субботу гостей развлекали отчаянные парни на мотоциклах
Гости отдыхают на поле около второй сцены, полнолуние
Гости отдыхают на поле около второй сцены, полнолуние
Живое выступление на Live&Bass
Живое выступление на Live&Bass
Пошёл движ
Пошёл движ
Катушка Теслы никак не хотела запускаться
Катушка Теслы никак не хотела запускаться
Infected Mushrooms на второй сцене, дичайший лайв
Infected Mushrooms на второй сцене, дичайший лайв
Гости танцевали, наслаждались музыкой, в руках почти нет телефонов
Гости танцевали, наслаждались музыкой, в руках почти нет телефонов

Несколько видео от организаторов:

Лучшее - видео застройки с тайм-лапсом

(можно попробовать посмотреть через ВК — https://vk.com/video-68 047 195_169 340 050)

Что можно сказать по итогу? Всё было очень непросто, но дико захватывающе, интересно и приятно делать. Ещё не закончив первый фестиваль, мы уже думали как сделать второй, как исправить ошибки, улучшить сеть. Она работала, но с оговорками выше.

«Итого» выглядит так:

  • 70 точек доступа, 14 коммутаторов PoE, 1 коммутатор агрегации, один сервисный маршрутизатор ядра.

  • 9735 уникальных IP‑адресов выдавалось подключавшимся устройствам.

  • 422 Гбайта скачано клиентами, 418 — отдано. Это очень необычно для тех кто привык смотреть на статистику ШПД, где трафик идёт к клиенту, а не наружу.

  • 2500 клиентов одновременно работало в сети WiFi

  • Примерно 40% клиентов работали в диапазоне 5ГГц

Скрин из интерфейса контроллера WiFi
Скрин из интерфейса контроллера WiFi

Напоследок прошёлся около Кремля в Нижнем, и поехал домой. Город я тогда не оценил, хотелось поскорее удрать. А сегодня у нас с ним любовь.

Волга с высокого берега в Нижнем
Волга с высокого берега в Нижнем
Нижний и Луна
Нижний и Луна

Получилось много букв, а рассказано далеко не всё, что есть рассказать. Как улучшали сеть, ставили секторные антенны, как внедряли SMS‑авторизацию, как почти утроили число точек доступа, как работали под проливными дождями по уши в грязи? Думаю, тут напрашивается ещё много текста... Stay tuned, и дайте знать, если понравилось. Можете задать вопросы.

Привет и спасибо всем, кто работал с нами, помогал и терпел нас, Андрей Т., Алексей Ц., Антон, Сергей, Геннадий, Дмитрий, Митя, Вини — всех не упомнить, обо всех только теплые воспоминания! Каждое лето, приезжая в поле, и видя знакомые лица — радость и улыбка!