DNS-фильтрация
info
Самый простой способ изучить преимущества DNS-фильтрации — установить блокировщик рекламы AdGuard или попробовать AdGuard DNS. Если вы хотите фильтровать DNS на сетевом уровне, AdGuard Home — подходящий инструмент
Быстрые ссылки: Скачать Блокировщик AdGuard, Установить AdGuard Home, Попробовать AdGuard DNS
Чтобы лучше понять DNS-фильтрацию, надо сначала ответить на вопрос «Что такое DNS?».
Что такое DNS?
DNS расшифровывается как «система доменных имён» (от англ. «Domain name system). Её цель — переводить имена доменов, понятные человеку, в нечто понятное браузерам, т. е. в IP-адреса. Таким образом, каждый раз, когда вы переходите на сайт, ваш браузер посылает запрос на специальный тип сервера (DNS-сервер). Этот сервер смотрит на имя запрашиваемого домена и отвечает соответствующим IP-адресом. Очень схематично это выглядит так:
Разумеется, всё то же самое применимо не только к браузерам, но к приложениям и программам, которые посылают какие-либо веб-запросы.
Как работает DNS-фильтрация?
Когда вы используете одно из приложений AdGuard, поддерживающее DNS-фильтрацию, оно работает как буфер между вашим устройством и DNS-сервером. Все DNS-запросы, которые ваши браузеры или приложения собираются отправить, сначала обрабатываются AdGuard. Если вы используете DNS-сервер, предоставленный по умолчанию вашим интернет-провайдером, ваш DNS-трафик, скорее всего, не зашифрован и уязвим для отслеживания и перехвата. AdGuard зашифрует все ваши DNS-запросы до того, как они будут отправлены, так что никакие злоумышленники не смогут получить доступ к их содержимому. Кроме того, AdGuard может определить запросы к рекламным, трекинговым и «взрослым» сайтам и перенаправить их «в никуда» вместо того, чтобы переслать на DNS-сервер. Подробнее об этом мы расскажем чуть позже.
DNS-фильтрация — это мощный инструмент, который поддерживается всеми основными приложениями AdGuard: AdGuard для Windows, AdGuard для Mac, AdGuard для Android и AdGuard для iOS.
DNS-фильтрация может быть условно разделена на две основные функции: шифрование DNS-трафика и его перенаправление на DNS-сервер, а также блокировка определённых доменов с помощью локальных DNS-фильтров.
DNS-серверы
В мире существуют тысячи DNS-серверов, и все они уникальны по своим свойствам и целям. Большинство просто возвращает IP-адрес запрошенного домена, но некоторые выполняют дополнительные функции: они блокируют рекламные, трекинговые, «взрослые» домены и т. д. Сегодня все крупные DNS-серверы используют один или несколько надёжных протоколов шифрования DNS-трафика: DNS-over-HTTPS, DNS-over-TLS. AdGuard также предоставляет свой DNS-сервис, и он стал самым первым DNS-провайдером в мире, который добавил поддержку нового и многообещающего протокола шифрования DNS-over-QUIC. AdGuard располагает несколькими разными серверами для разных целей. Эта диаграмма иллюстрирует работу блокирующих серверов AdGuard:
Другие DNS-провайдеры могут работать иначе, так что узнайте все подробности перед тем, как делать выбор в пользу того или иного DNS-сервера. Вы можете найти список некоторых популярных DNS-провайдеров в этой статье. Все приложения AdGuard, которые поддерживают DNS-функционал, также предоставляют на выбор список проверенных DNS-серверов и даже дают возможность вручную указать любой предпочитаемый вами DNS-сервер.
Локальные DNS-фильтры
Но если полагаться только на DNS-серверы в вопросе фильтрации DNS-трафика, то неизбежны потери в гибкости. Если выбранный сервер блокирует домен, вы не сможете получить к нему доступ. С AdGuard же вам даже не обязательно настраивать какой-то конкретный DNS-сервер, чтобы фильтровать DNS-трафик. Все продукты AdGuard позволяют использовать чёрные DNS-списки, будь то простые hosts-файлы или списки, использующие более сложный синтаксис. Они работают сходным образом с обычными рекламными фильтрами: когда DNS-запрос подходит под одно из правил в активном фильтре, он блокируется. А точнее, перенаправляется «в никуда».
Чтобы получить доступ к DNS-фильтрации в AdGuard для iOS, вам сначала потребуется включить «Расширенный режим» в настройках.
Вы можете добавлять столько собственных DNS-фильтров, сколько захотите. Например, вы можете задействовать DNS-фильтр AdGuard. Он буквально блокирует всё то же самое, что и сервер AdGuard DNS, но в данном случае вы вольны использовать любой другой DNS-сервер. Плюс, при использовании данного метода вы можете добавить больше фильтров или же создать собственные правила-исключения. Всё это было бы невозможно в случае с использованием только DNS-сервера.
Существуют сотни различных DNS-фильтров, вы можете выбрать нужные вам здесь.
Сравнение DNS-фильтрации с сетевой фильтрацией
Мы называем сетевой фильтрацией «обычный» способ, которым самостоятельные приложения AdGuard (кроме браузерных расширений) фильтруют весь сетевой трафик, отсюда и название. Освежить знания о сетевой фильтрации можно, прочитав эту статью.
Во-первых, мы сразу хотим оговориться, что с AdGuard вам не нужно выбирать между ними. Вы всегда можете использовать обычную сетевую фильтрацию и DNS-фильтрацию одновременно. Однако важно понимать разницу между этими двумя подходами. DNS-фильтрация обладает как своими уникальными преимуществами, так и недостатками.
Плюсы DNS-фильтрации:
- На некоторых платформах это единственный способ фильтровать весь системный трафик. Например, на iOS только Safari поддерживает блокировку контента в привычном смысле. Фильтровать трафик всех остальных браузеров и приложений поможет только DNS-фильтрация.
- С некоторыми формами слежки (такими как CNAME-трекинг) может справиться только DNS-фильтрация.
- Этап обработки DNS-запроса — самое раннее, когда можно заблокировать рекламу или трекер. Это помогает немного сэкономить время жизни батареи и трафик.
Недостатки DNS-фильтрации:
DNS filtering is "rough", meaning that it won't remove whitespaces that are left behind a blocked ad, or apply any sorts of cosmetic filtering. Many of the more complicated ads can't be blocked on DNS-level (or rather, they can, but only by blocking the entire domains which are being used for other purposes).
An example of the difference between DNS filtering and network filtering
It's not possible to know the origin of a DNS request, which means you can't distinguish between different apps on the DNS-level. This impacts the statistics negatively and makes it impossible to create app-specific filtering rules.
We recommend using DNS filtering in addition to network filtering, not instead of it, whenever possible.