Как работает релей и зачем VPN промежуточный сервер внутри страны
Если посмотреть на адрес в конфигурации нашего VPN, вы увидите российский IP. Хотя сервер, который выпускает ваш трафик в интернет, стоит в Германии или Финляндии. Разберём, зачем так сделано.
Проблема прямого подключения
Самая очевидная схема — клиент соединяется напрямую с зарубежным сервером. Она же и самая уязвимая: системе фильтрации достаточно увидеть устойчивое шифрованное соединение на иностранный адрес, чтобы заинтересоваться. А дальше — блокировка по IP, и адрес мёртв.
Вдобавок маршрут до зарубежного узла проходит через международные стыки, которые вечером перегружены.
Проверьте на своём устройстве
Три дня бесплатно, карта не нужна. Аккаунт заводится на сайте, поддержка отвечает в Telegram.
Схема с промежуточным узлом
Добавим звено. Клиент подключается к серверу внутри страны, а тот уже переправляет трафик на зарубежный узел по своему каналу.
Что меняется с точки зрения наблюдателя: он видит соединение с местным адресом, похожее на обращение к любому российскому сервису. Никакого международного трафика в явном виде.
Как это устроено технически
Чаще всего используется переадресация пакетов на сетевом уровне — DNAT. Промежуточный сервер не расшифровывает трафик и даже не разбирает его: он просто меняет адрес назначения и отправляет дальше.
# упрощённо, правило на промежуточном узле
tcp dport 8448 dnat to 37.27.30.109:443
Клиент стучится на порт 8448 российского адреса, а пакет уезжает на зарубежную ноду. Шифрование при этом сквозное: промежуточный узел ключей не имеет и содержимое прочитать не может.
Чем платим
- Лишний хоп. Задержка растёт на время прохода до промежуточного узла — обычно 5–20 мс
- Ещё одна точка отказа. Сломался промежуточный сервер — канал недоступен, хотя зарубежный узел жив
- Канал промежуточного узла становится общим горлышком для всех, кто через него идёт
Неочевидный эффект: блокировки бьют по связке
Самое интересное начинается, когда фильтрация блокирует не ваш адрес, а маршрут между узлами. Снаружи это выглядит странно: зарубежная нода прекрасно доступна из любой точки мира, промежуточный сервер жив и в интернет ходит, а соединение между ними не устанавливается.
Мы с таким сталкиваемся регулярно. Диагностика простая: проверить доступность ноды с самого промежуточного узла, причём несколько раз подряд — одиночная проверка не отличит стабильную поломку от мигания. И отдельно проверить ту же ноду с другого узла: часто оказывается, что проблема только в одном маршруте, и сервер можно спасти, просто переведя его на другой канал.
Почему мы держим много узлов
Чем больше независимых пар «промежуточный узел — нода», тем меньше шансов остаться совсем без связи. Сейчас у нас 49 конфигураций, распределённых по разным адресам, портам и протоколам. Когда один маршрут выходит из строя, остальные продолжают работать, а сломанный мы временно убираем из списка — чтобы вы не тратили время на заведомо мёртвый вариант.
Попробуйте бесплатно 3 дня
Без карты и автосписаний. Регистрация на сайте занимает минуту — ссылка подписки появится в личном кабинете сразу.
Читайте также
Anycast, CDN и маршрутизация: почему один адрес ведёт в разные места
Как работает раздача контента по всему миру, что такое Anycast и почему через VPN некоторые сайты вд…
СетиЧто происходит за ту секунду, пока VPN подключается
Пошаговый разбор: от нажатия кнопки до первого загруженного байта. DNS, рукопожатие, аутентификация …
О сервисеКак мы узнаём о проблеме раньше, чем вы напишете
Что именно проверяет наш мониторинг, почему простого пинга недостаточно и как устроена реакция на бл…