Формат данных TXT в записи DNS?


9

Запись TXT для моего домена в настоящее время имеет юридическую оговорку и условия. Они были добавлены некоторое время назад из-за спамеров и других негодяев (чтобы дать мне законную поддержку, если я когда-либо нуждался в этом).

Мне нужно добавить больше информации, которая отличается от первой. Согласно RFC 1035, 3.3.14 :

3.3.14. TXT RDATA format


    +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
    /                   TXT-DATA                    /
    +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

where:

TXT-DATA        One or more <character-string>s.

TXT RRs are used to hold descriptive text.  The semantics of the text
depends on the domain where it is found.

Как именно добавляется вторая (или третья) строка? Что такое разделители TXT-DATA?

Или я добавляю вторую (или третью) запись TXT? Разрешено ли даже несколько записей TXT?

Ответы:


9

Для namedнаиболее популярных DNS-серверов вы можете использовать любую из следующих форм для создания более длинных записей TXT:

  • Одна строка, одна строка:

    name IN TXT "very long string here"
    
  • Много строк в одной строке:

    name IN TXT "very long " "string here"
    
  • Много строк, по одной в строке, заключенных в скобки:

    name IN TXT ("very long "
                 "string here")
    

Для многостроковых форм строки просто объединяются друг с другом дословно (все приведенные выше примеры дают одинаковый результат).

Обратите внимание, что большинство инструментов DNS явно не поддерживают создание нескольких записей TXT для одного и того же name. Кроме того, в реальной жизни большинство записей TXT используются для SPF или DKIM. Даже если вам как-то удастся создать несколько записей TXT для одного и того же name, для SPF это будет незаконно и, как таковое, не рекомендуется.

Кроме того, посмотрите на это с другой точки зрения. Например, вы можете иметь несколько Aзаписей для данного имени, которое используется для указания того, что на вашем веб-сайте имеется более одного сервера. Но, согласно правилам DNS, он должен автоматически рандомизировать их порядок по запросу DNS (он же циклический перебор), так что большинство клиентских запросов равномерно распределяются между всеми IP-адресами.

Если вы создаете несколько записей TXT, это означает, что DNS также должен их рандомизировать и отдавать вам в НЕТ конкретном порядке. Это было бы очень неловко: ваш текст будет читаться как

"very long ", "string here"

или как

"string here", "very long "

Другими словами, не пытайтесь сделать это - просто создайте одну многострочную TXT-запись и называйте это день.


Итак, я наконец-то получил шанс вернуться к этому .... Популярная программа проверки SPF не может обрабатывать несколько строк в одной записи TXT; Парсер SPF также не может check-auth@verifier.port25.com(это адрес электронной почты, и он возвращает автоматический отчет).
jww

Я думаю, что легко и совершенно правильно иметь несколько записей TXT для одного и того же имени, используя одну из них для SPF. В разделе 4.5 RFC 7208 говорится, что записи, не начинающиеся с, v=spf1должны игнорироваться.
Мартин

Что такое двоичный разделитель в пакете?
CoolAJ86

Строки не объединяются и не приводят к нескольким TXT-записям - может быть несколько TXT-записей с несколькими отдельными строками, и объединение их будет неправильным для некоторых приложений.
Помните Монику

@MarcLehmann: ваш комментарий не имеет смысла. Строки могут объединяться (например, используя многострочную форму, как описано выше), но может быть несколько записей TXT (возможно, с использованием этих длинных строк). Суть этого ответа заключается в том, что использование нескольких записей TXT не рекомендуется, поскольку это может привести к путанице в инструментах, которые ожидают только одну запись TXT.
mvp
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.