DPI, SNI, DNS и IP-блокировка: 4 способа поломать доступ

· Антон Беляев

В России доступ к сайту может быть ограничен на четырёх разных уровнях: на DNS, по IP-адресу, по SNI в TLS-handshake и через DPI. Это разные механизмы, и поэтому одни блокировки обходятся сменой DNS-сервера, а другие — нет.

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

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

Коротко

  • DNS-блокировка — самый простой слой: оператор не возвращает IP по имени домена.
  • IP-блокировка — оператор отбрасывает пакеты на конкретный адрес или подсеть.
  • SNI-блокировка — оператор обрывает TLS-соединение, увидев запрещённое имя домена в открытом ClientHello.
  • DPI-блокировка — глубокая инспекция пакетов, анализирующая содержимое и поведение трафика.
  • Чем глубже слой, тем сложнее обход и тем больше ресурсов требуется на сторону фильтрации.
  • На практике эти методы часто комбинируются: DNS + SNI или IP + DPI.

Четыре слоя блокировки: как они работают

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

DNS-блокировка

Самый старый и простой метод. Оператор перехватывает DNS-запрос пользователя и либо не отвечает, либо возвращает «заглушку». В браузере появляется ошибка «Не удалось найти DNS-адрес сервера». Обход — переключение на сторонний DNS (DoH/DoT). Слабая сторона: легко обойти и легко идентифицировать, поэтому в чистом виде применяется редко.

IP-блокировка

Оператор блокирует весь трафик к конкретному IP-адресу или к подсети. Симптом — соединение зависает «в никуда» и завершается по таймауту, без ошибки DNS. Проблема такой блокировки в том, что под раздачу попадают все сайты, разделяющие тот же IP — типичная история с крупными CDN и облачными хостингами.

SNI-фильтрация

TLS-handshake начинается с поля ClientHello, в котором клиент в открытом виде передаёт имя сервера (SNI). ТСПУ читает это имя и, если оно в списке, обрывает TCP-соединение. Симптом — соединение сразу падает с ошибкой типа ERR_CONNECTION_RESET, чаще всего сразу после установки TCP. ECH и Encrypted ClientHello убирают SNI из открытого вида, но поддержка пока не повсеместная.

DPI-блокировка

Глубокая инспекция пакетов — самый «дорогой» слой. ТСПУ анализирует содержимое и поведение потока: какие шифры используются, какие длины пакетов, есть ли характерные сигнатуры VPN-протоколов. Симптом — соединение есть, но данные не идут, либо обрыв через 5–10 секунд после установки. DPI применяется в первую очередь к VPN-трафику и средствам обхода.

Как понять, какой именно тип блокировки

СимптомТип блокировкиЧто проверить
Браузер пишет «не удалось найти DNS-адрес»DNS-блокировкаСменить DNS на 1.1.1.1 / 8.8.8.8 / Quad9
Соединение зависает и падает по таймаутуIP-блокировкаПроверить ping и trace до IP сайта
ERR_CONNECTION_RESET сразу после ClientHelloSNI-фильтрацияПроверить, поддерживает ли сайт ECH
Соединение есть, но данные не идутDPI / поведенческая фильтрацияСменить протокол на маскированный
Не открывается с одного оператора, открывается с другогоРазная конфигурация ТСПУСравнить замеры по операторам
Сайт открывается через прокси, не через VPNСигнатурная блокировка протоколаСменить VPN-протокол

Как проверить прямо сейчас

Тип блокировки проще всего определить эмпирически: смените DNS — если заработало, дело было в DNS-фильтрации. Не заработало — проверьте маршрут до IP-адреса. Если IP отвечает, но HTTPS-соединение рвётся — это уже SNI. Если соединение есть, но данные не идут — DPI.

Чтобы не делать это вручную, можно воспользоваться Freedom Checker: сервис запускает проверки доступности сайтов и протоколов с пробников у разных операторов и регионов и видно, на каком именно операторе сработала фильтрация. Подробный разбор работы ТСПУ опубликован на Хабре.

Проверить доступность через Freedom Checker

Сбой или блокировка?

Если сайт не открывается совсем нигде, по любому оператору и любому DNS, и нет ошибок типа «server not found» — стоит проверить, не упал ли сам сервер. Это сбой со стороны сайта, а не блокировка.

Если же по одному оператору сайт стабильно недоступен, по другому — стабильно открывается, и симптом всегда один и тот же (RESET / таймаут / DNS-ошибка) — это уже работа фильтрации. Тип блокировки определяется именно по характеру ошибки.

На что обратить внимание

  • DNS-блокировка обходится сменой резолвера, остальные — нет.
  • IP-блокировка часто бьёт мимо: страдают невинные сайты на том же CDN.
  • SNI-фильтрация перестанет работать массово, когда повсеместно включат ECH.
  • DPI применяется в основном к VPN-трафику, обычные сайты под него попадают реже.
  • Несколько слоёв могут применяться одновременно — DNS + SNI или IP + DPI.
  • «Не открывается» — это слишком общее: всегда смотрите на конкретную ошибку.
  • В реестре РКН видны не все блокировки: ТСПУ может действовать без публичного основания.

Вывод

Четыре основных типа блокировки в России — DNS, IP, SNI и DPI — работают на разных уровнях сети. У каждого свой характерный симптом: ошибка резолва, таймаут, RESET или соединение без данных. Понимание того, какой именно слой задействован, помогает не тратить время на бесполезные обходные манёвры.

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

Проверить сейчас