Все статьи
Технологии
12 мин

Как мы потеряли четыре сервера за месяц: хроника блокировок изнутри

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

Начало августа: Франкфурт

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

Проверка изнутри российской сети показала главное: до адреса не доходят пакеты. Пинг проходил, а попытка установить соединение зависала и обрывалась по таймауту. Ни на 443-м порту, ни на каком другом.

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

Варшава: сервер, заблокированный до покупки

На замену взяли сервер в Польше. Развернули полностью: сертификат, веб-сервер, туннель, пользователи. Из Европы всё работало идеально.

Из России — не работало вовсе. Адрес оказался заблокирован ещё до того, как мы к нему прикоснулись.

Объяснение простое и неприятное: хостеры переиспользуют адреса. Если раньше на этом адресе работал другой сервис, он мог попасть в списки задолго до нас. Хостер честно ответил, что списков у него нет, а замена адреса стоит денег и ничего не гарантирует.

После этого случая мы поменяли порядок работы: сначала проверяем адрес из России, потом разворачиваем. Следующие два сервера — в Брюсселе и Ашберне — проверили до настройки, оба оказались чистыми и работают до сих пор.

19 августа, 18:00: два сервера за час

Самый показательный случай. Вечером одновременно отвалились Нидерланды и Швеция — наши основная и вторая по нагрузке локации.

Счётчики подключений по часам говорят сами за себя. Нидерланды: в 17:00 — 15 754 подключения, в 18:00 — 71, в 19:00 — 25. Швеция: 3 339, затем 3, затем 7.

Для сравнения, за те же часы Бельгия шла 3 800 → 4 733 → 6 420, США 987 → 3 179 → 2 762, Эстония 13 009 → 6 643 → 14 471. То есть работали нормально и даже приняли на себя часть нагрузки.

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

Как мы это проверяли

Главная сложность диагностики: наши серверы находятся за пределами России, и между собой они прекрасно доступны. Чтобы увидеть картину глазами пользователя, нужна точка наблюдения внутри страны.

У нас есть российский сервер — это наша RU-локация. Мы подняли через него временное соединение и уже изнутри российской сети постучались во все свои адреса.

Результат был однозначным: Нидерланды и Швеция не отвечают, Бельгия, США и Эстония отвечают штатным подтверждением соединения. Тот же тест из Европы показывал, что все пять серверов живы.

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

Что мы сделали за первый час

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

Мы поставили вперёд Бельгию — самую быструю из живых локаций, 45 миллисекунд от Москвы. Дальше Эстонию и США.

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

Швецию отключили полностью — она осталась работать только под почтовую инфраструктуру.

Что мы поняли за этот месяц

Блокируют адреса, а не протоколы. Транспорт у нас всё это время не менялся и продолжал работать на других серверах.

Соседние адреса ведут себя по-разному. Из двух адресов в одном дата-центре заблокировали один. Это открывает возможность быстрого восстановления.

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

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

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

Что это значит для вас

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

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

И не ищите «неблокируемый VPN» — такого не существует. Ищите тот, у которого несколько независимых локаций и который замечает потерю за час, а не за неделю.

Что мы поменяли в работе после этого месяца

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

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

Наблюдение за счётчиками. Резкий обрыв подключений на одной локации при нормальной работе остальных — однозначный признак блокировки. Мы отслеживаем это и видим проблему в течение часа.

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

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

Сколько это стоит и почему мы об этом пишем

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

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

Вторая: честный разбор полезнее обещаний. Сервис, который пишет «мы никогда не блокируемся», либо не сталкивался с реальностью, либо не говорит правду. Мы предпочитаем объяснять, что произошло и что сделано.

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

Пять локаций, устойчивый транспорт, честная поддержка

Мы используем VLESS поверх WebSocket и TLS на 443-м порту с настоящими доменами и валидными сертификатами — для сети это неотличимо от обычного сайта. Когда адрес всё-таки попадает под фильтр, мы переключаем людей на рабочую локацию и покупаем новый — за август это происходило четыре раза, и сервис продолжал работать. Пробный период оформляется на сайте за пару минут, без карты.

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