รูปแบบของข้อมูล 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 (aka round robin) ดังนั้นคำขอของลูกค้าส่วนใหญ่จะถูกแบ่งอย่างเท่าเทียมกันระหว่างที่อยู่ IP ทั้งหมด

หากคุณสร้างระเบียน TXT หลายรายการหมายความว่า DNS จะต้องสุ่มระเบียนเหล่านั้นและจะต้องให้ระเบียนเหล่านั้นแก่คุณในลำดับที่ไม่เจาะจง นั่นจะแปลกมาก: ข้อความของคุณจะอ่านเป็น

"very long ", "string here"

หรือเป็น

"string here", "very long "

ในคำอื่น ๆ อย่าพยายามทำเช่นนั้นเพียงสร้างระเบียน TXT หลายบรรทัดเดียวและเรียกมันว่าวัน


ตกลงดังนั้นในที่สุดฉันก็มีโอกาสที่จะทบทวนสิ่งนี้ .... เครื่องมือตรวจสอบค่า SPF ที่เป็นที่นิยมไม่สามารถจัดการหลาย ๆ สายได้ในระเบียน TXT เดียว ไม่สามารถแยกวิเคราะห์ค่า SPF ที่check-auth@verifier.port25.com(ที่อยู่อีเมลและส่งคืนรายงานอัตโนมัติ)
jww

ฉันคิดว่าเป็นเรื่องง่ายและสมบูรณ์แบบที่จะมีหลายระเบียน TXT สำหรับชื่อเดียวกันโดยใช้หนึ่งในนั้นสำหรับ SPF RFC 7208 ตอนที่ 4.5ระบุว่าไม่v=spf1ควรละเว้นเร็กคอร์ดที่เริ่มต้นด้วย
Martin

ตัวคั่นไบนารีในแพ็คเก็ตคืออะไร?
CoolAJ86

สตริงจะไม่ถูกรวมเข้าด้วยกันและไม่ส่งผลให้มีหลายระเบียน TXT - อาจมีหลายระเบียน txt ที่มีหลายสตริงแยกกันและการเชื่อมโยงสตริงเหล่านั้นจะผิดสำหรับบางแอปพลิเคชัน
จดจำโมนิก้า

@MarcLehmann: ความคิดเห็นของคุณไม่สมเหตุสมผล สตริงสามารถต่อกัน (เช่นใช้รูปแบบหลายบรรทัดตามที่อธิบายไว้ข้างต้น) แต่อาจมีหลายระเบียน TXT (อาจใช้สตริงยาวเหล่านั้น) ส่วนสำคัญของคำตอบนี้คือไม่แนะนำให้ใช้เรคคอร์ด TXT หลายรายการเนื่องจากอาจทำให้เกิดความสับสนในเครื่องมือที่คาดว่าจะมีเพียง 1 เรคคอร์ด TXT เท่านั้น
mvp
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.