Эта кухня — логово айтишника-фрилансера, но не того, кто обходится тонким, словно лезвие, ноутбуком, строчит ехидно-токсичные посты в X каждые несколько часов и считает, что «краш» — это просто несбывшаяся любовь, а «дроп» — новая коллекция кроссовок. Для него не бывает настоящей катастрофы, потому что если что-то не работает, значит, «подумаем потом» или «накатим хотфикс». У таких кухни идеально гладкие, по-шведски минималистичные, светлые и просторные. Они словно рендер в фигме — всё ровно, аккуратно, нейтральные цвета, продуманное освещение. На столе только макбук, стакан матчи и, возможно, пара эстетично сложенных книг о продакт-менеджменте, которые никто не читал. В них можно разместить небольшой оркестр, и ещё останется место.

Хозяин этой кухни — из другой породы. БОФХ, который слышит слово «дроп» и думает о DROP TABLE, а от слова «краш» у него флешбеки с продакшена. Эта кухня вместе с остальной квартирой удачно досталась ему по наследству три года назад от сетевого некроманта, последнего викинга RIPv2 и SCSI, который однажды взглянул на свои сервера, вздохнул и решил дауншифтнуться в Карелию, поднимать пасеку и жить без тикетов и ночных алертов. На старой газовой плите стоит индукционка, потому что так быстрее, а духовка давно стала складом запчастей. Микроволновка исправно греет дошик, но её дисплей показывает одни артефакты — что-то пошло не так ещё в прошлом году, но разогревает же. Кофемашины нет, зато есть четыре разных чайника, три из которых он чинит, не решаясь выбросить. Под столом шумит стойка с гипервизорами, внутри которых толпятся виртуалки, контейнеры и забытый OpenVZ, который лучше не трогать, иначе «минус полсети». Всё это держится на скриптах, написанных настолько давно, что даже сам автор боится их пересматривать. А над этим идеальным хаосом гордо реет знамя ENCOR 1000/1000, словно системное сообщение: «Access Denied. You are not root.»

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

知っていましたか?) 嵐の俳句
(夢を見ましたか?)走り続けた 

Из-под покрывала показывается лапа, осторожно щупает вокруг, натыкается на холодный табурет и с недовольным бурчанием засовывается обратно. Громкость старого J-рока нарастает, но Ямахи в коридоре и комнате прекрасно справляются, чего не скажешь о соседях снизу, пытающихся перекричать Кинуко Оомори.

今夜はハリケン
Сколько раз!
気づいてハリケン
Я у е е е ово ил!
すがおママ タッチ!
С е ай о и е!
触らせてください
Ы И Ы У Ю О!!!

Шелест ткани — покрывало откидывается, и голова, ещё погружённая в сонный туман и спутанные иссиня-черные волосы, появляется на свет. Щурится, инстинктивно поднимает руку, шарит по кровати, находит пульт и на ощупь делает звук тише. В комнате сразу становится уютнее – Ямахи уже не давят на барабанные перепонки, но ещё звучат в фоне, напоминая, что утро уже здесь.

触らせてください!
バーニングタッチ! 

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

Тишина. На несколько секунд. И тут же снизу раздаётся удар по батарее. За ним – второй. Третий. Сосед снизу, похоже, не сразу осознал, что его больше не глушит японский хард-рок, и теперь, уже по инерции, отстукивает свою ритмичную претензию.

— Да потише ты там уже! Это не студия звукозаписи! – доносится сквозь перекрытия, хриплый, но явно недавно проснувшийся голос.

Он хмыкает. Сосед всегда так делает. Сначала терпит, потом стучит по батарее, потом орёт, а потом… всё равно терпит.

Откуда-то из комнаты с громким Блям! приходит приоритетная почта. Тихонько тренькает дискорд и тикает слак. Их прерывает безапелляционное Бздынь!. из телеграма.

Он переворачивается на спину, прикрывает глаза рукой, в голове пробегает утренний скрипт загрузки сознания: «Четыре новых сообщения. Почта, телега, дискорд, слак. Почта с приоритетом. Телега, судя по звуку, что-то важное. Дискорд не важно. Слак не важно. Вывод: кофе первым делом. А ведь я мог бы прямо сейчас тоже жить в Карелии, разводить пчёл и пить чай в тишине».

Но вместо этого пол, холодящий подушечки лап, короткое потягивание, и первый за день контакт с реальностью:

— Эй, Siri, включи кофе. — тишина.

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

Пока вода закипает, можно попробовать найти кофе. Безуспешно. Молотый? Закончился. Растворимый? Кончился тоже. «Неприкосновенный запас» в виде пакетиков 3-в-1? Он помнит — выпит ещё пару месяцев назад в особо тяжёлый день. Молча выдёргивает отвертку, освобождая чайник от мучений, и, отчаянно зевая, перемещает себя к рабочему компу с заледеневшей за ночь клавиатурой.

12:08. В Dock поочерёдно дёргаются в конвульсиях Thunderbird и Telegram.

Сперва почта. Новый тикет. Эскалация. Пустое письмо. Ещё эскалация. И тут же этот же тикет закрыт клиентом. С недобрым предчувствием он щёлкает по телеграму.

16 October
[Горизонт-М Секретарь]
Ольвир, нужна ваша помощь 09:02
У нас всё лагает, почта уходит по 10 минут 09:73
Всё наладилось, извинине 09:49
Снова всё упало, и принтеры печатают через раз 10:53
Филипп Юрьевич говорит, у него медленно всё качается 10:56
И письма не уходят, пишет ошибка 10:59
Андрей не может войти в свою учётку 11:33
"Системе не удаётся что-то там с доменом для вашей записи" 1I:33
У меня "сетевой путь не найден" 11:35
Всё заработало, спасибо! 11:49
ФЮ просит вас всё равно приехать и сделать полную диагностику сети 12:02
Оплатим, как вы посчитаете 12:05
Ольвир, во сколько вы сможете приехать? 12:08

Ольвир щурится на экран, лениво щёлкает по полю ввода, набирает ответ:

[Ольвир]
< Смогу ближе к вечеру, часов в 6. 12:10

Он потягивается, делает пару движений плечами, пытаясь стряхнуть утреннюю сонливость. Рука уже потянулась к телефону, чтобы заказать доставку кофе (хотя бы какой-нибудь растворимый, чтобы было), но…

[Горизонт-М Секретарь]
ФЮ говорит, если срочный вызов — двойная оплата 12:11
Очень надо 12:11

Глаза медленно перечитывают сообщение. Двойная?

«Ну вот, теперь придётся шевелиться».

Он быстрым движением открывает карту, прокладывает маршрут.

Быстрым шагом до станции D1, потом до Савеловской — сорок пять минут. Пешком от вокзала до какой-то улицы Ямского Поля еще минут десять.

По пути — минимум три кофейни.

Взгляд медленно скользит от сообщения про двойную оплату к пустой кружке на столе.

[Ольвир]
< Ладно, буду через два часа. 12:13
< Если пробок не будет. 12:13

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

Смотрит на себя в пыльное зеркало — слегка мутное, с разводами, которые он давно не замечает. Белая шерсть, взъерошенная и ещё не приглаженная после сна, кажется светлым пятном в этой тёмной квартире.

На фоне темнота коридора, клубок проводов, уходящих под стол, к серверам, к роутерам, к стойке… Они выглядят живыми, будто искали его, пока он спал, будто тянутся к нему, будто ищут его, хотят коснуться. Конечно, это просто так кажется, просто игра теней и света от монитора, просто утро. Но он всё же чуть дольше обычного смотрит на них, будто ожидая, что они вот-вот шевельнутся. Секунду. Две.

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

Он проходит в ванную без лишних мыслей, просто на автомате. Одевается уже потом.

Когда просыпается полностью.


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

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

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

— Тебе как обычно? — Ольвир просто кивает.

Бариста что-то говорит, но он уже не слушает — он выбирает молотый кофе, взгляд пробегает по полке с ценниками. Может, попробовать что-то другое? Может, на этот раз взять Эфиопию, с её кислинкой и привкусом черники? Но он уже знает, что будет потом: будет жалко тратить её на утренний кофе, и она просто залежится, пока он снова не окажется в спешке.

Так что он просто берёт Колумбию.
Без размышлений, без эмоций.
Привычка.

Кофе горячий, пачка молотого — тяжёлая (или это так кажется?), сумка с ноутом еще тяжелее, а маршрут сам приводит его к офисному центру.

Он допивает кофе медленно, растягивая последние глотки. В одной лапе уже есть горячий стаканчик, а в другой — пачка сигарет и под в кармане. Прокручивает пачку в пальцах.

— Ну и?

Обычная? Или под? Или вообще не курить? Как будто кто-то ещё внутри него ждёт этого решения, но выбора тут почти нет. Он сигнализирует сам себе, что утро началось окончательно. Так что достаёт, щёлкает зажигалкой, затягивается. На пару минут всё становится проще.

Потом кидает пустой стаканчик и окурок в урну и идёт к офисному центру.

Офис УК «Горизонт-М» занимает половину одиннадцатого этажа. Стандартный коридор бизнес-центра — плитка, стекло, чуть затёртые матовые двери с логотипами арендаторов, одинокий фикус у стены.

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

— Добрый день, Ольвир!

Голос секретарши бодрый, но с натянутыми нотками — она всегда так говорит, когда в офисе что-то идёт не так.

Он кивает.

— Привет.

— Слушай… Оно не так.

Он прищуривается.

— Что — оно?

— Ну… всё.

Она делает короткий жест лапой в сторону офиса.

— Компьютеры?

— Работают.

— Почта?

— Уходит.

— Принтеры?

— Печатают.

Он медленно выдыхает.

— Тогда что не так?

— Оно… не так.

— Система либо работает, либо нет.

— Ты не понимаешь. Оно ведёт себя… как будто раздумывает.

— Зависает?

— Нет. Оно не тормозит, оно ждёт.

— Ждёт чего?

— Не знаю! Я нажимаю «печатать» — и ничего. Секунд пять. Десять. Уже думаю, что зависло, хочу нажать ещё раз — и тут оно печатает.

— Может, очередь на печать? Или сеть?

— Нет! Я не нажимаю второй раз. Я только собираюсь, и оно само.

— Совпадение.

— Ну давай дальше. Почта. Я открываю аутлук — он грузится медленно. Думаю: «Ладно, сейчас закрою и попробую снова»… И он в этот момент загружается. Не раньше, не позже. Филипп Юрьевич жалуется: «У меня интернет тормозит», и в этот момент скорость нормальная.

— Ну и?

Она сначала закатывает глаза, потом смотрит на него с досадой, как на упрямого идиота, который отказывается видеть очевидное.

— Я нажимаю — оно ждёт. Я думаю, что сейчас нажму — оно делает. Мы говорим, что что-то не так — и оно в этот момент чинится. Не через минуту, не через секунду. В этот момент.

— Ты считаешь, что «оно» угадывает твои мысли?

— Я считаю, что оно ведёт себя не как обычно.

— Ага. А если я сейчас скажу, что хочу кофемашину себе домой, она тоже появится?

— Если появится, ты охренеешь первым.

— А если я попрошу, чтобы мне списали налоги?

— Ну, у нас тут не чудеса, а просто хрен знает что, но если это сработает, я тебя найду и потребую половину.

— Окей. Пусть мне на счёт упадёт миллион.

— Прямо сейчас?

— Ну да. Раз уж «оно» ждёт наших слов.

— Это было бы слишком полезное чудо. Оно так не делает.

— Значит, не чудо. Значит, совпадение.

— Да что с тобой не так?! Я тебе говорю — оно не так.

Он смотрит на неё, качает головой.

— Ну давай посмотрим, что там у вас "думает".

Она молча провожает его взглядом, пока он идёт дальше, в серверную, где его ждёт сеть, логи и коммутаторы.


Стол в серверной прогибается под весом сумки. Сумка тяжёлая, килограммов восемь, может, десять, но он давно привык. Кожаная, сделанная на заказ. Долговечная, как и всё, что он выбирает. Ольвир присаживается на убитый офисный стул без спинки, откидывает тяжёлую крышку своего нового ноутбука. Неубиваемый, защищённый, с бронекорпусом и рейтингом IP67 (или IP69, если верить продавцу, но Ольвир не рискует проверять). Этот ноут заменил предыдущий, который почил в лучах святого энергетика. Новый должен был выдерживать больше, но эксперименты с жидкостями он решил пока не проводить.

Хрустит пальцами и открывает серверную стойку — контроллер домена, файловый сервер, обе циски и бесперебойник — все успокивающе подмигивают индикаторами. Что ж, сначала домен. Механически проходит по стандартным проверкам. Windows Server логинится медленно, будто ему тоже надо сначала выпить кофе и собраться с мыслями. Проверяет домен, службу точного времени, почту — всё в норме. В логах ошибки были, но они все связаны с сетью. 4771, 4768 — сбои аутентификации, когда пользователи не могли войти. 1053 — домен не отвечал вовремя, рабочие станции паниковали. 2087 — сервер терял связь с DNS. Обычные проблемы при падении сети или странных задержках в отклике. Сейчас всё чисто. Он морщится, отключает KVM, щёлкает замком на стойке и отходит к своему рабочему месту. Всё с доменом было связано только из-за сети — Windows Server просто решил немного попаниковать, когда что-то пошло не так. Впрочем, ничего нового.

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

Вводит первую команду.

Аптайм уже больше двухсот дней. Всё как должно быть. Как раз примерно столько времени назад пришлось перезагружать стек.

Экран заполняется списком интерфейсов. Ольвир быстро сканирует взглядом.

TXT
---------  -----------------  ---------  -----  ------  -----  ----------------
Port       Name               Status     Vlan   Duplex  Speed  Type
Gig1/0/1   AP_Lobby           connected  10     full    1000   10/100/1000BaseT
Gig1/0/2   AP_Office          connected  10     full    1000   10/100/1000BaseT
Gig1/0/3   VV0000i19          connected  66     half    10     1/10EtherealTX
Gig1/0/10  Xerox_Lobby        connected  40     full    1000   10/100/1000BaseT
Gig1/0/11  Kyocera_Office     connected  40     full    1000   10/100/1000BaseT
Gig1/0/12  Xerox_Director     connected  40     full    1000   10/100/1000BaseT
Gig1/0/13  DC_Eth0            connected  20     full    1000   10/100/1000BaseT
Gig1/0/14  DC_Eth1            connected  20     full    1000   10/100/1000BaseT
Gig1/0/15  FS_Eth0            connected  30     full    1000   10/100/1000BaseT
Gig1/0/16  FS_Eth1            connected  30     full    1000   10/100/1000BaseT
Gig1/0/25  Uplink             connected  trunk  full    1000   1000BaseSX
Gig2/0/1   Secretary_PC       connected  50     full    1000   10/100/1000BaseT
Gig2/0/2   General_Lobby_PC   connected  60     full    1000   10/100/1000BaseT
Gig2/0/3   IPCam_Lobby        connected  80     full    1000   10/100/1000BaseT
Gig2/0/4   Manager2_PC        connected  50     full    1000   10/100/1000BaseT
Gig2/0/5   Manager3_PC        connected  50     full    1000   10/100/1000BaseT
Gig2/0/6   Manager4_PC        connected  50     full    1000   10/100/1000BaseT
Gig2/0/7   Manager5_PC        connected  50     full    1000   10/100/1000BaseT
Gig2/0/8   Logistics1 PC      connected  50     full    1000   10/100/1000BaseT
Gig2/0/9   Logistics2_PC      connected  50     full    1000   10/100/1000BaseT
Gig2/0/10  General_Office_PC  connected  60     full    1000   10/100/1000BaseT
Gig2/0/11  IPTV_Office        connected  70     full    1000   10/100/1000BaseT
Gig2/0/12  IPCam_Office       connected  80     full    1000   10/100/1000BaseT
Gig2/0/13  Manager1_PC        connected  50     full    1000   10/100/1000BaseT
Gig2/0/14  Sales1_PC          connected  50     full    1000   10/100/1000BaseT
Gig2/0/15  Sales2_PC          connected  50     full    1000   10/100/1000BaseT
Gig2/0/16  Accountant1_PC     connected  50     full    1000   10/100/1000BaseT
Gig2/0/17  Accountant2_PC     connected  50     full    1000   10/100/1000BaseT
Gig2/0/18  IPCam_Safe         connected  80     full    1000   10/100/1000BaseT
Gig2/0/19  IPTV_Accountants   connected  70     full    1000   10/100/1000BaseT
Gig2/0/20  Director_PC        connected  55     full    1000   10/100/1000BaseT
Gig2/0/21  IPCam_Corridor     connected  80     full    1000   10/100/1000BaseT
Po1        DC_Channel         connected  20     full    2000   (Channel)
Po2        FS_Channel         connected  30     full    2000   (Channel)
---------  -----------------  ---------  -----  ------  -----  ----------------

Всё выглядит обычно.

Кроме порта Gi1/0/3. И VLAN 66, которого нет в документации. Скорость 10 мегабит в полудуплексе. Тип соединения странный – 1/10EtherealTX.

TXT
interface GigabitEthernet1/0/3 !∂¤ ησŦ šɦµτ∂σωη σя ¥Ωu 𝚛Ξ₲𝚛Ξ𝔱 𝖳𝖧ⅈϨ description VV0o0Oi19 switchport mode access switchport access vlan 66

Ольвир читает конфиг порта, медленно откидывается на спинку стула (спинки нет, он чуть не падает назад).

Листает логи. Потери пакетов, ошибки, обычный сетевой шум. Но одна строка цепляет взгляд.

TXT
Oct 16, 04:13:26.3667 %SYS-5-CONFIG_I: Configured from void by n̷̢̓e̶̳̮̐ẃ̴̟cÌ¶Ì’Í Ì¤Ì¡ò̸̮m̶̲̍͐ȩ̵̚͘r̴̷̵̼͕̙̱̩͛͌́̕͝

Конфигурация изменялась в 4:13 утра, из «бездны» непонятно чем. Смотрит соседние устройства.

TXT
Device ID Local Intrfce Holdtme Capability Platform Port ID
Sw_112_2 StackPort1 150 S I WS-C3750G StackPort2
AP_Lobby Gig1/0/1 160 R AIR-AP2600 Fas0
AP_Office Gig1/0/2 155 R AIR-AP2600 Fas0
VV0o0Oi19 Gig1/0/3 140 T U̵N̵K̵N̵O̵W̵N̵ Port666
ISRMain Gig1/0/25 165 R S I ISR4451 Gig1/0/4

К этому порту подключено неизвестное устройство. Он оглядывается на стойку. Все патч-корды знакомые, серые для инфраструктуры, белые для рабочих мест. Но к Gi1/0/3 подключён короткий, чёрный и плоский, как консольный кабель, патч-корд. Ольвир не помнит, чтобы такие покупал для этого офиса.

Куда ведёт? Сейчас он отловит этого шутника.

Он наклоняется, следует по нему глазами. Кабель уходит в патч-панель. Подключён в розетку номер 17. Ольвир листает кабельный журнал.

Розетка 17 (холл, гостевой уголок) → Не используется.

Он встаёт. Идёт по кабелю. Розетка за диваном, где обычно сидят курьеры. Не обращая внимания на вопросы секретарши рывком отодвигает диван. Пыльная. В неё никогда ничего не подключали.

Возвращается в серверную, снова за ноутбук. Смотрит подробнее.

TXT
Device ID: VV0o0Oi19
Entry address(es): IP address: 192.168.66.66
Platform: U̵N̵K̵N̵O̵W̵N̵,
Capabilities: Trans Bridge
Interface: GigabitEthernet1/0/3,
Port ID (outgoing port): Port666
Holdtime : 140 sec
Version : EtherealOS v13.13, RELEASE SOFTWARE (fc13)
advertisement version: 2
Duplex: half
Power Available TLV:
Power request id: 0, Power management id: 0, Power available: 0, Power management: 0
Management address(es): IP address: 192.168.66.66

Ну ладно, сейчас он просто выключит его.

На всякий случай проверяет весь конфиг, внимательно, строчка за строчкой. Всё нормально. В CDP тоже теперь никаких неизвестных устройств.

Running-config сохранён в startup-config. Порт выключен. VLAN удалён. Призрак сети исчез.

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

— Ну, как там? — насмешливо спрашивает она.

— Чисто, — отвечает он.

Она прищуривается.

— Чисто? Или просто не нашёл, что искал?

Он смотрит на неё с лёгким раздражением.

— Ты же говоришь, что это просто баги.

— А ты говорил, что "оно само" не бывает, — ухмыляется она.

Попадание. Чёрт.

— Так ты теперь во что-то веришь, Ольвир?

— Я просто проверяю.

— Да-да. Именно так и начинается, — пожимает плечами она.

— Ты что-нибудь замечала раньше? До того, как начались сбои?

Она делает вид, что раздумывает.

— Хм… не знаю… Может быть… ты снова подвигаешь диван?

Он тяжело выдыхает.

— Ладно. Удачного вечера.

— И тебе, — насмешливо, — админ-охотник на призраков.

Он этого даже не комментирует. Теперь — поговорить с остальными.


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

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

Но чем больше он спрашивает, тем больше странностей выплывает.

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

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

Кто-то шутит, что «офис теперь знает, чего мы хотим».

Но сегодня с утра было намного хуже. Утром не все компьютеры включились с первого раза. Некоторые зависли на экране загрузки. Кому-то пришлось перезагружать их вручную.

Он уже собирался уйти к камерам, когда кто-то из сотрудников хлопает себя по лбу.

— А, да, телевизор! Чуть не забыл.

Оборачивается.

— Что с ним было?

— Ну, блин, утром, когда пришли, он уже работал. Никто не включал, но он показывал… — сотрудник замолкает, подбирая слова. — Честно, я вообще не понял, что там было.

— Опиши.

— Да я сам не знаю! Экран работал, но не так, как должен. Сначала я подумал, что кто-то просто оставил на ночной заставке, но там были… полосы. Не такие, как когда антенна хреново ловит. Они были ровные, но какие-то… слишком правильные? Искажённые, но как будто не случайно, а по какой-то логике.

Ольвир молчит, слушает.

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

— Сбои сигнала?

— Да я бы понял, если бы картинка скакала, шла с помехами или лагала. Но там… оно просто было. Зафиксированное. Как будто кто-то специально так нарисовал.

— Что потом?

— Пульт не работал. Ну, вообще. Меняли батарейки, пробовали нажимать — ноль реакции. Потом кто-то предложил просто выдернуть из розетки.

— Помогло?

— Да, после этого он включился нормально.

— Никто не снял это?

— Неее. Мы не догадались записать.

Ольвир снова садится за ноутбук. Вводит IP-адрес, открывает интерфейс системы видеонаблюдения. В офисе четыре камеры — лобби, опен-спейс, сейф в бухгалтерии и коридор.

Лобби. На записи ночь. Пустой холл, стойка секретарши, стеклянные двери на этаж. Всё выглядит как обычно. Но с 3:13 изображение начинает портиться.

Сначала незначительно — появляются мелкие горизонтальные полосы, будто битые кадры или сбои в потоке. Детали всё ещё различимы, но изображение слегка дрожит, как будто камера теряет стабильность.

Постепенно становится хуже. 3:30 — контуры объектов размываются. Свет от неоновой вывески офиса тянет за собой странные тени, будто оставляет следы на изображении. 3:50 — появляются разрывы в кадрах. Изображение фрагментируется, будто кто-то сложил его из кусочков неправильного пазла. 4:00 — запись превращается в чёрный экран. Но это не просто «нет сигнала». Это не шум, не статика, не пустота. Это абсолютная чернота. 4:13 — камера снова начинает что-то показывать. Изображение возвращается, но медленно, пиксель за пикселем. 4:14 — запись полностью восстанавливается. Всё, как будто ничего не случилось.

Ольвир хмурится.

Опен-спейс. Камера расположена высоко, прямо над телевизором. Она не видит экран, но фиксирует освещение вокруг. 3:13 — начинаются те же помехи. 3:50 — экран телевизора начинает светиться. 4:00 — офис погружается в темноту, но телевизор остаётся включённым. 4:13 — помехи заканчиваются, но свет от экрана всё ещё виден. Всё снова выглядит нормально, кроме включенного телевизора.

Бухгалтерия. Камера у сейфа. Здесь нет ничего необычного. Помехи есть, но изображение не менялось так сильно, как в других местах.

Коридор. Тот же эффект. 3:13 — первые сбои. Потом — размытые контуры, разрывы кадров, полная чернота. 4:13 — возвращение пикселей. Всё повторяется один в один.

Ольвир замечает, что скалится и низко рычит. Уши прижаты, шерсть на загривке слегка топорщится, когти непроизвольно впились в край стола. Инстинктивная ярость, вперемешку с чем-то более глубоким, древним — тем самым глухим ощущением, которое предки чувствовали, когда что-то неправильное появлялось в темноте.

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

Теперь — пора поговорить с охраной.


Ольвир идёт вниз. Охрана бизнес-центра — один зевает, второй что-то листает на планшете. На мониторе бегут камеры: коридоры, парковка, входная группа. Они замечают его, когда он подходит.

— Добрый вечер.

— Добрый.

Тон нейтральный, без напряжения.

— Мне нужны записи с камер перед офисом «Горизонт-М» за 4:13 утра.

Один охранник, тот, что зевает, приподнимает брови.

— Что-то случилось?

— Проверяю один момент, у нас записи побились.

Тот, что с планшетом, пожимает плечами и кладёт его в сторону.

— Могу посмотреть сам, но доступ к архиву посторонним не даём.

— Посмотри.

Охранник разворачивается к мониторам. Камеры загружаются.

— Какое точное время?

— Четыре тринадцать.

— Окей, сейчас…

Ольвир внимательно следит за ним. Реакции нет. Просто привычное движение взглядом по экранам.

— Ну, офис пустой, как и должно быть.

— Промотай назад и вперёд.

— Вот смотри: 4:12 — всё нормально. 4:13 — секунду помехи, но это бывает. 4:14 — всё снова нормально.

Он говорит это спокойно, как что-то обыденное.

— Тебя именно этот момент интересует?

— Да.

— Ну, ничего подозрительного. Камеры иногда ловят помехи от сети, особенно если сервак их подгружает пакетами.

Ольвир смотрит на него. Тот спокоен. Как будто это действительно нормальная вещь. Как будто ничего странного не было.

— СКУД?

— Никто не входил.

— А в другие офисы?

— Тоже чисто.

Ольвир молчит пару секунд.

— У вас часто помехи в одно и то же время?

Охранник хмыкает.

— Ну, не всегда, но это обычное дело. Иногда камерам не хватает буфера, иногда кто-то в серверной лазит.

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


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

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

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

— Если бы, — коротко отвечает Ольвир, проходя внутрь и облокачиваясь на стойку с оборудованием.

Они знают его давно. Он часто сталкивается с ними, когда приезжает на вызовы в этот бизнес-центр. Иногда после особо долгих дней даже пьёт с ними пиво, хотя в остальное время держит дистанцию.

— Слушайте, у вас на магистрали ночью ничего необычного не было?

— В смысле?

— В четыре тринадцать утра.

Лис приподнимает бровь.

— У себя я уже смотрел, — Ольвир пожимает плечами. — Просто уточняю.

Шакал что-то быстро пробивает по монитору, щёлкает мышью.

— Нет, ничего особенного. Никаких отвалов. Если твои клиенты жалуются, то, скорее всего, они опять что-то нахимичили у себя.

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

Шакал хмыкает.

— Окей, а что именно тебе не нравится?

— VLAN 66.

Шакал фальшиво приподнимает брови, пытаясь изобразить шок.

— Шестьдесят шесть? Или шестьсот шестьдесят шесть? Ахаха, адский влан! Чёрный админ, чёрный влан, всё как надо.

Лис сдвигается ближе, усмехаясь с хитринкой:

— Может, ты просто неправильно прочитал? Может, это был влан 69?

— Ну конечно, ещё скажи, что там всё в розовых оттенках, — Ольвир закатывает глаза.

— Кто знает, может, ты просто не успел заметить, — лис проводит наманикюреным когтем по краю клавиатуры, ухмыляясь.

Шакал фыркает.

— Слушай, а что за сеть вообще? Я что-то не помню, чтобы у нас вообще был 66-й.

— У вас его и нет.

— А у тебя есть?

— Теперь уже нет.

— А раньше был?

— Не создавал.

Лис хмыкает.

— Может, кто-то решил пошутить?

— Если кто-то и лазил, то как призрак, — вставляет шакал, пробегая по журналу событий.

— Или как глюк, — добавляет лис.

— Ага, или как глюк.

Ольвир молчит. Они подшучивают, но ему от этого не легче.

— Ладно. Если что-то всплывёт — сообщите.

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

Ольвир не реагирует.

— А если появятся глюки? — ухмыляется лис, чуть склоняя голову набок.

— Тогда я приду с пивом, — отвечает Ольвир, выпрямляясь и направляясь к выходу.

— О, это уже другой разговор, — шакал подмигивает.

Он не оглядывается, просто машет лапой и выходит.


Ольвир сидит в серверной. На всякий случай снова включает Gi1/0/3. Просто проверяет — вдруг это странное устройство снова появится. Но нет. CDP пуст. Логи чистые. Порт активен, но за ним ничего нет. Ольвир молча наблюдает за экраном. Потом выключает дисплей, откидывается на стуле, прислушивается к ровному гулу серверов.

Ничего.

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

В серверную заглядывает секретарша:

— Ты там что, ночевать собрался?

Ольвир молча застёгивает сумку, проводит лапой по полке стойки, проверяя, ничего ли не забыл. Взгляд цепляется за чёрный патч-корд, всё ещё лежащий там, где он его оставил. Берёт его, сворачивает, убирает в карман пальто.

— Ну всё, теперь доволен? — язвит секретарша.

— Как и ты. 

Лифт плавно движется вниз, кабина чуть покачивается. Ольвир стоит ближе к панели, перебирает в пальцах патч-корд, ощущая его гладкую оплётку. Секретарша напротив, прислонилась к стене, скрестив лапы на груди. Желтые рысьи глаза прищурены, уши подрагивают в ожидании.

— Ну, и что ты там нашёл? — тянет она, чуть приподняв бровь.

— Глюки сети, — отвечает он. — Просто странные.

Она хмыкает.

— Конечно. Просто странные.

— А что ещё? Демоны в серверах?

— Ха, да ты уже сам не так уверен, да?

Он молчит.

— Ты ведь раньше говорил, что если что-то работает, значит, оно работает, если нет — значит, нет. Без всякой этой... мистики.

— Так и есть.

— Ну-ну, — в её голосе скользит лёгкое развлечение.

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

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

Ольвир выходит следом. В это время уже почти никого нет, только охранник за стойкой лениво листает новости.

— Подвезти? — спрашивает она, набрасывая пальто и доставая ключи.

Он раздумывает. Было бы проще — доехать быстро, не толкаться в электричке, не стоять под ветром.

— Нет, — отвечает он после короткой паузы.

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

Она идёт к выходу.

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

— Чертовы кошки.


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

Двери за его спиной распахиваются, и мир вокруг будто становится ярче на пару ступеней. Выходит лис-админ, будто не из здания, а с какой-то сцены. Лёгкий запах парфюма, шарф, небрежно накинутый, пальто с нелепо изящным подворотом рукава, худощавое тело, движущееся с дерзкой, почти кошачьей грацией. В одной лапе — телефон, на видеозвонке: поток слов, имён, обещаний, планов, фраз без запятых. Даже не глядя, можно догадаться: там тусовка. Там гремит музыка, грохочут пивные кружки, кто-то кого-то уговаривает, кто-то уже флиртует с барменом. Там шумно, и весело, и слишком тесно.

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

Ольвир переводит взгляд с экрана на него. Секунду просто смотрит — как будто мозг обрабатывает этот слишком быстрый, слишком яркий поток слов и интонаций.

— У меня тут ещё один заказ, — отвечает тихо.

Лис дёргает ухом.

— Да ну, серьёзно? Вечером, в центре, здесь? Ты же просто не хочешь веселиться. Признайся хотя бы себе.

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

Ольвир слабо улыбается, не отводя взгляда.

— Может, в другой раз.

— Ха. Ты это говоришь каждый раз. Ну, как знаешь.

Он делает шаг назад, кивает — не прощаясь, а просто обозначая, что исчезает. И действительно исчезает: растворяется в уличном шуме, в сполохах фар, в спешке Савёловской.

Ольвир остаётся. Медленно выдыхает, стряхивает пепел, бросает окурок в урну. Смотрит на карту в телефоне. Короткий путь до Депо на Лесной. Не потому что ближе. А потому что тише.

Ему точно нужно успокоить нервы — но не в этой компании.


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

Он почти расслабился. Почти.

Именно в этот момент, где-то за его спиной, звонко смеётся кто-то — звонко и резко, как разбившийся бокал. Молодой голос, чуть надтреснутый от вечеринок и кальяна:

— #DemonGlitch, брат, отвечаю! Я ж тебе говорю, он мне сам её фотки открыл! Я даже не успел свайпнуть!

— Да ну на, — отвечает собеседник, гнусавый, с набитым ртом. — Ты бы ещё сказал, что он тебя трахнуть пытался. Это просто айос тета. Последний патч, да, он немного шизит, но там и написано: живая оболочка, предугадывает желания. Мне вообще нравится. Сири мне вчера подсказала, где пиво дешевле взять.

— Ты ж в обход всё ставишь, нет?

— Ну да. Через Инфернал Дисент. Патчей нет в сторе, но я нашёл зеркало, всё чисто. Предыдущие версии норм были. Это просто тета, она ещё сырая.

За соседним столом кто-то фыркает, кто-то ржёт, кто-то уже громко лезет в телефон гуглить "Infernal Descent". Кто-то вслух читает: «откройте новые грани своего айфона», — и выдает сдавленный смешок. Ольвир не двигается. Просто слушает, откусив кусок утки. Челюсти двигаются автоматически. Он не знает этих людей. Не видел их раньше. Просто шумные посетители, из тех, кто приходит за вайбом, а не за едой.

И в этот момент один из экранов фудкорта — рекламный, что обычно показывает крутящиеся роллы, бургеры, QR-коды и анимированных поваров — вдруг дёргается. Не мерцает, не выключается. Просто меняет ритм. Вдруг становится слишком плавным, как если бы кто-то сменил настройки графики. Картинка размывается, словно от плохого кодека. Улыбающаяся морда повара-енота с рекламного баннера на секунду стекает вниз, обнажая кости, а надпись «специальное предложение» превращается в «𝔃𝔞𝔤𝔞𝔡𝔬𝔠𝔫ый д𝔞𝔯 т𝔢𝔫𝔢й».

Кажется, никто, кроме Ольвира, этого не замечает. Слишком мелкое. Слишком быстрое. Через три секунды всё снова как было: роллы крутятся, QR-код зовёт в доставку.

Он пытается решить, галлюцинация ли это, или нет. И заказывает еще пару бутылок.


Он допивает третью Циндао медленно. Словно надеется, что алкоголь отшлифует углы восприятия, сведёт всё к банальным глюкам: «устал», «переел», «недослышал». Много работы. Мало сна. Пережил странный день, вот и всё. Но утка уже съедена, пиво выпито, а слова инфернал дисент не отпускают. И то, как экран мигнул — слишком чётко. Слишком... адресно?

Он выдыхает и всё же решает: домой.

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

Следующая станция: ŦїM̸иR̷͝яZ̴3V̴-≠K̴∆¥∆
Текущее время: 22:66
Погода: –73°C, Мрачно

Он щурится. Медленно моргает. Смотрит снова.

Следующая станция: Тимирязевская
Время: 22:32
Погода: +6°C, Ясно

На экране — как будто всегда было так. В голове — слишком отчётливо: 22:66.

Он откидывается на спинку кресла. Из кондиционера как будто тянет морозом. Ольвир дышит через нос, глубоко. Потом смотрит в окно. За стеклом скользят станции, огни, одинокие платформы, граффити на бетонных стенах. Всё, как всегда.

Он (почти) засыпает.

— Станция Гhoulопрудная, — бормочет женский голос из динамика, как будто намеренно искажённый. — Следующая станция: Водники.

Его станция! Он резко открывает глаза. Табло перед ним моргает, дергается, словно пытается синхронизироваться с реальностью.

Станция: G̸x0l̴0P̵r̷U̵d̴-≠N̶∆¥
Следующая: V0iDники

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

Ольвир смотрит на табличку станции.

Долгопрудная. 22:33. Всё правильно. Почти. Этого достаточно, чтобы снова стало не по себе, а опьянение прошло, будто его и не было.

Выходит на улицу, подходит к своему автобусу — лампы на табличке с номером и маршрутом мигают, складываясь в незнакомые символы. Он опускает глаза. Нет. Пешком.

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

Кофе. Да. Надо сварить кофе, чтобы как-то… закрепиться в реальности. Плотно встать ногами на пол. Он достаёт новую пачку колумбийского, взятую ещё утром, распечатывает. Аромат — привычный, сухой, чуть дымный. Засыпает молотый кофе в воронку, заливает воду. Ждёт.

Но пока вода стекает, он уже сидит за столом с ноутбуком. Экран горит. Руки работают сами по себе.

Поисковый запрос: Infernal Descent.

Ничего внятного. Музыкальные миксы, какие-то промо-диджеи, три телеграм-канала с нулём подписчиков. Но он копает глубже — 4PDA, форумы, архивы обсуждений.

Посты в ветке прошивок:

«…поставил патч iOS 18.1 θ4 через ID-канал, работает плавно, Сири вообще как будто мысли читает…»

«…флешка с прошивкой странная, мд5 не совпадает, но работает. Даже лучше, чем должна…»

«…теперь айфон сам подбирает музыку по настроению. И он ПОПАДАЕТ, сука.»

«…ночью показалось, будто она заговорила со мной, не как Siri. Не знаю. Может, устал.»

«…экран сам включается на пару секунд в 12:12. Каждый день.»

«…у кого после обновления интернет “ускорился”? Пинг стал почти ноль, но как-то неестественно…»

«…один раз увидел, как иконка дискорда моргнула. Не просто анимация. Она моргнула.»

Сначала Ольвир морщится, как будто поневоле вляпался в паранойю. Но с каждой новой страницей становится… странно. Не по себе.

Потом — тот пост. Без имени. Без аватарки.

Каждый баг это дверь. Не все закрываются.

Ссылка. На телеграм-канал с кириллизованным названием ИНФЕРНАЛ ДЕСЕНТ. Закрыт. «Этот канал недоступен, так как он является приватным. Чтобы присоединиться, вам нужна пригласительная ссылка».

Он смотрит на надпись несколько секунд. Потом открывает комментарии к посту. Внизу — десятки людей, которые «тоже видели», «у кого тоже», «чья камера тоже». Кто-то прикрепил скриншот видеозаписи, где свет искажён, словно стекает вниз, как жидкость. Кто-то рассказывает, как голосовой помощник шептал имя его бывшей. Кто-то пишет: «У меня холодильник стал пищать в 5:55. Просто так. Без причины.»

Где-то дальше по странице — тред, обсуждающий странное устройство с CDP-именем VV0o0Oi19. Вроде как кто-то уже видел нечто с таким именем. Но скриншот битый. Или просто не прогружается.

Он закрывает вкладку. Потом открывает её снова. Переходит по ссылке. Снова: «Только по приглашению».

Ольвир не замечает, как стемнело окончательно. Кофе остыл, забытый на кухне. Шорох вентиляторов, мигающие иконки, блики от уличных огней на потолке. Он смотрит на экран, не моргая.

Потом — моргает всё-таки. Очень медленно. Голова клонится. Пальцы замирают на тачпаде. Он засыпает прямо в кресле. Лапы сползают с клавиатуры. А на экране вкладка Telegram так и остаётся открытой, с замком и надписью: T̴0б̵ы п̶P̷0и$̵0eд̵иN̸иT̴ьc̶я, V̵∆M̴ н̶¥ж̵N̴∆ п̷P̶иГ̵∆$̴иT̵ьcя $cыЛ̶k̴∆.