Блог Clearway

DPI и фильтрация трафика у операторов: как это устроено

Коротко

Операторы фильтруют трафик на двух разных уровнях. Первый — DPI (глубокая инспекция пакетов): анализ SNI и ClientHello, сигнатур протоколов, размеров и таймингов пакетов, репутации IP-подсети — так детектят и троттлят «похожий на VPN» трафик по содержимому. Второй, более грубый, — при шатдаунах мобильный интернет переводят в режим «белого списка» (default-deny): достижимы только whitelisted-подсети (часть CDN, госсайты), и VPN, идущий напрямую к своей ноде на датацентр-IP, отваливается независимо от протокола. Инфраструктурный ответ оператора VPN-сервиса — увести вход за whitelisted CDN-edge: для сети трафик выглядит как обращение к «белому» CDN, а edge проксирует его на ноду. Рабочий транспорт под ограничениями — XHTTP через CDN; Reality и Hysteria2 edge обычно не пропускает.

Нужен просто работающий VPN? CLEAR VPN — наш сервис для частных лиц на том же «белом» входе, о котором эта статья: работает, когда мобильный интернет ограничен до белого списка. Первые 5 дней бесплатно, карта не нужна. Остальной сайт — про инфраструктуру для владельцев VPN-сервисов; абонентом к ней подключиться нельзя.

Что такое DPI и как операторы фильтруют трафик

DPI (Deep Packet Inspection, глубокая инспекция пакетов) — это анализ трафика не только по адресу и порту, но и по содержимому на уровне приложения. Оператор смотрит внутрь TLS-рукопожатия, считает размеры и тайминги пакетов, оценивает энтропию потока и репутацию подсети назначения. На этом строятся и точечные блокировки, и троттлинг (замедление) «похожего на VPN» трафика.

Практически фильтрация складывается из нескольких уровней, которые работают одновременно:

УровеньЧто анализируетсяКак проявляется
IP / подсеть (L3)адрес назначения, репутация /24блок или троттлинг по диапазонам
Транспорт (L4)порт, размеры пакетов, таймингиограничение нестандартных портов, UDP
SNI / ClientHello (L7)домен в TLS-handshake, fingerprintсброс или замедление по домену
Сигнатуры протоколаотпечаток рукопожатия, энтропия потокадетект VPN-протоколов и их обрыв
Поведениеравномерный поток, длинные соединениятроттлинг долгих «туннельных» сессий

Ключевой вывод для оператора: DPI различает не «что вы передаёте», а «на что это похоже». Трафик, который для оборудования выглядит как обычное обращение к легитимному веб-ресурсу (например, к CDN), проходит там, где голый VPN-протокол уже отсекается.

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

Режим белого списка при шатдаунах: почему VPN напрямую отваливается

Обычная блокировка работает по принципу default-allow: закрыто то, что попало в чёрные списки, остальное открыто. Шатдаун — это противоположный режим, default-deny. При масштабных ограничениях российские мобильные операторы переводят мобильный интернет в режим «белого списка»: достижимы только whitelisted-ресурсы — часть CDN и госсайты, а всё остальное просто недоступно.

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

Отсюда инфраструктурная логика: если оператор пропускает обращения к «белому» CDN, то вход VPN нужно поставить за таким CDN-edge. Для оператора связи трафик выглядит как запрос к whitelisted-домену CDN (например, поддомену Yandex CDN), а edge уже проксирует данные на вашу ноду. Так решается не «обход» как услуга, а устойчивость сервиса под ограничениями оператора.

Побочный, но важный эффект того же приёма: даже вне шатдауна, под обычным DPI-троттлингом, обращение к whitelisted-домену CDN выглядит легитимно. Один и тот же вход закрывает сразу две задачи — «нода недостижима в белом списке» и «трафик похож на VPN».

Нужен вход, который проходит при белых списках, прямо сейчас? CLEAR VPN: первые 5 дней бесплатно, карта не нужна, до 10 устройств.

Получить ключ на 5 дней →

Whitelist привязан к подсетям /24 — как это проверять

Важный нюанс: whitelist привязан не к доменам, а к IP-подсетям, чаще всего на уровне /24. У одного хостера подсети могут быть в белых списках, у соседнего — нет, и статус со временем меняется. Поэтому единственный корректный подход — проверять каждую /24 отдельно и актуально, без опоры на «репутацию бренда» хостера в целом.

ХостерЧастый статус /24Комментарий
Selectelчасто whitelistedно проверять конкретную подсеть
cloud.ru / SberCloudчасто НЕ whitelistedвход за таким IP рискован
Прочие ДЦпо-разномустатус меняется, гарантий нет

Цифры в таблице — это наблюдаемая частая картина, а не гарантия: «навсегда белых» диапазонов не существует, любую /24 нужно перепроверять при изменении картины блокировок.

Практический принцип: за whitelisted-диапазоном должен стоять именно вход (CDN-edge / gateway), а не сама нода. Ноду можно держать на любом удобном хостинге — её IP оператор напрямую не видит, поэтому whitelist-статус подсети ноды значения не имеет. Проверять на белый список нужно диапазон точки входа.

Транспорт под троттлингом: XHTTP через CDN против Reality и Hysteria2

Не каждый протокол переживает прохождение через CDN-edge. Edge терминирует TLS и работает как HTTP-прокси: до origin доходит только то, что укладывается в модель обычных HTTP-запросов. Поэтому под троттлингом и в связке с CDN протоколы ведут себя по-разному.

ТранспортНапрямую под троттлингомЧерез whitelisted CDN
XHTTP (mode packet-up)зависит от диапазонарабочий подход
Realityчасто НЕ проходитedge обычно не пропускает
Hysteria2 (QUIC/UDP)часто НЕ проходитedge обычно не пропускает

Reality опирается на имитацию TLS к чужому сайту, а Hysteria2 — на UDP/QUIC; ни то, ни другое не переживает терминацию и HTTP-семантику edge. XHTTP в режиме packet-up, наоборот, изначально выглядит как поток HTTP-запросов и потому нормально ходит через CDN. Для сценария «вход за whitelisted-CDN» это фактически основной рабочий транспорт — при условии, что uplink размещён правильно (см. следующий раздел).

Актуальные настройки XHTTP через CDN

Ошибка unexpected EOF сама по себе не определяет причину. В текущем входе Clearway GET с телом отклоняется CDN с ошибкой 413. Проверьте серверный auto и лимит заголовков, затем клиентский header; для других ошибок сопоставьте время и журналы клиента, CDN, gateway и origin. Ответ HTTP 200 и успешный TLS ещё не подтверждают передачу HTTPS через туннель. Для текущего XHTTP-входа Clearway клиент отправляет uplink в заголовках: uplinkHTTPMethod: "GET", uplinkDataPlacement: "header", uplinkChunkSize: 4096, scMaxEachPostBytes: 4096. Сначала на сервере задайте uplinkDataPlacement: "auto" и serverMaxHeaderBytes: 262144, затем обновите Host и подписки клиентов. Порт, путь, пользователей и остальные параметры сохраняйте. Серверный auto нельзя переносить в клиентскую ссылку.

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

Для текущего XHTTP-входа Clearway клиент отправляет uplink в заголовках: uplinkHTTPMethod: "GET", uplinkDataPlacement: "header", uplinkChunkSize: 4096, scMaxEachPostBytes: 4096. Сначала на сервере задайте uplinkDataPlacement: "auto" и serverMaxHeaderBytes: 262144, затем обновите Host и подписки клиентов. Порт, путь, пользователей и остальные параметры сохраняйте. Серверный auto нельзя переносить в клиентскую ссылку.

Нода за CDN: настройка, безопасность origin и учёт трафика

Схема «нода за whitelisted-CDN» одинаково ложится на популярные панели — Remnawave, 3x-ui, Marzban, Hiddify. Нода держит XHTTP-инбаунд (например, на порту 25454), а клиентский конфиг указывает CDN-поддомен как Address / SNI / Host. Данные идут через edge, origin остаётся невидимым для оператора.

Безопасность origin. Origin нужно закрыть файрволом на вход: принимать соединения только с IP gateway (CDN). Дополнительно секрет-заголовок X-Cdn-Auth защищает origin от прямых обращений мимо CDN — если запрос пришёл без валидного секрета, он отклоняется. Так исключается и утечка реального IP, и паразитные прямые подключения.

Размер uplink-пакета влияет на число HTTP-запросов и нагрузку. Для текущего входа используйте клиентские uplinkChunkSize: 4096 и scMaxEachPostBytes: 4096. Увеличение пакетов ради экономии требует отдельной проверки лимитов CDN и сервера; перенос GET в body сейчас приводит к ошибке 413.

Учёт трафика. Множитель потребления ноды и per-user лимиты — это механизмы панели (например, Remnawave). Множитель 0 на ноде означает, что её трафик не засчитывается против лимита пользователя, при этом нода продолжает работать — удобно для служебных или «белых» маршрутов.

Чего whitelist-CDN НЕ решает: стриминг и резидентные IP

Важно не смешивать две разные задачи. «Пробить троттлинг / шатдаун» и «разблокировать российский стриминг» — это не одно и то же. Whitelist-CDN закрывает первую задачу и никак не помогает со второй.

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

Именно устойчивый whitelisted-вход как инфраструктурный слой и предоставляет Clearway (clear-way.pro): сервис для VPN-операторов даёт «белый» вход перед вашими нодами на CDN-edge (*.whitechannel-x1-cdn.ru), без продажи серверов. Оператор оставляет за собой панель, ноды и учёт, а задачу «оператор должен видеть whitelisted-трафик» закрывает готовым edge-слоем — вопрос резидентных IP при этом решается отдельно.

Частые вопросы

Чем DPI-фильтрация отличается от режима белого списка?

DPI (глубокая инспекция пакетов) анализирует содержимое трафика — SNI, ClientHello, сигнатуры протокола, размеры и тайминги пакетов — и на этом троттлит или блокирует «похожий на VPN» трафик. Режим белого списка — более грубый механизм при шатдаунах: фильтрация идёт по подсети назначения, достижимы только whitelisted-диапазоны независимо от содержимого пакета. Вход за whitelisted CDN-edge помогает против обоих: нода становится достижимой в белом списке, а трафик выглядит как легитимное обращение к CDN.

Чем шатдаун мобильного интернета отличается от обычной блокировки?

Обычная блокировка работает по принципу default-allow: закрыто только то, что в чёрных списках. Шатдаун — это режим default-deny, «белый список»: достижимы только whitelisted-ресурсы, а всё остальное недоступно. Поэтому VPN, идущий напрямую к своей ноде на датацентр-IP, при шатдауне отваливается целиком, независимо от протокола и порта.

Почему Reality и Hysteria2 не проходят под троттлингом через CDN?

CDN-edge терминирует TLS и работает как HTTP-прокси, до origin доходит только HTTP-подобный трафик. Reality имитирует TLS к чужому сайту, а Hysteria2 использует UDP/QUIC — ни то, ни другое не переживает терминацию и HTTP-семантику edge. XHTTP в режиме packet-up изначально выглядит как поток HTTP-запросов и потому нормально ходит через CDN.

Туннель XHTTP рвётся с ошибкой unexpected EOF — в чём причина?

Для текущего XHTTP-входа Clearway клиент отправляет uplink в заголовках: uplinkHTTPMethod: "GET", uplinkDataPlacement: "header", uplinkChunkSize: 4096, scMaxEachPostBytes: 4096. Сначала на сервере задайте uplinkDataPlacement: "auto" и serverMaxHeaderBytes: 262144, затем обновите Host и подписки клиентов. Порт, путь, пользователей и остальные параметры сохраняйте. Серверный auto нельзя переносить в клиентскую ссылку.

Как понять, whitelisted ли подсеть моего хостера?

Whitelist привязан к подсетям /24, а не к бренду хостера, и статус со временем меняется. Проверять нужно каждую конкретную /24 отдельно и актуально. Selectel часто оказывается whitelisted, cloud.ru и SberCloud — часто нет, но опираться на это как на гарантию нельзя: перепроверяйте диапазон при изменении картины блокировок. Проверять при этом нужно подсеть точки входа (CDN-edge / gateway), а не самой ноды.

Решает ли whitelist-CDN разблокировку Кинопоиска и другого стриминга?

Нет. Whitelist-CDN закрывает задачу прохождения троттлинга и шатдаунов, но стриминги вроде Кинопоиска банят датацентр-IP по репутации независимо от CDN. Для российского контента нужен резидентный IP — это отдельная инженерная задача, которую whitelisted-вход не решает.

Как сделать так, чтобы трафик ноды не считался против лимита пользователя?

Множитель потребления ноды и per-user лимиты — механизмы панели (например, Remnawave). Множитель 0 на конкретной ноде означает, что её трафик не засчитывается против лимита пользователя, при этом нода продолжает работать. Это удобно для служебных или «белых» маршрутов.

VPN, который работает при белых списках

CLEAR VPN — сервис для частных лиц на том же «белом» входе, о котором пишет этот блог. Нужна только почта: первые 5 дней бесплатно, карта не нужна. Когда пробный срок закончится — доступ просто остановится, ничего не спишется.

Попробовать бесплатно →