ทำไมต้องส่งเนมเซิร์ฟเวอร์ที่เชื่อถือได้ใน DNS


11

ด้วยความอยากรู้ฉันกำลังตรวจสอบแพ็กเก็ต Wireshark DNS ฉันสามารถเห็นว่ามีการสอบถาม DNS จากโฮสต์แล้วการตอบสนอง DNS จากเซิร์ฟเวอร์ DNS ทุกอย่างเป็นไปตามคาด

อย่างไรก็ตามถ้าคุณตรวจสอบเพิ่มเติมในแบบสอบถามคุณจะเห็นว่าเซิร์ฟเวอร์ยังส่ง NS (เซิร์ฟเวอร์ชื่อที่เชื่อถือได้) คำถามของฉันคือ: ทำไม

ในฐานะโฮสต์ฉันสนใจเฉพาะ IP เท่านั้น นั่นเป็นจุดหลักของ DNSเพื่อแก้ไขชื่อเป็นที่อยู่ IP

ทำไมในฐานะโฮสต์ฉันต้องการข้อมูล NS หรือไม่


1
@downvoter โปรดแสดงความคิดเห็น และถ้าคุณคิดว่าคำถามของฉันเป็นเรื่องง่ายมากดังนั้นอย่างน้อยก็ตอบคำถามแล้วโหวตลง
AhmedWas

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

คำตอบ:


15

ตามปกติแล้วเซิร์ฟเวอร์ชื่อจะไม่ส่งคำตอบสั้น ๆ ไปยังแบบสอบถาม แต่การตอบกลับแบบเต็มตามมาตรฐานRFC 1034 - 1035ซึ่งรวมถึงส่วนสิทธิ์ที่มี Resource Records ที่ชี้ไปยังเซิร์ฟเวอร์ชื่อที่เชื่อถือได้

สาเหตุอาจเป็นเพราะลักษณะการกระจายและการมอบหมายของ DNS ดูเหมือนว่าเป็นความคิดที่ดีในเวลาที่รวมถึง "แหล่งที่มาของความจริง" ในการตอบสนอง

แก้ไข:โดยวิธี: การส่งส่วนผู้มีอำนาจเป็นไปตาม RFC แต่ไม่บังคับสำหรับการตอบแบบสอบถามทั้งหมด

ใน BIND ลักษณะการทำงานนี้สามารถปรับได้ด้วยminimal-responses yes | no;คำสั่งโดยค่าเริ่มต้นคือnoและส่วนอำนาจและส่วนเพิ่มเติมของการตอบแบบสอบถามจะถูกเติมเต็มเสมอ
เซิร์ฟเวอร์ชื่ออื่น ๆ CloudFlare, AWS Route 53, Infoblocks และอื่น ๆ อาจจะส่งการตอบสนองน้อยที่สุดตามค่าเริ่มต้นแล้ว เครื่องมือแก้ไขสาธารณะของ Google จะส่งคืนส่วนผู้มีอำนาจเมื่อพร้อมใช้งานคือ Cloudflare


ฉันคิดว่าต้นกำเนิดของประเพณีนั้นรวมทั้งส่วนอำนาจในเช่นเดียวกับการตอบแบบสอบถามที่เกิดขึ้นจริงพบว่ารากในรหัส (หลอก) จากRFC882ล้าสมัยในขณะนี้หน้า 15-16

If the name server is not authoritative, the code copies 
the RRs for a closer name server into the response.  

The last section of the code copies all relevant RRs into the response.

ขอบคุณสำหรับการแก้ไขและข้อมูลเพิ่มเติม ฉันหวังว่าฉันจะให้คุณมากกว่าหนึ่งคะแนนโหวตขึ้น :)
AhmedWas

นี่ไม่ได้ตอบคำถามจริงๆ เราทราบอยู่แล้วว่าได้รับการตอบกลับที่สมบูรณ์ คำถามคืออะไรประโยชน์ของสิ่งนี้คืออะไร? ทำไมมาตรฐานจึงออกแบบมาในลักษณะนี้? มูลค่าของข้อมูล "เพิ่มเติม" ในรูปแบบของการตอบสนองนี้คืออะไร?
การแข่งขัน Lightness ใน Orbit

3
@LightnessRacesinOrbit กับฉันคำตอบนั้นชัดเจนในตัวเอง: เซิร์ฟเวอร์ DNS ไม่ได้บอกฉันว่า example.com นั้น abcd; มันบอกฉันว่าใครพูดอย่างนั้น นี่คือเสียงทางญาณวิทยาเพราะฉันไม่สามารถบอกคุณได้อย่างถูกต้องฉันรู้ว่าบางสิ่งบางอย่างเป็นจริงเมื่อฉันรู้เพียงว่าบุคคลที่สามบางคนยืนยันว่ามันเป็นความจริง ฉันพบว่ามันยากกว่าที่จะแก้ไขปัญหาเมื่อผู้คนได้ยินข่าวลือราวกับว่ามันเป็นข้อสังเกตหรือข้อสรุปของพวกเขาราวกับว่าหลักฐานหลัก ฯลฯ ความแตกต่างระหว่างการระบุ X เป็นจริงและบอกฉันว่ามันเป็นเรื่องจริง
Monty Harder

1
@MontyHarder ใช่มันสมเหตุสมผลแล้ว แต่สิ่งที่ฉันพูดคือมันควรจะอยู่ในคำตอบ
การแข่งขัน Lightness ใน Orbit

2
@LightnessRacesinOrbit RFC ไม่ได้รวมถึงแรงจูงใจในการออกแบบเสมอไป เพื่อชี้แจง "มันเป็นความคิดที่ดีในเวลานั้น" - ฉันคิดว่าเหตุผลที่ทำไมจึงเป็นแบบดั้งเดิมที่จะรวมส่วนของหน่วยงานที่นอกเหนือไปจากการตอบแบบสอบถามที่เกิดขึ้นจริงแม้ว่า RFC ปัจจุบันไม่ได้สั่งที่พบต้นกำเนิดของมัน ) รหัสจากRFC882 ที่ล้าสมัยในขณะนี้หน้า 15-16 "... หากเซิร์ฟเวอร์ชื่อไม่ได้รับอนุญาตรหัสจะคัดลอก RR สำหรับเซิร์ฟเวอร์ชื่อที่ใกล้ชิดลงในการตอบสนองส่วนสุดท้ายของรหัสจะคัดลอก RR ที่เกี่ยวข้องทั้งหมดลงในการตอบสนอง ... "
HBruijn

5

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

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


เซิร์ฟเวอร์สามารถบอกความแตกต่างระหว่างคำขอดังกล่าวได้ มีธงอยู่เล็กน้อยในการขอการสอบถามซ้ำ
kasperd

เซิร์ฟเวอร์สามารถส่งข้อความสอบถามซ้ำเช่นเมื่อใช้forwardersคุณลักษณะนี้
Barmar

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