DNS - ระเบียน A หลายระเบียนหรือ 1 A ระเบียนและ CNAME มากมาย


29

ช่วยบอกว่าฉันมีเว็บเซิร์ฟเวอร์ชื่อ 'www' www.example.com จะแก้ไขที่อยู่ IP ของเครื่องนั้น จากนั้นฉันต้องการสร้างโฮสต์เสมือนและระเบียน DNS สำหรับพวกเขาเช่น webmail.example.com

สำหรับ 'เว็บเมล' ฉันควรใส่ระเบียน A ด้วยที่อยู่ IP ของ www หรือควรทำ CNAME ถึง www หรือไม่

มีอะไรที่สะอาดกว่านี้แข็งแกร่งกว่านี้ไหม ดีขึ้นหรือไม่

คำตอบ:


26

มีสองมุมมองทางเลือกของคำถามนี้และเป็นมุมมองที่ถูกถกเถียงกันในท้ายที่สุด ฉันจะไม่ให้ความเห็นของฉัน (เพราะฉันฉีกขาด) แต่ข้อโต้แย้งทั่วไปในแต่ละวิธีมักจะเป็น:

  • คุณควรกำหนดระเบียน A สำหรับเครื่องที่มีอยู่จริงของคุณจากนั้นให้บริการ CNAME ลงในเครื่องเหล่านั้น สิ่งนี้ทำให้ค่อนข้างชัดเจนว่ามีอะไรเกิดขึ้นบ้างและในกรณีที่คุณจำเป็นต้องกำหนดหมายเลขใหม่ไม่มีการเปลี่ยนแปลงระเบียนจำนวนมาก - เพียงเครื่องบันทึก ในทางตรงกันข้ามมันเป็นการเพิ่มการค้นหา DNS ของคุณบ้างและ IP "สำรอง" (คิดว่า SSL vhosts) ไม่เหมาะกับรุ่นนี้อย่างเป็นระเบียบ

  • ความหมายที่แท้จริงของ "ชื่อบัญญัติ" (CNAME) คือการกำหนดนามแฝงที่เข้มงวดของชื่อเดียวกัน (คิดmailและsmtp) และหากคุณมีบริการหลายอย่างที่ทำงานอยู่ในเครื่องเดียวกันพวกเขาควรมีบันทึก A เพราะจะช่วยลดภาระใน DNS และ บริการบางอย่าง (ระเบียน NS และในระดับที่น้อยกว่านั้นระเบียน MX) จะไม่ประทับใจกับการจัดการกับ CNAME ดังนั้นหากคุณต้องจัดการกับบริการเหล่านั้นแตกต่างออกไปเราก็อาจทำทุกอย่าง


12
คุณสามารถทำลาย / โอเวอร์โหลดเซิร์ฟเวอร์ DNS ของคุณได้อย่างจริงจังด้วยการชี้ MX ไปที่ CNAME ฉันไม่อยากจะอธิบายว่าทำไมตอนนี้ แต่เซิร์ฟเวอร์เมลที่เก่ากว่า (มีอยู่มากมายที่นั่น) จะเห็น MX ชี้ไปที่ CNAME และไม่รู้ว่าจะจัดการกับมันอย่างไรและจะค้นหาและทำให้เกิดความเครียดมาก บน DNS ของคุณและในท้ายที่สุดอีเมลจะไม่ได้รับทุกที่ อย่าชี้ MX ไปที่ CNAME EVER
Mark Henderson

3
ฉันเห็นด้วยกับ Farseeker อย่าชี้ MX ไปที่ CNAME แม้ว่ามันจะใช้ได้ ลองดูวิกิพีเดีย (ค้นหา MX Record) หรือ RFC 2181 (ตอนที่ 10.3) หากคุณต้องการรายละเอียดทั้งหมด
เบอนัวต์

+1 เพื่อลดความเสี่ยง คำตอบนั้นเป็นการแสดงออกถึงมุมมองของฉันด้วย +1 ถึง Farseeker เรคคอร์ด MX เป็นข้อยกเว้น สำหรับการอ้างอิงของ Beoot นั้นไม่ควรใช้ Wikipedia เป็นข้อมูลอ้างอิงทางเทคนิคเนื่องจากมีข้อผิดพลาดและความไม่ถูกต้องมากเกินไป ในขณะที่เกือบทุกคนชอบที่จะพูด RFCs เราจำเป็นต้องจำไว้ว่าพวกเขาไม่ได้มาตรฐาน แต่เป็นผู้บุกเบิกข้อเสนอสำหรับมาตรฐาน
John Gardeniers

ขออภัยชื่อเบอนัวต์สะกดผิด ได้เวลานอนแล้ว
John Gardeniers

ฉันมักจะใช้ชื่อ เพื่อนร่วมงานของฉันใช้วิธีการหลายระเบียน อีกเหตุผลหนึ่งที่ดีกว่า cname: ทำให้ง่ายต่อการตัดสินใจว่าเรคคอร์ดใดที่ได้รับเรคคอร์ด ptr ฉันได้รับเบียร์จากเพื่อนร่วมงานคนที่สามของอันนี้
dmourati

12

การใช้ CNAME จะทำการค้นหาบนเซิร์ฟเวอร์ DNS อย่างมีประสิทธิภาพเป็นสองเท่า เมื่อคำขอเชื่อมโยงกับ CNAME ต้องค้นหาระเบียน A สำหรับ CNAME

ที่กล่าวว่ามีเหตุผลของ CNAME อยู่ มันทำให้ DNS ของคุณจัดการได้ง่ายกว่ามากและถ้าคุณไม่ได้แก้ปัญหาหลายหมื่นต่อวันมันจะไม่สำคัญ ...


12

หลายคนอาศัยอยู่ที่นี่แนะนำว่า CNAME จะเพิ่มการโหลด DNS นี่ทำให้ฉันอยากรู้ ฉันยิงวีระชาร์คตรวจสอบคำขอ CNAME และอย่างน้อยในสภาพแวดล้อมของเราผลลัพธ์ก็ถูกส่งกลับในบันทึกเดียว ซึ่งทำให้คำพังเพยของ Knuth อยู่ในใจที่นี่: "การเพิ่มประสิทธิภาพก่อนวัยอันควรเป็นรากฐานของความชั่วร้ายทั้งหมด"

ฉันชอบ CNAME แต่ส่วนใหญ่มีผลทางจิตวิทยา พวกเขาสนับสนุนให้ผู้คน (อย่างฉันเป็นต้น) แยกชื่อเซิร์ฟเวอร์ออกจากชื่อบริการ

สภาพแวดล้อมของเรามีใบรับรอง SSL หลายตัวที่แนบมากับชื่อเซิร์ฟเวอร์ทึบ (ซึ่งเราได้เลิกทำ) CNAME ทำงานได้ดีขึ้นมากที่นี่ ในทุก ๆ ที่ที่ฉันทำงานบริการโยกย้ายที่ชื่อเซิร์ฟเวอร์นั้นแน่นหนากับบริการเป็นเรื่องปวดหัว CNAME ให้แนวความคิดในการแยกที่ชัดเจน


สิ่งนี้ต้องการแรงผลักดันมากขึ้น โดยทั่วไประเบียน CNAME จะไม่เพิ่มจำนวนรอบการเดินทางที่จำเป็นเนื่องจากผลลัพธ์จะรวมอยู่ในการตอบกลับครั้งเดียว
Nic

4

ในความคิดของฉันถ้าโฮสต์เสมือนคือ www.someotherdomain.com ฉันจะถือว่าพวกเขาเป็นโดเมนแยกต่างหากที่มีชุดระเบียน DNS ของตัวเอง (ทำให้ง่ายขึ้นในภายหลังหากพวกเขาต้องการแยกออก) หากอย่างไรก็ตามเป็นเพียงแค่บล็อก. example.com ดังนั้นฉันจะใช้ CNAME

เพียงแค่การตั้งค่าส่วนตัวของฉัน



2

CNAME เพิ่มการโหลดในระบบ DNS ไม่ใช่ในคอมพิวเตอร์ส่วนบุคคลหรือการเชื่อมต่ออินเทอร์เน็ต ฉันคิดว่าบางคนที่นี่ไม่ได้แยกความแตกต่างนั้นเมื่อพวกเขาตอบกลับ

ตัวอย่างเช่นใช้ระเบียน A สำหรับระเบียนที่มีปริมาณการใช้งานสูง (@ และ www) ใช้ CNAME สำหรับระเบียนรองที่จะจับคู่กับ IP เดียวกันของระเบียนหลักเสมอ ตัวอย่างเช่นหากคุณมีโดเมน "member.site.com" ที่จะแก้ไขเป็น IP เดียวกันกับ "www.site.com" เสมอคุณสามารถใช้ CNAME ที่นี่เพื่อความสะดวก แต่ถ้าคุณสามารถใช้ระเบียน A มันจะแก้ไขได้เร็วขึ้น


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