Какой выбрать?
Тот, что вверху, — хороший выбор. Если у первых разница всего несколько миллисекунд, выбирайте по тому, что для вас важнее:
Блокировать известные вредоносные и фишинговые сайты: Quad9 или OpenDNS.
Приватность: Mullvad, Quad9 и Wikimedia заявляют, что не записывают, кто что запрашивал.
Защита от поддельных ответов: выберите сервер с ✓ — он проверяет DNSSEC (подписи доменов).
Если устройство принимает только адреса обычного DNS (большинство роутеров, старые системы), смотрите столбец UDP. Если самый быстрый обычный DNS не совпадает с победителем, он указан в строке под победителем.
Чтобы ваша сеть и провайдер не видели, какие сайты вы запрашиваете, используйте адрес DoT или DoH: обычный DNS не шифруется, и сети по пути могут его читать.
Как сменить DNS?
Android 9 и новее: Настройки → Сеть → Персональный DNS-сервер, введите имя хоста DoT (например, one.one.one.one). Работает в любой сети и шифруется.
iPhone и Mac: укажите DNS-серверы для каждой сети Wi-Fi. Для шифрованного DNS установите профиль конфигурации с сайта провайдера DNS.
Windows 11: Параметры → Сеть → ваше подключение → Назначение DNS-сервера → Вручную. Введите серверы и включите DNS через HTTPS.
Роутер: укажите DNS-серверы в настройках DHCP или WAN, и ими будут пользоваться все устройства в сети.
Только браузер: в Chrome, Edge и Firefox есть настройка «Безопасный DNS», где можно выбрать провайдера или вставить адрес DoH.
У каждого сервера есть своя страница с пошаговой настройкой. Нажмите на любой адрес на этой странице, чтобы скопировать его.
У меня прокси. Это всё ещё результат моей сети?
По умолчанию нет. Когда включён прокси или VPN, браузер обращается к DNS-серверам через него: тест замеряет маршрут прокси, и все зарубежные серверы кажутся примерно такими же быстрыми, как ваш прокси-сервер. А DNS, который вы указали на устройстве или роутере, обычно опрашивается напрямую, так что эти цифры — не то, что вы получите на деле.
Чтобы проверить свою сеть, добавьте прямые правила (кнопка рядом с полосой прогресса). Они отправляют напрямую только адреса этого теста, по точному имени хоста и отдельному IP, и не трогают остальной трафик. Поддерживаются Clash/Mihomo, Surge, Shadowrocket, Quantumult X, Loon, sing-box и Xray; большинство из них умеют загружать правила с этого сайта и сами их обновлять.
Как устроен тест?
Ваш браузер обращается к каждому DNS-серверу напрямую; через этот сайт ничего не идёт.
Сначала он подключается к каждому и один раз запрашивает три популярных имени, чтобы они попали в кеш этого сервера. Это в зачёт не идёт. Потом 10 раундов: в каждом все серверы опрашиваются по разу, каждый раз в новом случайном порядке, по нескольку одновременно. Поэтому если сеть на секунду просядет, это заденет всех одинаково, а не только того, чья была очередь. Через раунд запрашивается ещё и случайное имя, которого не существует.
Результаты — медианы, так что один медленный запрос не испортит итог. Время берётся из собственных сетевых замеров браузера, которые скрипты страницы не могут замедлить. Каждый запрос идёт на новый URL в обход всех кешей, поэтому ответить может только сам DNS-сервер.
Почему UDP и DoT — оценка?
Потому что браузер не может их измерить. Веб-страница умеет делать только HTTPS-запросы: обычный DNS по UDP (порт 53), шифрованный DNS по TLS (DoT, порт 853) и DoQ ей недоступны. Ни один сайт не может замерить их из вашей сети; кто показывает такие цифры, мерил со своего сервера или угадал.
Что делает эта страница вместо этого: отправляет DoH, то есть шифрованный DNS через HTTPS, на тот же самый сервер, который отвечает по UDP и DoT (например, https://1.1.1.1/dns-query). Когда соединение уже открыто, запрос занимает один путь туда и обратно до этого сервера плюс время его обработки. Запрос по UDP или DoT занимает ровно столько же; HTTPS добавляет гораздо меньше миллисекунды. Отсюда и ≈. Если обычный DNS-сервер провайдера не поддерживает HTTPS, вместо выдуманной цифры стоит –.
Чего оценка не видит: сети, которые блокируют, замедляют или подменяют трафик на портах 53 или 853, но не трогают HTTPS.
Чтобы честно замерить UDP, DoT и DoQ, запустите команду из блока командной строки над таблицей (её также открывает кнопка «Командная строка» рядом с индикатором прогресса) на сервере, Linux-машине или роутере. Она поддерживает все протоколы и проверяет тот же список серверов.
Насколько можно доверять результатам?
Как идёт замер, описано в «Как устроен тест?». Кроме того, список проверяется с нескольких континентов скриптом scripts/verify.mjs (в репозитории кода): каждый адрес должен отвечать на такой запрос настоящим DNS-ответом, а поддержка DNSSEC проверяется на деле, а не берётся из заявлений провайдеров.
Cloudflare, Google, Quad9, Control D, DNS.SB, DNS4EU и IIJ разрешают веб-страницам читать свои ответы, поэтому страница проверяет каждый и засчитывает только настоящие. У остальных браузер может засечь время ответа, но не прочитать его.
Запустите тест несколько раз, лучше в разное время: самый быстрый ночью не обязательно будет самым быстрым в часы пик.
Что значит «Первый запрос»?
Популярные имена уже лежат в кеше у всех крупных DNS-серверов, поэтому их отдают быстро везде. С именем, которое давно никто не запрашивал, иначе: серверу сначала нужно спросить DNS-серверы самого сайта и только потом передать ответ вам. Это и есть первый запрос.
В тесте используются случайные имена, размещённые в Cloudflare, у которого DNS-серверы есть почти везде, кроме материкового Китая. Это время зависит от того, где стоят DNS-серверы конкретного сайта, а у каждого сайта по-своему, поэтому оно показывается, но в рейтинге не учитывается. Серверы из материкового Китая выглядят в этом столбце медленными, потому что серверы этих имён за границей; для китайских сайтов они быстрые.
Что такое DNSSEC?
Если коротко: домены подписывают свои DNS-записи, чтобы ответы нельзя было подделать. Сервер, который проверяет DNSSEC, сверяет подпись и отклоняет ответы, которые не сходятся, так что никто по пути не подсунет вам фальшивый адрес. ✓ означает, что сервер проверяет: мы тестируем это на специально сломанном домене dnssec-failed.org, который он должен отклонить. Защищает это только подписанные домены, но минусов у этого нет.
Что такое ECS и почему его нет в таблице?
ECS (EDNS Client Subnet) — это когда DNS-сервер передаёт часть вашего IP-адреса DNS-серверам сайта, чтобы CDN выбрала сервер рядом с вами, а не рядом с DNS-сервером. Загрузки и видео могут стать быстрее, но взамен сайт чуть больше узнаёт о том, где вы находитесь.
В таблице его нет, потому что это не постоянное свойство: в наших проверках один и тот же сервер передавал его из одних мест и по одним протоколам, но не из других. Простое «да» или «нет» ввело бы вас в заблуждение.
Почему нет 114DNS и Baidu DNS?
Они работают только как обычный DNS, а их серверы вообще не отвечают по HTTPS, так что браузеру до них никак не достучаться. Quad101 (Тайвань, Китай) тоже не включён: при наших проверках его DoH не отвечал из других регионов.
Вы собираете мои данные?
Мы не храним ни результаты, ни что-либо о вас. Запросы теста идут из вашего браузера прямо к каждому DNS, это популярные публичные сайты и случайные имена, ничего о вас в них нет. Результаты остаются в вашем браузере. Только когда вы нажимаете «Поделиться», они записываются в ссылку (время каждого DNS, без IP-адреса; добавлять ли страну или регион, решаете вы).
Одно идёт через собственный сервер 1ms.dog (в Токио): чтобы показать, какой DNS на самом деле использует ваше устройство, страница запрашивает случайное имя в l.1ms.dog, DNS-сервер которого наш, а после теста отправляет по такому имени через каждый DNS, чтобы увидеть, какой его сервер вам отвечает. Этот сервер видит адрес DNS, который спросил, и, если тот его передаёт, вашу сеть (ECS: начальную часть вашего адреса, например 203.0.113.0/24). Он держит их в памяти 2 минуты, чтобы страница забрала их с api.l.1ms.dog, а затем забывает; ничего не пишется ни на диск, ни в журнал. Страница показывает их только вам; в ссылку и карточку для публикации они не попадают.
Как и при любом DNS-запросе, каждый DNS видит ваш IP-адрес, и действует его собственная политика конфиденциальности. Код открыт на GitHub.