Формат даних 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-записів не рекомендується, оскільки це може заплутати інструменти, які очікують лише 1 запис TXT.
mvp
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.