ใช้ CNAME เพื่อชี้ไปยังโดเมนอื่นเพื่อบันทึกที่อยู่ IP


39

ฉันมีเซิร์ฟเวอร์หนึ่งตัวที่ฉันโฮสต์ไซต์จำนวนหนึ่งไว้

ขณะนี้แต่ละไซต์มีโดเมนเป็นโฮสต์โดยผู้ให้บริการอิสระและแต่ละแห่งมีระเบียน A ที่ชี้ไปยังที่อยู่ IP ของเซิร์ฟเวอร์

แต่ถ้าฉันต้องการเปลี่ยนเซิร์ฟเวอร์ในอนาคตฉันจะต้องกลับไปอัปเดตที่อยู่ IP แต่ละรายการในแต่ละระเบียน DNS

เป็นไปได้ไหมที่จะใช้ระเบียน CNAME ในแต่ละโดเมนให้ชี้ไปยังโดเมนอื่นที่ฉันควบคุมโดยตรง

นี่คือเพื่อให้ฉันสามารถอัปเดตที่อยู่ IP ในที่ 1 ตัวเองและไม่ต้องให้ผู้ให้บริการ DNS อื่น ๆ เหล่านี้ทั้งหมดเพื่ออัปเดตบันทึกแยกต่างหาก?

คำตอบ:


25

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

ความหมายสำหรับลูกค้าของคุณคือการค้นหา DNS เพิ่มเติมใน NS สำหรับโฮสต์อื่น แต่นั่นเป็นราคาเล็กน้อยที่ต้องจ่ายสำหรับเว็บไซต์ส่วนใหญ่บนอินเทอร์เน็ต


โดยปกติจะเป็นเซิร์ฟเวอร์แบบเรียกซ้ำซึ่งจะทำการค้นหาเพิ่มเติมนั้นไม่ใช่ตัวแก้ไข stub ในไคลเอนต์
Alnitak

27

ตามคำตอบของ Farseeker ใช่นี่คือสิ่งที่CNAMEบันทึกไว้

อย่างไรก็ตามในขณะที่คุณสามารถใช้สิ่งนี้เพื่อชี้www.example.netไปที่www.example.comคุณไม่สามารถใช้มันเพื่อจุดexample.netด้วยตัวเอง (เช่นไม่มีwwwคำนำหน้า) ไปอย่างอื่น

นี่เป็นเพราะexample.netจะต้องมีการSOAบันทึกและNSบันทึกและมันไม่ถูกกฎหมายใน DNS ที่จะCNAMEนำเสนอที่ส่วนเดียวกันของต้นไม้เป็นบันทึกอื่น ๆ (คีย์ DNSSEC ยกเว้น)

"เรียงลำดับ" รอบคัดเลือกด้านบนเป็นเพราะพูดอย่างเคร่งครัดCNAMEบันทึกแนะนำ "ด้านซ้ายมือ" เป็นนามแฝงสำหรับเป้าหมายของCNAMEบันทึกที่เป้าหมายนั้นจริง ๆ แล้วเป็น "ชื่อบัญญัติ"

ดังนั้นหากคุณเห็นเช่น:

www.example.net IN CNAME www.example.com.

มันเป็นเรื่องที่ไม่ได้บอกว่าwww.example.netควรจะ "เปลี่ยนเส้นทาง" เพื่อwww.example.comก็บอกว่าwww.example.netเป็นชื่ออื่น www.example.com


2
"example.net ต้องมีระเบียน SOA ด้วย" บางคนโกง: ดูที่ lrnskls.com
bortzmeyer

มันเป็นแฮ็คที่น่ารังเกียจและพวกเขาจะมีปัญหาใหญ่หากพวกเขาต้องการลงชื่อเข้าใช้ DNSSEC
Alnitak

5
+1 นี่เป็นจุดที่ดีและเป็นหนึ่งในข้อบกพร่องที่ใหญ่กว่า (และเหตุผลที่ไม่มีเว็บไซต์ใดของฉันที่สามารถใช้ www-less ได้เนื่องจากโดเมนเหล่านั้นยังต้องการระเบียน MX ด้วยซึ่งห้ามไม่ให้มีสิ่งนี้)
Oskar Duveborn

3

ใช่มันเป็นไปได้

นั่นเป็นวิธีที่ฉันทำเว็บเซิร์ฟเวอร์ทดลองที่มี IP แบบไดนามิกด้วย (แม้ว่าจะไม่ค่อยมีการเปลี่ยนแปลง)


0

ฉันจะต้องกลับไปอัปเดตที่อยู่ IP แต่ละรายการในแต่ละระเบียน DNS

แน่นอนว่า CNAME นั้นเป็นทางออกที่เป็นไปได้ (ดูคำตอบของ Alnitak สำหรับข้อ จำกัด ของ CNAMEs) แต่มีอีกอย่างหนึ่ง: แทนที่จะจัดการไฟล์โซนของคุณด้วยมือให้สร้างโปรแกรมสิบบรรทัด (Perl / Python / Ruby / cpp / m4 / อะไรก็ตาม) ซึ่งจะสร้างไฟล์โซนจากต้นแบบ (ไฟล์ข้อความ, ไฟล์ XML, DBMS, อะไรก็ตาม)

ด้วยวิธีนี้ที่อยู่ IP ของคุณจะอยู่ในที่เดียวเท่านั้น เมื่อมีการเปลี่ยนแปลงให้เรียกใช้โปรแกรมอีกครั้ง

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