Quad9 добавил поддержку QUIC-протоколов DoH3 и DoQ для DNS

482 комментарии
Публичный DNS-резолвер Quad9 добавил поддержку DoH3 и DoQ на всей глобальной сети. Переход на DoH3 для существующих пользователей DoH происходит автоматически, DoQ доступен на порту 853

Разработчики Quad9 включили поддержку DNS over HTTP/3 (DoH3) и DNS over QUIC (DoQ) на всей глобальной сети резолверов. Оба протокола построены на транспортном протоколе QUIC и направлены на повышение конфиденциальности и скорости DNS-запросов. Для пользователей, уже использующих DoH-адрес https://dns.quad9.net/dns-query, никаких изменений в настройках не требуется — переход на DoH3 происходит автоматически.

Что даёт протокол QUIC

QUIC — транспортный протокол, в котором шифрование заложено на уровне архитектуры, а не добавлено поверх, как TLS в TCP. Режима открытого текста в QUIC не существует, а для шифрования используется исключительно TLS 1.3 — наиболее быстрая и криптографически стойкая версия стандарта. Quad9 уже требует минимум TLS 1.2 на своём DoH-сервисе, и протоколы на базе QUIC поднимают эту планку выше.

TCP передаёт метаданные, которые TLS защитить не может: номера последовательности пакетов, флаги соединения и другую транспортную информацию, видимую любому наблюдателю на пути трафика. В QUIC защищена большая часть транспортного уровня — включая номера пакетов и части заголовков, что сужает возможности анализа трафика.

Блокировка очереди (head-of-line blocking) — ситуация, при которой потеря одного TCP-пакета задерживает доставку всех последующих пакетов в соединении, даже если они содержат данные для независимых запросов. QUIC решает эту проблему за счёт мультиплексирования: каждый запрос передаётся в отдельном потоке, и потеря пакета в одном потоке не влияет на остальные.

Установка шифрованного соединения через TCP требует последовательного выполнения двух рукопожатий: сначала TCP, затем TLS. QUIC объединяет эти шаги, сокращая число обменов до установления защищённого сеанса. Для DNS, где критична задержка, это ощутимо влияет на время отклика. Кроме того, QUIC поддерживает миграцию соединения: активный сеанс сохраняется при переключении между сетями (например, с Wi-Fi на мобильную связь), тогда как TCP-соединение в такой ситуации разрывается.

DNS over HTTP/3: автоматический переход

DoH3 — это DNS over HTTPS (RFC 8484) поверх HTTP/3, который работает на базе QUIC. Для тех, кто уже использует DoH-адрес Quad9, менять конфигурацию не нужно.

Quad9 сигнализирует о доступности HTTP/3 несколькими стандартными механизмами. Клиенты, которым известен только IP-адрес резолвера, могут использовать DDR (Discovery of Designated Resolvers), запрашивая SVCB-записи по адресу _dns.resolver.arpa. Клиенты, которым известно имя хоста резолвера, обращаются к SVCB-записям для dns.quad9.net. Для клиентов, подключающихся через HTTP/2, сервис возвращает заголовок alt-svc, указывающий на доступность HTTP/3.

Браузеры на базе Chromium выполняют переход на DoH3 автоматически, без вмешательства пользователя. Браузеры и CDN-инфраструктура поддерживают HTTP/3 уже продолжительное время, поэтому клиентские библиотеки и инструментарий достаточно зрелые.

DNS over QUIC: протокол без HTTP-стека

DoQ, определённый в RFC 9250, использует принципиально иной подход. Вместо того чтобы оборачивать DNS в HTTP, он передаёт DNS-запросы напрямую поверх QUIC. HTTP-стек не задействован — протокол спроектирован специально для DNS. Клиенты подключаются через порт 853, тот же, что используется для DNS over TLS (DoT).

DNS over QUIC (DoQ) — стандарт зашифрованной передачи DNS, описанный в RFC 9250. В отличие от DoH3, который оборачивает DNS-запросы в HTTP/3, DoQ передаёт их напрямую через QUIC-потоки без промежуточного HTTP-уровня. Порт по умолчанию — UDP 853.

DoQ пока находится на более ранней стадии внедрения, чем DoH и DoT. Разработчики Quad9 развёртывают его глобально, чтобы стимулировать экосистему: разработчикам клиентов, авторам прошивок маршрутизаторов и создателям ориентированного на конфиденциальность ПО нужна рабочая инфраструктура для тестирования. Спецификация без масштабного развёртывания труднее приживается в экосистеме. Подход Quad9 к DoQ повторяет их предыдущий опыт с DoT: запустить в продакшене и дать разработчикам реальный сервис для работы.

Настройка и доступные варианты

Для DoH3 менять настройки не нужно. Клиенты, реализующие DDR, DNS SVCB, HTTPS-обнаружение или обработку заголовка alt-svc, обнаруживают и используют HTTP/3 автоматически без изменения сконфигурированного DoH-адреса.

https://dns.quad9.net/dns-query

Для DoQ достаточно указать имя хоста нужного варианта сервиса Quad9 на порту 853.

quic://dns.quad9.net:853

Оба протокола доступны на всех вариантах Quad9: фильтрующий резолвер, нефильтрующий резолвер и точка доступа с поддержкой ECS (EDNS Client Subnet). Все варианты одинаково поддерживают DoH3, DoQ, DoH (версия 2), DoT и DNSCrypt.

Перспективы внедрения

Принятие новых DNS-протоколов происходит постепенно. DoT прошёл долгий путь от спецификации до широкой клиентской поддержки. DoH распространялся быстрее — во многом потому, что работал на инфраструктуре, уже существовавшей для веб-браузеров. Протоколы на базе QUIC имеют преимущество: библиотеки и инструментарий QUIC уже развёрнуты в масштабе для веб-трафика, что снижает порог входа для DNS-клиентов.

Команда Quad9 продолжит следить за развитием экосистемы вокруг DoH3 и DoQ. Авторам клиентского ПО для DNS и сопутствующих инструментов предлагается протестировать реализации Quad9 и сообщить о найденных проблемах.

Автор: По материалам quad9
Комментарии и отзывы

Нашли ошибку?

Новое на сайте