Как создать собственную DNS-метку для шифрованного DNS
В этой инструкции рассказывается о том, как создать собственную DNS-метку (DNS stamp) для шифрованного DNS. Шифрованный DNS — это сервис, который улучшает конфиденциальность и безопасность в интернете через шифрование DNS-запросов. Таким образом злоумышленники не смогут перехватить ваши DNS-запросы.
В шифрованном DNS обычно используются URL-адреса tls://
, https://
или quic://
. Этого достаточно для большинства пользователей, и мы рекомендуем использовать именно их.
Однако, если вам нужна дополнительная безопасность, например заведомо известные IP-адреса серверов и закрепление сертификата по хешу, вы можете создать собственную DNS-метку.
Коротко о DNS-метках
DNS-метки (DNS stamps) — это короткие строки, в которых содержится вся необходимая информация для подключения к шифрованному DNS-серверу. Они упрощают процесс настройки шифрованного DNS, поскольку пользователю не нужно вручную вводить все эти данные.
DNS-метки позволяют настраивать, помимо обычных URL-адресов, другие параметры шифрованного DNS. В частности, они позволяют указывать жёстко заданные адреса серверов, использовать хеширование сертификатов и так далее. Поэтому DNS-метки — это универсальный и более надёжный вариант настройки шифрованного DNS.
Выбор протокола
Типы шифрованного DNS включают в себя DNS-over-HTTPS (DoH)
, DNS-over-QUIC (DoQ)
, DNS-over-TLS (DoT)
и некоторые другие. Выбор одного из этих протоколов зависит от контекста, в котором вы будете их использовать.
Создание DNS-метки
Откройте DNSCrypt Stamp Calculator.
В зависимости от выбранного протокола выберите соответствующий протокол из раскрывающегося меню (DoH, DoT или DoQ).
Заполните необходимые поля:
- IP address: Введите IP-адрес DNS-сервера. Если вы используете протокол DoT или DoQ, убедитесь, что вы также указали соответствующий порт.
noteЭто поле необязательное, и его следует заполнять с осторожностью: использование этого параметра может привести к нарушению работы интернета в сетях, поддерживающих только IPv6.
:::
- **Hashes**: Введите SHA256-дайджест одного из сертификатов TBS, найденных в цепочке проверки. Если используемый вами DNS-сервер предоставляет готовый хеш, найдите и скопируйте его. Иначе вы можете получить его, следуя инструкциям в разделе [*Получение хеша сертификата*](#obtaining-the-certificate-hash).
:::note
Это поле необязательно
:::
- **Host name**: введите имя хоста DNS-сервера. Это поле используется для проверки имени сервера в протоколах DoT и DoQ.
- Для **DoH**:
- **Path**: введите путь для выполнения DoH-запросов. Обычно это `"/dns-query"`, но ваш провайдер может указать другой путь.
- Для **DoT и DoQ**:
- Обычно в этом инструменте нет специальных полей для этих протоколов. Убедитесь, что порт, указанный в адресе резолвера, введён правильно.
- В разделе **Properties** вы можете проверить соответствующие свойства, если они известны и применимы к вашему DNS-серверу.
- Ваша метка будет сгенерирована автоматически, и вы увидите ее в поле Метка.
Получение хеша сертификата
Чтобы заполнить поле Hashes of the server's certificate, можно воспользоваться следующей командой, заменив <IP_ADDRESS>
, <PORT>
и <SERVER_NAME>
на соответствующие значения для вашего DNS-сервера:
echo | openssl s_client -connect <IP_ADDRESS>:<PORT> -servername <SERVER_NAME> 2>/dev/null | openssl x509 -outform der | openssl asn1parse -inform der -strparse 4 -noout -out - | openssl dgst -sha256
Результат команды хеширования может меняться со временем по мере обновления сертификата сервера. Поэтому, если ваша DNS-метка внезапно перестанет работать, вам может потребоваться пересчитать хеш сертификата и сгенерировать новую метку. Если регулярно обновлять DNS-метки, шифрованный DNS будет работать непрерывно и надёжно.
Использование DNS-метки
Теперь у вас есть собственная DNS-метка, которую можно использовать для настройки шифрованного DNS. Эту метку можно ввести в AdGuard и AdGuard VPN для повышения конфиденциальности и безопасности в интернете.
Пример создания DNS-метки
Разберем пример создания метки для AdGuard DNS с помощью DoT:
Откройте DNSCrypt Stamp Calculator.
Выберите протокол DNS-over-TLS (DoT).
Заполните следующие поля:
IP-адрес: введите IP-адрес и порт DNS-сервера. В данном случае это
94.140.14.14:853
.Host name: введите имя хоста DNS-сервера. В данном случае это
dns.adguard-dns.com
.Hashes: Выполните команду
echo | openssl s_client -connect 94.140.14.14:853 -servername dns.adguard-dns.com 2>/dev/null | openssl x509 -outform der | openssl asn1parse -inform der -strparse 4 -noout -out - | openssl dgst -sha256
Результат:
1ebea9685d57a3063c427ac4f0983f34e73c129b06e7e7705640cacd40c371c8
Вставьте этот хеш SHA256 сертификата сервера в поле.Оставьте раздел «Свойства» пустым.
Ваша метка будет сгенерирована автоматически, и вы увидите ее в поле Stamp.