zuif
← Главная
Статья

RuVn VPN: как WireGuard вырос в систему

5 мин чтения
WireGuard VPN Кибербезопасность AdGuard Бастион
RuVn VPN: как WireGuard вырос в систему

RuVn VPN начался не как сервис. Я просто хотел руками понять, как работает защищённый туннель.

В 2021 году я много копался в кибербезопасности: публичные сети, MITM-атаки, DNS-подмена, перехват трафика, базовая гигиена подключения. Читать про это полезно, но в какой-то момент захотелось собрать свою схему и посмотреть, где теория превращается в конфиги, маршруты и реальные устройства.

Так я поднял первый WireGuard-сервер.

Почему именно WireGuard

WireGuard понравился мне своей прямотой. В нём нет ощущения огромного комбайна, где половина настроек существует на всякий случай. Есть ключи, peer-ы, AllowedIPs, UDP, понятная криптография и довольно прозрачная модель работы.

Для личного сервера это идеально. Сгенерировал ключи, добавил peer, собрал конфиг, отсканировал QR-код — и телефон уже ходит через туннель.

Ещё мне нравилось, что WireGuard не ломается от обычной мобильной жизни. Перешёл с Wi-Fi на мобильную сеть, сменился IP, устройство проснулось после сна — туннель восстанавливается спокойно. Для пользователя это почти незаметно, а для VPN это важная характеристика.

В тот момент никакого продукта не было. Была лаборатория для себя.

Первый признак сервиса

Потом доступ попросили близкие. Потом друзья. Потом друзья друзей.

Пока пользователей двое, всё можно делать руками. Зашёл на сервер, создал ключи, добавил peer, собрал файл, отправил QR. Это несложно.

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

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

Затем появился Telegram-бот. Для пользователя это понятнее: получить конфиг, продлить доступ, открыть инструкцию прямо в мессенджере. Для меня — меньше объяснений и меньше ручной пересылки файлов.

Проблема была не в WireGuard

На этом этапе можно было решить, что WireGuard “не масштабируется”. Но это было бы неправильным выводом.

Сам протокол меня устраивал. Не хватало не другого VPN, а слоя управления вокруг хорошего VPN. Нужно было понимать, кто подключён, на каком сервере, когда выдан доступ, как отключить peer, как добавить новую локацию, как не превратить всё в таблицу и набор SSH-команд.

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

Здесь появилась идея бастионной архитектуры.

Бастион как способ убрать хаос

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

Серверов может быть несколько. Локации могут меняться. Доступы нужно выдавать, отзывать, переносить, мониторить. Пользователю не нужно знать, какой backend сейчас обслуживает его подключение. Ему нужно, чтобы VPN работал предсказуемо.

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

Это уже не “поднять VPN”. Это инфраструктура.

DNS-фильтрация как второй слой

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

AdGuard DNS и похожие решения позволяют блокировать рекламные и трекинговые домены на уровне резолва. Пользователю не нужно ставить отдельное расширение в браузер. Подключился к VPN — часть мусора просто не доходит до устройства.

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

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

Что внутри сейчас

Сейчас RuVn VPN состоит из нескольких частей: WireGuard-серверы, админка, Telegram-бот, генерация конфигов, управление пользователями, DNS-фильтрация и постепенно растущий мониторинг.

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

Похожий принцип я потом использовал в RuVn Mod: если ручное действие повторяется слишком часто, оно превращается в кандидат на автоматизацию. В VPN это были конфиги и доступы. В RuVn Mod — публикации, модерация, магазин и роли. ## Что дальше

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

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

Ещё важен пользовательский UX. Большинству людей неинтересно, что такое peer или AllowedIPs. Им нужно открыть Telegram, получить понятную инструкцию и подключиться без паники. Хорошая инфраструктура должна быть сложной внутри и простой снаружи.

RuVn VPN для меня остаётся инженерным проектом, который вырос из личной лаборатории. Я не менял его рывком. Каждый новый слой появлялся после конкретного раздражения: ручная выдача, отсутствие картины, несколько серверов, DNS, мониторинг, а теперь ещё и независимость от одного провайдера.

Такой рост мне близок. Сначала ты понимаешь технологию руками. Потом технология начинает обслуживать реальных людей. А потом реальный инцидент показывает, какие части архитектуры были красивыми, но недостаточно живучими.