DNS over TLS: настройка DoT на Android, Keenetic и в Nulls Proxy

DNS over TLS: настройка DoT на Android, Keenetic, Nulls Proxy
Коротко: что делает DNS over TLS
DNS over TLS шифрует DNS-запросы через TLS-туннель на порту 853. Провайдер не видит, какие домены ты резолвишь. Настраивается нативно на Android 9+, на роутере Keenetic и в Nulls Proxy для мобильных игр — без сторонних приложений.

DoT и DoH: в чём разница и что выбрать

DNS over TLS и DNS over HTTPS решают одну задачу: шифруют DNS-запросы. Разница в реализации.

DoT работает на порту 853. Отдельный, специализированный порт — только для DNS-трафика. Провайдер или сетевой администратор видит: вот идёт зашифрованный DNS. Заблокировать просто — достаточно закрыть 853-й порт.

DoH прячется на 443-м порту вместе со всем HTTPS-трафиком. Заблокировать без ущерба для остального интернета практически невозможно. Зато в корпоративной сети за DoH сложнее уследить.

Параметр DNS over TLS (DoT) DNS over HTTPS (DoH)
Порт 853 443
Шифрование TLS HTTPS / TLS
Заметность Отдельный порт, заметен Сливается с HTTPS-трафиком
Простота блокировки Легко (закрыть порт 853) Сложно (нужен DPI)
Нативная поддержка Android Да, с версии 9 Только через браузер
Поддержка Windows Только через сторонний софт Нативно в Windows 11
Управляемость в корпоративной сети Лучше Сложнее

Для Android и Keenetic — DoT удобнее. Встроен нативно, настраивается за минуту. Если хочешь закрыть весь трафик в системе Windows — читай статью про настройку DNS over HTTPS, там DoH закрывает задачу лучше.

%%{init: {
  'theme': 'base',
  'themeVariables': {
    'primaryColor': '#ffffff',
    'primaryTextColor': '#1e293b',
    'primaryBorderColor': '#94a3b8',
    'lineColor': '#64748b',
    'fontSize': '15px',
    'fontFamily': 'ui-sans-serif, system-ui, sans-serif'
  },
  'flowchart': {'curve': 'linear', 'nodeSpacing': 50, 'rankSpacing': 50}
}}%%
flowchart TD
    A["Устройство"] --> B["Обычный DNS (порт 53)"]
    A --> C["DNS over TLS (порт 853)"]
    A --> D["DNS over HTTPS (порт 443)"]
    B --> E["Открытый текст - виден провайдеру"]
    C --> F["TLS шифрование - порт виден"]
    D --> G["HTTPS - неотличим от браузера"]
    style A fill:#f8fafc,stroke:#3b82f6,stroke-width:2px,color:#1e40af
    style B fill:#f8fafc,stroke:#ef4444,stroke-width:2px,color:#991b1b
    style C fill:#f8fafc,stroke:#f97316,stroke-width:2px,color:#9a3412
    style D fill:#f8fafc,stroke:#22c55e,stroke-width:2px,color:#15803d
    style E fill:#f8fafc,stroke:#ef4444,stroke-width:2px,color:#991b1b
    style F fill:#f8fafc,stroke:#f97316,stroke-width:2px,color:#9a3412
    style G fill:#f8fafc,stroke:#22c55e,stroke-width:2px,color:#15803d

DNS over TLS серверы: список

Ниже — проверенные публичные серверы с поддержкой DoT. Для каждого указан хостнейм — он нужен для настройки на Android в поле «Private DNS».

Провайдер Hostname для DoT IP адреса Особенности
Cloudflare one.one.one.one 1.1.1.1 / 1.0.0.1 Быстрый, минимальные логи
Google dns.google 8.8.8.8 / 8.8.4.4 Надёжный, хранит логи
Quad9 dns.quad9.net 9.9.9.9 / 149.112.112.112 Блокирует малварь и фишинг
AdGuard dns.adguard.com 94.140.14.14 / 94.140.15.15 Блокирует рекламу и трекеры
AdGuard Family dns-family.adguard.com 94.140.14.15 / 94.140.15.16 Блокирует взрослый контент
Яндекс (базовый) common.dot.dns.yandex.net 77.88.8.8 / 77.88.8.1 RU-юрисдикция, без фильтров
Яндекс (безопасный) safe.dot.dns.yandex.net 77.88.8.88 / 77.88.8.2 Блокирует вирусы
NextDNS xxxxx.dns.nextdns.io Персональный Кастомные списки, статистика

Cloudflare — первый выбор для скорости. Quad9 — если нужна защита от фишинга без отдельных настроек. NextDNS — если хочешь статистику и контроль над тем, что блокируется.

Порты и протоколы

Протокол Порт Транспорт Шифрование
DNS (обычный) 53 UDP / TCP Нет
DNS over TLS (DoT) 853 TCP TLS 1.2 / 1.3
DNS over HTTPS (DoH) 443 TCP HTTPS / TLS
DNS over QUIC (DoQ) 853 QUIC TLS 1.3

DNS over TLS на Android: нативная настройка

Android 9 (Pie) и выше поддерживают DoT нативно. Называется «Частный DNS» или «Private DNS». Работает на уровне системы — все приложения, включая игры и мессенджеры, получают зашифрованный DNS автоматически.

Шаг 1. Открой настройки

Настройки — Подключения — Другие настройки — Частный DNS.

На чистом Android: Настройки — Сеть и интернет — Дополнительно — Частный DNS.

Путь зависит от оболочки. На Samsung — Настройки — Подключения — Другие настройки сети — Частный DNS. На Xiaomi — Настройки — Подключения — Другие настройки подключения — Частный DNS.

Шаг 2. Выбери режим

Три варианта:

  • Выкл — обычный DNS, ничего не шифруется
  • Автоматически — Android сам решает, использовать DoT или нет
  • Hostname частного DNS-провайдера — вручную вводишь адрес сервера

Выбирай третий вариант.

Шаг 3. Введи hostname

Для Cloudflare:


one.one.one.one

Для Google:


dns.google

Для Quad9:


dns.quad9.net

Нажми «Сохранить». Android подключится к серверу по TLS и покажет статус «Подключено».

Важно для Android
В поле Частный DNS вводится именно hostname — доменное имя, не IP-адрес. Android сначала резолвит этот hostname по обычному DNS, потом устанавливает TLS-соединение. Если ввести IP — не заработает. Если соединение с DoT-сервером недоступно — Android не откатывается на обычный DNS, просто показывает ошибку подключения. Это правильное поведение.

Проверка на Android

После сохранения настроек рядом с hostname должен появиться статус «Подключено». Если «Не подключено» — проверь интернет-соединение и правильность hostname.

Быстрая проверка через браузер:


https://1.1.1.1/help

Увидишь «Connected to 1.1.1.1» и статус DoT.

DNS over TLS Nulls Proxy: зачем и как

Nulls Proxy — популярное приложение для мобильных геймеров. Основная задача: снизить пинг в онлайн-играх типа Brawl Stars, Clash of Clans, Clash Royale. Делает это через проксирование игрового трафика.

С версии 1.6+ в Nulls Proxy появилась поддержка DNS over TLS. Логика простая: если приложение управляет сетевым трафиком — пусть и DNS шифрует заодно. Это снижает риск того, что провайдер заблокирует игровые серверы по DNS.

Как выглядит настройка DoT в Nulls Proxy

Открой приложение Nulls Proxy. Перейди в Settings или Настройки. Найди раздел DNS.

Там два поля:

  • DNS Server — hostname сервера
  • DNS over TLS — переключатель вкл/выкл

Включи DoT. В поле DNS Server введи hostname.

Для Cloudflare (рекомендую для игр — самый низкий пинг):


one.one.one.one

Для Google:


dns.google
Nulls Proxy и DoT: что реально происходит
Nulls Proxy создаёт локальный VPN-туннель на устройстве. DNS-запросы от игр идут через этот туннель, потом через DoT на выбранный сервер. Это работает параллельно с системным Частным DNS. Если оба включены — приоритет у Nulls Proxy для трафика внутри туннеля.

Nulls Proxy для конкретных игр

Структура настройки похожа для всех игр, но есть нюансы.

Для Brawl Stars (dns over tls nulls proxy for bs):

  • Регион сервера — выбери ближайший к игровым серверам Supercell
  • DNS: one.one.one.one
  • DoT: включено
  • Протокол: TCP обычно стабильнее для мобильного интернета

Для Clash of Clans, Clash Royale — те же настройки DNS. Разница только в выборе региона прокси-сервера.

Где скачать Nulls Proxy

Официальный сайт: nulls.net. Приложение доступно для Android через APK с официального сайта. В Google Play его нет — политика Play Store не позволяет VPN-приложениям для игровых целей. На iOS ситуация аналогичная — ищи через официальный сайт.

Безопасность при скачивании
Скачивай Nulls Proxy только с официального сайта nulls.net. Сторонние APK с левых сайтов с высокой вероятностью содержат малварь. Приложение запрашивает VPN-разрешение — это нормально для его работы. Если APK с неизвестного источника запрашивает доступ к контактам, SMS или геолокации — удали немедленно.

DNS over TLS на Keenetic

На Keenetic DoT настраивается аналогично DoH — через веб-интерфейс или CLI. Разница в URL: для DoT используется hostname, а не https-адрес.

Через веб-интерфейс

Зайди в Интернет — DNS. Переключи режим на «DNS over TLS». В поле сервера введи hostname.

Для Cloudflare:


one.one.one.one

Для Quad9:


dns.quad9.net

Сохрани. Роутер переподключит DNS-службу. Все устройства в сети получат DoT автоматически.

Через CLI

Подключись через Telnet или веб-терминал Keenetic:


ip dns proxy name cloudflare dot host one.one.one.one
ip dns proxy name cloudflare dot enable
ip name-server dns-proxy
system configuration save

Проверь статус:


show ip dns proxy

Должен увидеть строку с DoT и статусом active.

DoT или DoH на Keenetic — что выбрать

Оба работают. DoT чуть проще в отладке: отдельный порт 853, легче видно в логах. DoH на 443-м порту сложнее заблокировать извне.

Если провайдер агрессивно фильтрует трафик — выбирай DoH. Если просто хочешь зашифровать DNS без лишних сложностей — DoT на Keenetic работает стабильно. Подробная инструкция по DoH на Keenetic — в статье про настройку DNS over HTTPS.

%%{init: {
  'theme': 'base',
  'themeVariables': {
    'primaryColor': '#ffffff',
    'primaryTextColor': '#1e293b',
    'primaryBorderColor': '#94a3b8',
    'lineColor': '#64748b',
    'fontSize': '15px',
    'fontFamily': 'ui-sans-serif, system-ui, sans-serif'
  },
  'flowchart': {'curve': 'linear', 'nodeSpacing': 50, 'rankSpacing': 50}
}}%%
flowchart TD
    A["Смартфон"] --> E["Keenetic"]
    B["ПК"] --> E
    C["Игровая консоль"] --> E
    D["Smart TV"] --> E
    E --> F["DoT (порт 853)"]
    F --> G["Cloudflare / Google / Quad9"]
    style E fill:#f8fafc,stroke:#3b82f6,stroke-width:2px,color:#1e40af
    style F fill:#f8fafc,stroke:#f97316,stroke-width:2px,color:#9a3412
    style G fill:#f8fafc,stroke:#22c55e,stroke-width:2px,color:#15803d

DNS over TLS на Windows через dnscrypt-proxy

Windows не поддерживает DoT нативно — ни 10-я, ни 11-я. Нужен сторонний клиент. dnscrypt-proxy умеет и DoH, и DoT.

Скачай с GitHub: dnscrypt-proxy/dnscrypt-proxy. Распакуй в удобную папку, например C:\dnscrypt-proxy.

Открой dnscrypt-proxy.toml и настрой DoT:


server_names = ['cloudflare', 'cloudflare-ipv6']
listen_addresses = ['127.0.0.1:53']
require_dnssec = true
require_nofilter = false

Для явного использования DoT-серверов укажи в server_names серверы с суффиксом -doh или используй отдельный список. В конфиге есть закомментированный пример — разкомментируй нужные строки.

Установи и запусти службу:


.\dnscrypt-proxy.exe -service install
.\dnscrypt-proxy.exe -service start

Пропиши в настройках сетевого адаптера DNS вручную:


127.0.0.1

Теперь все DNS-запросы системы идут через dnscrypt-proxy, который пересылает их по DoT или DoH — в зависимости от выбранных серверов.

Проверка через PowerShell


Resolve-DnsName -Name example.com -Server 127.0.0.1

Если получил ответ — служба работает. Для проверки что трафик не идёт напрямую:


netstat -ano | findstr :53

Должен видеть 127.0.0.1:53 в состоянии LISTENING — это локальный прокси. Никаких внешних адресов на 53-м порту быть не должно.

Системные требования

Платформа Минимальная версия Нативная поддержка DoT
Android 9 (Pie) Да — Частный DNS
iOS / iPadOS 14+ Через профили конфигурации
Windows 10 / 11 Любая Нет, нужен dnscrypt-proxy
Linux (systemd-resolved) Ubuntu 20.04+ Да, через конфиг resolved.conf
Keenetic Прошивка 3.1+ Да, нативно
Nulls Proxy (Android) 1.6+ Да, в настройках DNS

DNS over TLS на Linux через systemd-resolved

На современных Linux-дистрибутивах с systemd-resolved DoT включается правкой одного файла. Никаких сторонних демонов.

Открой конфиг:


sudo nano /etc/systemd/resolved.conf

Добавь или раскомментируй строки:


[Resolve]
DNS=1.1.1.1#one.one.one.one 1.0.0.1#one.one.one.one
DNSOverTLS=yes
DNSSEC=yes

Перезапусти службу:


sudo systemctl restart systemd-resolved

Проверь статус:


resolvectl status

В выводе должна быть строка: DNS over TLS: yes. Если нет — проверь версию systemd (нужна 239+):


systemd --version

Проверка DNS over TLS

Через браузер

Открой:


https://1.1.1.1/help

Увидишь блок с проверкой подключения. Для DoT с Cloudflare покажет «Connected to 1.1.1.1» и тип соединения.

Через kdig (Linux / macOS)

kdig умеет делать DoT-запросы напрямую:


kdig -d @1.1.1.1 +tls-ca +tls-host=one.one.one.one example.com

В выводе ищи строку: TLS connected. Если видишь — DoT работает на уровне протокола.

Через openssl

Проверь сам TLS-хендшейк с DoT-сервером:


openssl s_client -connect 1.1.1.1:853 -servername one.one.one.one

Если соединение установилось и получил сертификат — сервер доступен по DoT. Это быстрая проверка без настройки клиента.

Wireshark

Запусти захват. Фильтр:


udp.port == 53 || tcp.port == 53

При правильно настроенном DoT этот фильтр не поймает ничего. Весь DNS-трафик уйдёт на порт 853 в зашифрованном виде.

Безопасность

DoT шифрует транспорт, но не защищает от всего. Несколько вещей которые стоит знать.

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

SNI всё ещё виден. При TLS-соединении с сайтом имя домена передаётся в открытом виде в поле Server Name Indication. DoT скрывает DNS-запрос, но само соединение с сайтом может быть видно через SNI. Решается через ECH (Encrypted Client Hello) — поддерживается Cloudflare и Firefox.

Firewall для DoT прост: разреши исходящий TCP на порт 853 к нужным серверам, всё остальное на 853 — блокируй. На роутере это делается одним правилом.

Troubleshooting

Ошибка: Android показывает «Не удалось подключиться к частному DNS-серверу»

Причина: hostname неверный, или сервер недоступен, или порт 853 заблокирован провайдером.

Решение: убедись что вводишь hostname, а не IP. Проверь с другой сетью (мобильный интернет вместо Wi-Fi). Если дома Wi-Fi от провайдера, который агрессивно фильтрует — попробуй через мобильные данные. Если там работает — провайдер блокирует порт 853. Переходи на DoH.

Ошибка: dnscrypt-proxy запустился, но DNS не резолвится

Причина: другой процесс занял порт 53, или неверный конфиг.

Проверь кто занимает порт:


netstat -ano | findstr :53

Найди PID и проверь что это dnscrypt-proxy, а не DNS Client Windows:


Get-Process -Id [PID]

Если DNS Client Windows занял порт — отключи его:


Set-Service -Name Dnscache -StartupType Disabled
Stop-Service -Name Dnscache
Внимание: отключение DNS Client
Служба DNS Client в Windows кэширует DNS-запросы. После её отключения кэширования не будет — каждый запрос пойдёт напрямую через dnscrypt-proxy. На производительности это сказывается минимально, но знай что делаешь.

Ошибка: Keenetic не применяет DoT после сохранения

Причина: прошивка устарела или компонент не установлен.

Проверь версию прошивки в Система — Общие сведения. Если ниже 3.1 — обнови. После обновления повтори настройку DoT заново — обновление может сбросить параметры DNS.

Ошибка: Nulls Proxy с DoT увеличивает пинг в игре

Причина: DoT добавляет задержку на TLS-хендшейк при первом DNS-запросе к новому домену.

Решение: это разовая задержка при первом подключении. Последующие запросы к тому же домену идут из кэша. Если пинг стабильно высокий — попробуй сервер Cloudflare (one.one.one.one), у него минимальные задержки среди публичных DoT-серверов. Или переключись на сервер ближайшего региона в настройках прокси.

Ошибка: systemd-resolved на Linux не поднимает DoT

Причина: старая версия systemd (нужна 239+) или синтаксическая ошибка в конфиге.


systemd-resolve --status | grep "DNS over TLS"

Если строки нет — проверь версию:


systemd --version

На Ubuntu 18.04 systemd 237 — DoT не поддерживается. Обнови систему или используй dnscrypt-proxy.

Альтернативные решения

AdGuard Home — DoT + блокировка рекламы на роутере

Если не хочешь зависеть от внешних DoT-серверов — поставь AdGuard Home локально. Он сам выступает DoT-клиентом к вышестоящему серверу и одновременно блокирует рекламу на уровне DNS для всей сети.


docker run --name adguardhome \
  -v /opt/adguardhome/work:/opt/adguardhome/work \
  -v /opt/adguardhome/conf:/opt/adguardhome/conf \
  -p 53:53/tcp -p 53:53/udp \
  -p 3000:3000/tcp \
  adguard/adguardhome

В настройках апстрима укажи DoT-сервер:


tls://one.one.one.one

Stubby — минималистичный DoT-резолвер

Stubby — от разработчиков getdns. Делает ровно одно: пересылает DNS через DoT. Никаких лишних функций. Для тех кто хочет минимальный доверенный код в сетевом стеке.


sudo apt install stubby

Конфиг /etc/stubby/stubby.yml — укажи серверы:


upstream_recursive_servers:
  - address_data: 1.1.1.1
    tls_auth_name: "one.one.one.one"
  - address_data: 1.0.0.1
    tls_auth_name: "one.one.one.one"

sudo systemctl enable stubby
sudo systemctl start stubby

Профилактика

На Android после обновления системы зайди в Настройки — Частный DNS и убедись что hostname на месте. Крупные обновления иногда сбрасывают сетевые настройки к дефолтным. Проверка занимает 10 секунд.

Если используешь dnscrypt-proxy на Windows — добавь его в автозагрузку и настрой мониторинг службы. При падении службы DNS просто перестанет работать — это заметно сразу. Но лучше знать об этом до того как позвонит пользователь.

На Keenetic после обновления прошивки — проверяй настройки DNS. Команда для быстрой проверки:


show ip dns proxy

FAQ

Почему Android не подключается к частному DNS-серверу в офисной сети?

Корпоративные сети часто блокируют порт 853 на уровне firewall. DoT не работает там, где закрыт этот порт. В такой ситуации помогает DoH — он идёт через 443-й порт, который заблокировать без последствий невозможно. Подробнее о настройке DoH читай в статье про DNS over HTTPS.

Как проверить что DNS over TLS реально работает, а не просто включён?

Три способа по возрастанию надёжности. Первый: открой https://1.1.1.1/help и посмотри статус. Второй: запусти kdig с флагом +tls и проверь вывод. Третий: запусти Wireshark с фильтром udp.port == 53 — при работающем DoT этот фильтр не должен поймать ни одного пакета.

Что если DoT-сервер недоступен — Android откатится на обычный DNS?

Нет. Android при недоступном DoT-сервере не откатывается на обычный DNS — он просто не резолвит имена. Это правильное поведение с точки зрения безопасности: лучше потерять подключение, чем незаметно отправить DNS в открытом виде. Чтобы не остаться без интернета — указывай два сервера если их поддерживает интерфейс, или выбирай надёжные серверы с высоким uptime.

Nulls Proxy DoT влияет на весь трафик телефона или только на игры?

Только на трафик внутри туннеля Nulls Proxy. Приложение создаёт VPN-интерфейс и направляет через него только нужный игровой трафик. DNS остального трафика идёт через системный Частный DNS. Если хочешь DoT для всего телефона — настраивай Частный DNS в системных настройках Android, а Nulls Proxy использует свой независимо.

Чем DoT отличается от VPN с точки зрения провайдера?

VPN шифрует весь трафик. DoT шифрует только DNS-запросы. Провайдер видит: вот идёт зашифрованный трафик на порт 853 к адресу 1.1.1.1. Знает что это DNS. Не знает что ты спрашиваешь. Контент сайтов, объём трафика, IP назначения — всё это провайдер по-прежнему видит. DoT — не замена VPN, это один конкретный слой защиты.

Итог

DoT проще всего включить на Android через Частный DNS — встроено, нативно, без приложений. На Keenetic — один раз настроил на роутере, вся домашняя сеть прикрыта. На Windows нужен dnscrypt-proxy или переходи на DoH — там Windows 11 поддерживает нативно.

Nulls Proxy с DoT — нишевая штука для геймеров, которым важно чтобы провайдер не мешал DNS-запросам к игровым серверам. Работает, но это не основной сценарий использования DoT.

Не заработало?
Опиши в комментариях: устройство, версию ОС, какой сервер пробовал. Разберём конкретный случай. Если проблема в том что порт 853 заблокирован — переходи на DoH, там инструкция в отдельной статье.
Андрей Анатольевич
Author: Андрей Анатольевич

Руководитель ИТ / Кризис-менеджер 25 лет в IT: от инженера в МегаФоне до руководителя отдела. Знаю, как выглядит бардак: нестабильные сети, устаревшая инфраструктура, конфликты в команде, раздутые сроки. Помогаю бизнесу выходить из кризиса: навожу порядок в легаси, стабилизирую то, что разваливается, выстраиваю прогнозируемые процессы. Не раз возвращал к жизни ИТ-структуры — знаю цену хаосу. 📍 Ищу проект для полной реорганизации / стабилизации. 📬 Telegram: @over_dude ✉️ mail@it-apteka.com

Оставайтесь на связи

Рецепты от IT-боли. Без воды, без рекламы, без маркетинговой шелухи.

Подписаться на IT-Аптеку →

Мы ВКонтакте

IT-Аптека — советы, новости и помощь рядом.

Вступить в группу ВКонтакте →
Поделитесь:

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх