Меню
RU

Мы исправили проблему со скоростью доменов Google в AdGuard DNS

В последние полторы-две недели мы начали получать большое количество жалоб на скорость работы AdGuard DNS. Долгое время мы не могли понять в чем дело — скорость мы замеряем в большом количестве точек по всему миру, и согласно нашим наблюдениям везде она была в порядке.

Но совсем недавно источник проблемы, наконец, был найден. Как оказалось, проблема была не в самом AdGuard DNS. Он всё это время отвечал быстро и вообще работал без нареканий. Загвоздка крылась в тех IP-адресах, которые он возвращал. Для некоторых доменов (в основном, принадлежащих Google) возвращались IP-адреса, принадлежащие Google China. Ожидаемо, эти адреса работали очень медленно для большинства пользователей.

Что же случилось? Давайте разбираться. Но перед этим мы приносим наши извинения за то, что решение этой проблемы заняло у нас гораздо больше времени, чем хотелось бы.

Как работает DNS?

Итак, в первую очередь, давайте мы расскажем, как работает DNS в целом. Дело в том, что DNS — децентрализованная система. За каждый домен отвечает отдельный DNS-сервер, так называемый авторитативный сервер имён (authoritative nameserver). Рекурсивные DNS-резолверы (такие как AdGuard DNS) на самом деле получают ответы у таких авторитативных серверов имён.

Что же происходит, когда AdGuard DNS получает ваш DNS-запрос?

Этап №1: Проверка кэша. Во-первых, мы можем уже знать, какой IP-адрес соответствует вашему запросу, если этот адрес сохранён во внутреннем кэше. Это происходит в подавляющем большинстве случаев, и тогда AdGuard DNS просто сразу отправляет ответ.

Этап №2: разрешение DNS. Но если в кэше ответ не найден, нам необходимо получить ответ от авторитативного сервера. Давайте предположим, что вы спросили у нас "какой IP-адрес у домена example.org?"

Первым делом мы должны узнать, какой сервер имён отвечает за доменную зону org. Для этого мы обращаемся к так называемым "корневым DNS-серверам" (root DNS servers). Всего таких серверов во всём мире 14, и вы можете ознакомиться с их списком вот тут. Их единственная задача — знать какой сервер имён ответственнен за ту или иную доменную зону первого уровня (такие как com, org и т.д.).

У одного из таких корневых серверов мы узнаём ответ: за доменную зону org отвечают 6 серверов имён — так называемых "TLD nameserver", которые отвечают за всю зону org. TLD-сервера знают, какие авторитативные сервера имён отвечают за каждый из доменов в их зоне.

Наконец, у одного из этих серверов нам надо узнать, а кто же отвечает за example.org? Мы получаем в ответ ещё 2 сервера и наконец узнаём, кто же нам ответит на изначальный вопрос — какой IP-адрес у example.org?

Источник: Cloudflare

Наглядно посмотреть на то, как эта система работает, вы можете, например, на этом сайте.

Так в чём же проблема?

За все домены Google отвечают 4 авторитативных сервера имён. Они настроены таким образом, чтобы клиенту возвращался IP-адрес ближайшего сервера Google. У AdGuard DNS почти полсотни серверов по всему миру (а скоро будет ещё больше), так почему некоторым из них Google возвращал адреса, находящиеся в Китае?

Дело в том, что у серверов AdGuard DNS есть несколько IP-адресов — как IPv4-адреса, так и IPv6-адреса. Похоже, что Google не справлялся с определением локации при использовании IPv6 и выдавал записи для Китая, а не для реальных локаций серверов AdGuard DNS.

Вот такая простая разгадка. Так что будьте осторожны, если используете свой собственный рекурсивный DNS-сервер — от IPv6 можно ожидать чего угодно.

Чтобы избежать такого поведения в будущем, мы переконфигурировали наши серверы так, что они теперь предпочитают IPv4, так что больше вы не столкнётесь с медленной скоростью подключения при переходе на домены Google.

Можно ли решить эту проблему другим способом?

Да, можно. Давно уже существует технология EDNS Client Subnet, которая позволяет оповещать авторитативные сервера имён о том, для какого клиента вы совершаете запрос. Для этого вам нужно передать в запросе еще и "подсеть" клиента. К сожалению, просто передача таких данных авторитативным серверам имён нас не устраивает, это идёт вразрез с нашей политкой конфиденциальности, ведь мы не передаём никому ваш реальный адрес.

Можно ли использовать EDNS Client Subnet, но сохранить ваш IP в тайне? Можно, и мы уже работаем над этим. Следите за нашими новостями, мы обязательно напишем про это в одном из будущих постов про DNS.

Понравился пост?
Загружая комментарии, вы соглашаетесь с условиями использования и политикой конфиденциальности.

AdGuard
для Windows

AdGuard для Windows — это не просто «ещё один блокировщик». Это многоцелевой инструмент, который блокирует рекламу и доступ к опасным сайтам, ускоряет загрузку страниц и защищает детей от взрослого контента.
Отзывы пользователей: 30295
4,7 из 5
Скачивая программу, вы принимаете условия Лицензионного соглашения
Читать далее

AdGuard
для Mac

В отличие от других блокировщиков, AdGuard разработан с учётом специфики операционной системы macOS. Он не только блокирует рекламу в Safari и других браузерах, но и защищает вас от слежки, фишинга и мошенничества в сети.
Отзывы пользователей: 30295
4,7 из 5
Скачивая программу, вы принимаете условия Лицензионного соглашения
Читать далее

AdGuard
для Android

AdGuard for Android — это идеальное решение для Android-устройств. В отличие от других блокировщиков, AdGuard не требует полного доступа и предоставляет широкий спектр возможностей по управлению приложениями.
Отзывы пользователей: 30295
4,7 из 5
Скачивая программу, вы принимаете условия Лицензионного соглашения

AdGuard
для iOS

Самый продвинутый блокировщик рекламы для Safari: он позволяет забыть о всплывающей рекламе, ускоряет загрузку страниц и защищает личные данные. А с помощью ручной блокировки можно настроить фильтрацию так, как это удобно вам.
Отзывы пользователей: 30295
4,7 из 5
Скачивая программу, вы принимаете условия Лицензионного соглашения

Браузерное расширение AdGuard

AdGuard — самое быстрое и легкое браузерное расширение для блокировки всех типов рекламы! Выбирайте AdGuard для быстрого и безопасного серфинга без рекламы.
Отзывы пользователей: 30295
4,7 из 5

AdGuard для Safari

Расширения, блокирующие рекламу в Safari, переживают не лучшие времена с тех пор, как компания Apple вынудила всех использовать новый SDK. Познакомьтесь с нашим легко настраиваемым и молниеносным приложением!
Отзывы пользователей: 30295
4,7 из 5
Доступно в
App Store
Скачать
Скачивая программу, вы принимаете условия Лицензионного соглашения

AdGuard Home

AdGuard Home — мощный сетевой инструмент против рекламы и трекинга. С усилением роли интернета вещей становится все более и более важным управлять всей вашей сетью. После настройки AdGuard Home будет охватывать ВСЕ ваши домашние устройства и для этого вам не понадобится программное обеспечение на стороне клиента.
Отзывы пользователей: 30295
4,7 из 5

AdGuard Content Blocker

AdGuard Content Blocker устраняет все объявления в мобильных браузерах, которые поддерживают технологию блокировки контента — к примеру, Samsung Internet и Яндекс.Браузер. Он обладает меньшим количеством функций, чем AdGuard для Android, но при этом бесплатен, прост в установке и по-прежнему обеспечивает высокое качество блокировки рекламы.
Отзывы пользователей: 30295
4,7 из 5
Скачивая программу, вы принимаете условия Лицензионного соглашения
Читать далее

Помощник AdGuard

Дополнительное браузерное расширение для десктопных приложений AdGuard. Даёт доступ к таким функциям в браузере, как блокировка отдельных элементов, занесение сайта в белый список или отправление отчёта.
Отзывы пользователей: 30295
4,7 из 5
Помощник для Chrome Это ваш текущий браузер?
Установить
Скачивая программу, вы принимаете условия Лицензионного соглашения
Помощник для Firefox Это ваш текущий браузер?
Установить
Скачивая программу, вы принимаете условия Лицензионного соглашения
Помощник для Edge Это ваш текущий браузер?
Установить
Скачивая программу, вы принимаете условия Лицензионного соглашения
Помощник для Opera Это ваш текущий браузер?
Установить
Скачивая программу, вы принимаете условия Лицензионного соглашения
Помощник для Yandex Это ваш текущий браузер?
Установить
Скачивая программу, вы принимаете условия Лицензионного соглашения
Помощник для Safari Это ваш текущий браузер?
Если вы не можете найти свой браузер в списке, попробуйте прежнюю версию Помощника, которую вы можете найти в настройках расширения AdGuard.
Загрузка AdGuard началась Стрелка указывает на файл: нажмите на него, и установка начнётся Выберите «Открыть», нажмите «OK» и дождитесь загрузки файла. В открывшемся окне перетащите значок AdGuard в папку «Приложения». Спасибо за выбор AdGuard! Выберите «Открыть», нажмите «OK» и дождитесь загрузки файла. В открывшемся окне нажмите «Установить». Спасибо за выбор AdGuard!
AdGuard есть и в мобильном варианте