Разбиение TXT-записи DNS

Разрежьте длинное значение TXT на строки по 255 байт, готовые для файла зоны.

Инструмент разбиения TXT-записи работает полностью в браузере: ключи и токены режутся на вашем устройстве и никуда не отправляются.

Создать запись DKIM

Об инструменте Разбиение TXT-записи DNS

TXT-запись — это не одна длинная строка. RFC 1035 хранит её как последовательность символьных строк, каждая не длиннее 255 байт, а резолвер склеивает их без чего-либо между ними. Именно поэтому ключ DKIM на 2048 бит приходится отдавать в файл зоны несколькими строками в кавычках, и поэтому разрез в неверном месте — или склейка кусков пробелом — ломает подпись почты так, что искать причину мучительно. Инструмент режет по границам байтов и никогда не разрывает символ.

Возможности

Как использовать Разбиение TXT-записи DNS

  1. Вставьте значение TXT целиком — кавычки добавятся сами
  2. Укажите имя записи и TTL, если нужна полная строка зоны
  3. Выберите формат вывода, который ждёт ваш DNS-провайдер
  4. Скопируйте запись либо соберите разрезанное значение на вкладке склейки

Пример

Ввод

v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A… (392 bytes)

Результат

default._domainkey 3600 IN TXT "v=DKIM1; k=rsa; p=MIIBIja…" "…QIDAQAB"

Две строки в кавычках, которые резолвер склеит без чего-либо между ними.

Частые ошибки и устранение неполадок

Часто задаваемые вопросы

Почему TXT-запись ограничена 255 символами?
Каждой строке внутри записи предшествует байт длины, который и ограничивает одну строку 255 байтами. Вся запись может содержать много строк, поэтому настоящий предел — размер DNS-сообщения.
Как резолвер собирает разбитые строки TXT?
Он склеивает их по порядку вообще без разделителя. На этом поведении и держатся DKIM, SPF и токены подтверждения.
Где резать ключ DKIM?
Где угодно, лишь бы каждый кусок не превышал 255 байт. Для проверяющей стороны после склейки ключ — это одна строка Base64.
Насколько большой может быть вся TXT-запись?
На практике несколько килобайт, но ответы больше примерно 512 байт требуют EDNS или повтора по TCP, а часть резолверов справляется с этим плохо.
Нужно ли так же разбивать запись SPF?
Только если одна строка выходит за 255 байт, что случается при множестве include. У SPF есть и собственный предел в десять DNS-запросов, и разбиение здесь не помогает.

Связанные инструменты

Все инструменты ArrayKit