Private DNS на Android или DoH-приложение
Private DNS в Android шифрует запросы через DNS over TLS без приложения. Когда DoH-приложение лучше, как они конфликтуют и чего не исправит ни одно.
Если вы искали «зашифрованный DNS на Android», то наверняка встречали два ответа. Одни говорят: приложение не нужно, просто включите Private DNS. Другие говорят: установите приложение с DNS over HTTPS. Оба совета разумны. Они решают одну задачу разными способами и ломаются в разных местах. В этом руководстве объясняется, как работает каждый вариант, где у каждого слабые места и как выбрать. GreenTunnel, в котором есть DoH-клиент, делаем мы, так что учитывайте это при чтении.
Что такое Private DNS на самом деле
Google добавила Private DNS в Android 9. Обычно настройка находится в разделе Настройки → Сеть и интернет → Персональный DNS-сервер, хотя точный путь отличается у разных производителей. Вариантов три:
- Отключено: запросы идут открытым текстом на тот DNS-сервер, который выдаёт текущая сеть.
- Автоматический режим: вариант по умолчанию. Android пробует DNS over TLS с DNS-сервером самой сети и использует его, если сервер это поддерживает. Если нет, запросы остаются открытыми. Это часто называют оппортунистическим режимом, и в большинстве домашних и мобильных сетей он означает отсутствие шифрования.
- Имя хоста поставщика: вы вводите имя хоста провайдера, например
dns.googleдля Google Public DNS. Тогда Android использует только этот сервер. Если до него не достучаться, система не переключается молча на обычный DNS. В анонсе Google сказано, что вместо этого Android помечает сеть как не имеющую доступа в интернет.
DNS over TLS описан в стандарте RFC 7858 и использует собственный порт 853. Отдельный порт — одновременно сила и слабость: это чисто и экономно, но сети такой трафик легко распознать и заблокировать.
А что с DNS over HTTPS в Android?
Есть нюанс, который многие руководства упускают. В июле 2022 года Google объявила, что после системного обновления Google Play устройства на Android 11 и новее используют DNS over HTTP/3 вместо DNS over TLS для известных DNS-серверов, которые это поддерживают. На старте это касалось Google и Cloudflare. В публикации Google подчёркивается, что меняется только транспорт, а не сам DNS-сервис. Вы по-прежнему вводите имя хоста в то же поле Private DNS. Поля для произвольного адреса DoH нет, а для других провайдеров Private DNS остаётся DNS over TLS.
Чем отличается DoH-приложение
DoH-приложение или VPN-приложение с DoH-клиентом берёт на себя DNS всего устройства через слот VPN в Android. Каждый запрос передаётся внутри HTTPS на DoH-сервер, например https://cloudflare-dns.com/dns-query, как описано в RFC 8484.
- Оно использует порт 443. Для сети это выглядит почти как любое другое HTTPS-соединение. Сеть, которая блокирует порт 853, чтобы остановить DNS over TLS, обычно его не трогает.
- Вы выбираете сервер и протокол. Приложения могут предлагать DoH- и DoT-провайдеров рядом и переключаться между ними.
- Оно может полностью обходить DNS-резолвер сети. Хороший клиент подключается к фиксированным начальным (bootstrap) IP-адресам DoH-сервера, так что даже поиск DNS-сервера не зависит от DNS сети.
- Оно занимает слот VPN. Android допускает только один VPN одновременно. DoH-приложение не может работать параллельно с другим VPN-приложением.
Сравнение
| Private DNS (имя хоста) | DoH-приложение | |
|---|---|---|
| Нужно отдельное приложение | Нет | Да |
| Протокол | DNS over TLS или DNS over HTTP/3 для некоторых известных провайдеров на Android 11+ | DNS over HTTPS (некоторые приложения предлагают и DoT) |
| Порт | 853 для DoT | 443 |
| Если сервер заблокирован | Сеть показывает «нет доступа в интернет», пока вы не измените настройку | Зависит от приложения. Некоторые переключаются на другого провайдера |
| Занимает слот VPN | Нет | Да |
| Работает с другим VPN-приложением | Да, с конфликтами, описанными ниже | Нет, только один VPN одновременно |
| Помогает против фильтрации по имени в HTTPS | Нет | Только если приложение умеет и это |
Где у Private DNS проблемы
- Сети, блокирующие порт 853. Некоторые офисы, учебные заведения и публичные Wi-Fi его блокируют. В режиме имени хоста сеть тогда выглядит сломанной. Как это проявляется, см. в статье Сайт открывается через мобильный интернет, но не через Wi-Fi?
- Особенности отдельных сетей. Настройка глобальная, а сети разные. Имя хоста, которое работает через мобильный интернет, может не работать в каком-то конкретном Wi-Fi.
- Страницы входа в публичном Wi-Fi. Сети отелей и кафе со страницей входа могут сбоить с фиксированным именем хоста, пока вы не завершите вход. Обычно помогает ненадолго переключиться на автоматический режим.
- Автоматический режим часто не шифрует. Большинство DNS-серверов провайдеров не поддерживают DNS over TLS, поэтому автоматический режим молча остаётся на обычном DNS.
Где у DoH-приложения проблемы
- Оно должно постоянно работать. Если Android остановит приложение ради экономии батареи, защита DNS тоже остановится. См. как не дать Android отключать VPN.
- Оно блокирует другие VPN. Его нельзя совместить с рабочим VPN на том же телефоне.
- Его сервер можно заблокировать по IP-адресу. Порт 443 не поможет, если сеть блокирует адрес DoH-сервера. Клиенты, умеющие переключаться на другого провайдера, справляются с этим лучше.
Конфликт: Private DNS и VPN-приложение
Начиная с Android 10, имя хоста Private DNS действует и тогда, когда работает VPN-приложение. В инструкциях самого Google Public DNS отмечено, что в Android 9 VPN перекрывал Private DNS и что в Android 10 это исправили. На практике это значит: если вы задали имя хоста, а затем включили VPN-приложение со своим DNS, Android будет отправлять запросы вашему провайдеру Private DNS. Зашифрованный DNS VPN-приложения и его список блокировки эти имена не увидят. Если этот провайдер заблокирован в текущей сети, не откроется ни один сайт.
При использовании GreenTunnel ставьте Private DNS в положение Отключено или Автоматический режим. Это одна из первых проверок в статье Сайт всё ещё заблокирован?
Как GreenTunnel работает с DNS
GreenTunnel — локальный VPN со встроенным клиентом зашифрованного DNS. В разделе Настройки → DNS вы выбираете одного из трёх провайдеров или Автоматически:
- Cloudflare, DoH,
https://cloudflare-dns.com/dns-query - Google, DoH,
https://dns.google/dns-query - Quad9, DoT,
dns.quad9.net:853
В режиме «Автоматически» приложение пробует Cloudflare, затем Google, затем Quad9 и продолжает пользоваться тем, кто ответил. К каждому провайдеру оно подключается через встроенные начальные IP-адреса, поэтому DNS провайдера интернета вообще не запрашивается. DoQ не поддерживается. Полное описание — в статье DoH и DoT простыми словами.
Отличие от приложения, которое занимается только DNS, в том, что происходит после запроса. GreenTunnel также изменяет форму первого пакета HTTPS-соединений, чтобы обходить простую фильтрацию по имени, показывает соединения по приложениям в Requester и может проверить сайт с помощью Проверки URL. Мы никогда не собираем домены, которые вы запрашиваете.
Честные ограничения зашифрованного DNS
Зашифрованный DNS, каким бы способом вы его ни получили, устраняет один вид блокировки: сеть, которая подделывает или отбрасывает ответы DNS. Он не мешает сети читать имя сайта в HTTPS-рукопожатии — для этого нужно изменение пакетов или ECH. Он не обходит блокировку по IP. Он не скрывает ваш IP-адрес, и провайдер по-прежнему видит, к каким адресам вы подключаетесь. Ваши запросы вместо провайдера будет видеть выбранный DNS-провайдер, поэтому выбирайте того, чьей политике доверяете. GreenTunnel тоже не является средством анонимности.
Что выбрать?
- Нужно просто шифровать запросы в нормально работающих сетях? Private DNS с именем хоста провайдера — это просто и не требует приложения.
- Ваша сеть блокирует порт 853, подделывает DNS или фильтрует имена сайтов? Лучше подойдёт DoH-приложение, в идеале такое, которое справляется и с фильтрацией по имени. Переключите Private DNS в положение «Отключено» или «Автоматический режим».
- Вы уже пользуетесь рабочим VPN? Оставайтесь на Private DNS, потому что одновременно может работать только одно VPN-приложение.
GreenTunnel бесплатен на Android и iPhone, Premium — по желанию. Как он работает, смотрите на главной странице.
Часто задаваемые вопросы
Private DNS в Android использует DoH или DoT?
DNS over TLS на порту 853. После системного обновления Google Play в 2022 году Android 11 и новее вместо этого используют DNS over HTTP/3 для некоторых известных провайдеров, которые его поддерживают, начиная с Google и Cloudflare. Ввести собственный адрес DoH нельзя.
Оставлять ли Private DNS включённым при использовании GreenTunnel?
Поставьте «Отключено» или «Автоматический режим». С именем хоста провайдера Android отправляет запросы напрямую этому провайдеру, и зашифрованный DNS GreenTunnel вместе с вашим списком блокировки остаётся в стороне.
DoH приватнее, чем DoT?
Оба одинаково хорошо шифруют запрос. Разница в том, насколько легко его заметить и заблокировать. DoT использует отдельный порт, а DoH сливается с HTTPS на порту 443.
Разблокирует ли зашифрованный DNS любой сайт?
Нет. Он устраняет только блокировки через DNS. Сайтам, заблокированным фильтрацией по имени, нужно больше, а сайтам, заблокированным по IP-адресу, нужен совсем другой маршрут.
Источники
- Android Developers Blog, DNS over TLS support in Android P Developer Preview (апрель 2018).
- Google Security Blog, DNS-over-HTTP/3 in Android (июль 2022).
- Google Public DNS, Get started (настройка Private DNS в Android и примечание о VPN в Android 9), по состоянию на ноябрь 2026.
- IETF, RFC 7858: DNS over TLS.
- IETF, RFC 8484: DNS Queries over HTTPS.