มีหลาย CNAME


11

เรามีโดเมน DNS ของเราที่มี CNAME 5 ระดับด้วยเหตุผลทางประวัติศาสตร์ บางสิ่งได้รับการเอาต์ซอร์ซสำหรับความพร้อมใช้งานสูง ฯลฯ แต่นั่นไม่ใช่จุดที่นี่ คำถามของฉันมี overkill 5 CNAME สำหรับตัวแก้ไข DNS หรือไม่ ฉันไม่สามารถค้นหาเว็บไซต์ที่มีชื่อเสียงที่มี CNAME ซ้อนกันมากกว่า 2-3 ระดับที่ชี้ไปยังโดเมน DNS ที่แตกต่างกัน

CNAME ฮ็อปของเรามีลักษณะดังนี้: (ฉันใช้ xyz เป็นตัวอย่าง)

www.xyz.com -> xyz.akadns.net -> xyz.worldwide.akadns.net -> xyz.cedexis.net -> xyz.msedge.net -> host1.msedge.net (ระเบียน A \ AAAA สุดท้าย)

ฉันเห็นลูกค้าจำนวนมากบ่นเกี่ยวกับปัญหาการแก้ไข DNS ในเว็บไซต์ของเราเมื่อไซต์อื่นทำงานได้ดีสำหรับพวกเขาแม้ว่าเมื่อฉันใช้http://check-host.net/check-dns?host=www.xyz.comเพื่อทดสอบ DNS ของเรา ความละเอียด

ดูเหมือนว่าจะทำงานได้ดีทั่วโลก ข้อสรุปของฉันคือส่วนใหญ่เป็นที่ตัวแก้ไข DNS ของผู้ให้บริการ ISP ในท้องถิ่นเกิดข้อผิดพลาดเมื่อหนึ่งใน Hops ด้านบนไม่สามารถแก้ไขได้ nslookup ล้มเหลวในคอมพิวเตอร์ไคลเอนต์เหล่านี้สำหรับเว็บไซต์ของเราเท่านั้นและนั่นเป็นระยะ ๆ

CNAME หลายระดับแบบนี้เป็นการออกแบบที่ไม่ดีโดยทั่วไปหรือไม่?


1
ฉันทำงานให้กับ Akamai เมื่อไม่กี่ปีที่ผ่านมาและหนึ่งในลูกค้าของเรารายงานว่าเราเตอร์บางตัวมีปัญหากับการซ้อน 5 ระดับ ฉันคิดว่าเราเตอร์เฟิร์มแวร์ได้รับการแก้ไขในที่สุด
Barmar

คำตอบ:


15

CNAME หลายระดับแบบนี้เป็นการออกแบบที่ไม่ดีโดยทั่วไปหรือไม่?

เครือข่าย CNAME to CNAME ไม่ได้รับอนุญาตแต่อย่างที่คุณเคยสัมผัสมาแล้วมันไม่ได้เป็นโซลูชั่นที่แข็งแกร่งมาก

CNAME เพิ่มเติมแต่ละรายการจะเพิ่มความลึกของการเรียกซ้ำสำหรับตัวแก้ไขและความลึกนั้นไม่ จำกัด เสมอไป นอกจากนี้คุณยังเสี่ยงต่อการสร้างลูปหรือก่อให้เกิดอัลกอริทึมการตรวจจับลูป

ในการรับความประทับใจว่ามีจำนวนเท่าใดและแบบสอบถามเซิร์ฟเวอร์ชื่อผู้ใช้ของคุณต้องทำอะไรให้เรียกใช้การติดตาม DNS:

dig +trace www.example.com 

หรือบน Windows

nslookup -debug www.example.com

11

HBrujin ถูกต้อง แต่ในความเป็นจริงความลึกของการเรียกซ้ำนั้นเลวร้ายยิ่งกว่าสิ่งใดdig +traceๆ ที่จะแสดงให้คุณเห็น ความลึกของการเรียกซ้ำเป็นสิ่งที่มักจะถูกเย้ยหยันและเกินความจริง แต่คนเหล่านั้นลืมว่าคุณไม่ได้แก้ไขเพียงCNAMEระเบียน~ 5 เนื่องจากการแก้ไขเป้าหมายของCNAMEเรกคอร์ดสร้างความต้องการค้นหาเนมเซิร์ฟเวอร์ทุกตัวในพา ธ ซึ่งบ่อยครั้งกว่าจะปรากฏให้เห็นอย่างชัดเจนในครั้งแรก

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

ทุกCNAMEเรกคอร์ดที่ถูกเพิ่มเข้าไปในเชนสามารถเพิ่มจำนวนของการค้นหาที่ต้องการขึ้นอยู่กับจำนวนเนมเซิร์ฟเวอร์ที่จำเป็นต้องทำการเรียกซ้ำ การค้นหาระเบียนเหล่านี้ของCNAME+ NS+ A(AAA)สามารถทำให้เกิดความสับสนอย่างบ้าคลั่งเข้าถึงได้ลึกกว่า 150 ระดับบนแคช emtpy นี่คือที่การจำกัดความลึกของการเรียกซ้ำสามารถทำให้เกิดอันตรายได้อย่างมากซึ่งทำให้เกิดความล้มเหลวชั่วคราวในการค้นหาโดเมนของคุณในแคชว่างเปล่าและด้วยเหตุผลที่มักไม่ปรากฏทันที

ในระยะสั้นคุณสามารถทำได้ แต่ดำเนินการด้วยความระมัดระวังและรับฟังความคิดเห็นเกี่ยวกับเรื่องนี้อย่างจริงจัง คุณไม่สามารถควบคุมได้ว่าเซิร์ฟเวอร์ DNS แบบเรียกซ้ำบนอินเทอร์เน็ตถูกรีสตาร์ทหรือลบทิ้งบ่อยแค่ไหน


ซอฟต์แวร์ไคลเอ็นต์ของฉันตั้งอยู่บนเครือข่ายของเครื่องที่ทำการโทรผ่าน http ระยะไกล มันจะยุติธรรมหรือไม่ที่จะลอง CNAME ทั้งหมดจากไคลเอนต์ลดความลึกของการเรียกซ้ำ \ load บนตัวแก้ไข เสียงนี้เป็นแนวทางที่ดีหรือฉันขาดอะไรไปหรือเปล่า? ฉันรู้ว่า CNAME จะไม่เปลี่ยนแปลงไปตามภูมิภาค
Vishal Naidu

ไม่ใช่วิธีการที่ดี โดยทั่วไปแล้วเซิร์ฟเวอร์ที่ไม่สามารถค้นหาข้อมูลกำลังจะทำการแคชชั่วคราว แบบสอบถามอาจประสบความสำเร็จอีกครั้งในอนาคต (พูด 5 นาทีนับจากนี้) แต่ไม่น่าจะประสบความสำเร็จในการลองใหม่ทันที หากคุณระบุชื่อระเบียน DNS ของคุณฉันสามารถแจ้งให้คุณทราบว่านี่เป็นปัญหาเชิงลึกแบบเรียกซ้ำหรือสิ่งที่ไม่ชัดเจน ฉันเกลียดที่เราจะลงหลุมกระต่ายที่ไม่ถูกต้อง
Andrew B

0

หลายระดับCNAMEมักจะมีประโยชน์ในทางปฏิบัติ การเปลี่ยนเส้นทางแต่ละระดับให้ระดับการควบคุมในเขตการปกครองที่แตกต่างกันที่อาจเกิดขึ้นหรือองค์กรที่แตกต่างกันโดยสิ้นเชิง ขณะนี้แทบจะทุกความจำเป็นทางเทคนิคก็สามารถแก้ไขปัญหาขององค์กร

ดังที่คนอื่น ๆ สังเกตว่าสิ่งนี้อาจทำให้เกิดปัญหา แต่สิ่งเหล่านี้สามารถแก้ไขได้:

  • ตรวจสอบเซิร์ฟเวอร์ DNS ทั้งหมด บางทีอาจเป็นเรื่องผิดปกติ ตรวจสอบเซิร์ฟเวอร์ภายนอกเช่นเดียวกับของคุณเอง คุณอาจต้องรายงานปัญหาไปยัง Akamai หรือผู้ขายรายอื่น

  • TTLsควรจะตั้งสูงพอที่จะอนุญาตให้แคช แต่พอต่ำที่คุณสามารถเปลี่ยนการจราจรเร็วพอสำหรับการใช้งานของคุณ


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