ใน DNS สามารถชี้ไปที่ CNAME หรือไม่


17

ได้รับอนุญาตให้มีระเบียน NS เป็น CNAME หรือไม่ เช่น:

subdomain.example.com.       IN NS  ns1.example.com.
ns1.example.com.             CNAME  foo.example.com.
foo.example.com.             IN A   10.1.1.1

ดูเหมือนว่าจะไม่ทำงานในการผูกแม้ว่านี้ (แน่นอน) ไม่:

subdomain.example.com.       IN NS  foo.example.com.
foo.example.com.             IN A   10.1.1.1

พอยน์เตอร์ใด ๆ ที่ RFCs ห้ามการตั้งค่านี้จะได้รับการชื่นชม

คำตอบ:


20

RFC จริงที่กำหนด NS RR ( RFC1035 ) เพิ่งบอกว่ามันเป็นชื่อโดเมนโดยไม่ได้ระบุประเภท RR ของเป้าหมาย (แม้ว่ามันจะทำให้มันชัดเจนว่ามันไม่สามารถเป็น IP) มันจะได้รับการกล่าวถึงเฉพาะในRFC1912แม้ว่าส่วน 2.4:

การมีระเบียน NS ที่ชี้ไปที่ CNAME นั้นไม่ดีและอาจขัดแย้งกันอย่างรุนแรงกับเซิร์ฟเวอร์ BIND ปัจจุบัน ในความเป็นจริงการใช้งาน BIND ปัจจุบันจะไม่สนใจเร็กคอร์ดดังกล่าวซึ่งอาจนำไปสู่การมอบหมายที่อ่อนแอ มีการตรวจสอบความปลอดภัยใน BIND จำนวนหนึ่งเพื่อป้องกันการปลอมแปลง DNS NS นอกจากนี้เซิร์ฟเวอร์ BIND ที่เก่ากว่าจะถูกจับในลูปการสอบถามที่ไม่สิ้นสุดที่พยายามหาที่อยู่สำหรับเนมเซิร์ฟเวอร์ที่มีนามแฝง

ไม่ได้เป็นอย่างนั้น แต่มันก็เหมาะกับพฤติกรรมที่คุณเห็น


5
และRFC1034กล่าวว่า "ชื่อโดเมนใน RR ที่ชี้ไปที่ชื่ออื่นควรชี้ไปที่ชื่อหลักเสมอและไม่ใช่นามแฝงสิ่งนี้จะช่วยหลีกเลี่ยงการเข้าถึงข้อมูลเพิ่มเติม .... แน่นอนโดยหลักการความทนทานซอฟต์แวร์โดเมนไม่ควรล้มเหลว เมื่อแสดงด้วยเครือข่ายหรือลูป CNAME ควรติดตามเครือข่าย CNAME และลูป CNAME ส่งสัญญาณว่าเป็นข้อผิดพลาด "
larsks

10
ฉันพบว่า RFC 2181 10.3 บอกชัดเจนว่ามันไม่ถูกต้อง แต่คำตอบของคุณดีพอ
Mark Wagner

1
เพื่อความชัดเจนที่เพิ่มขึ้น: การMUST NOTใช้คำฟุ่มเฟือยไม่สำคัญที่นี่เพราะ RFC 1912 เป็นข้อมูลและไม่ได้กำหนดมาตรฐาน ทำเครื่องหมายถูกต้องว่าRFC 2181เป็นข้อมูลอ้างอิงที่ถูกต้อง (RFC 1034 ถูกเขียนขึ้นก่อนที่มาตรฐานภาษาจะแข็งตัวดังนั้นความไม่ชัดเจน)
Andrew B
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.