DNS - NSLOOKUP ความหมายของคำตอบที่ไม่มีสิทธิ์คืออะไร


117

สำหรับบางโดเมนnslookupให้Non-authoritative answerส่วนฉัน สิ่งนี้หมายความว่า?

Got answer:
    HEADER:
        opcode = QUERY, id = 3, rcode = NXDOMAIN
        header flags:  response, want recursion, recursion avail.
        questions = 1,  answers = 0,  authority records = 1,  additional =

    QUESTIONS:
        www.ssss.com.SME, type = AAAA, class = IN
    AUTHORITY RECORDS:
    ->  (root)
        ttl = 1787 (29 mins 47 secs)
        primary name server = a.root-servers.net
        responsible mail addr = nstld.verisign-grs.com

------------
Non-authoritative answer:
------------

------------
Name:    example.com
Address:  93.184.216.34
Aliases:  www.example.com

14
www.xxx.com ไม่ใช่ตัวอย่างชื่อโดเมน haha;) ... RFC แนะนำให้คุณใช้ example.com ดูiana.org/domains/reserved
Mzn

คำตอบ:


99

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

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

ตัวอย่างเช่นถ้าฉันทำ nslookup ของmaps.google.comตอนนี้ฉันจะได้รับการตอบสนองจากหนึ่งในเซิร์ฟเวอร์ชื่อที่กำหนดค่าของฉัน (ทั้งจาก ISP ของฉันหรือโดเมนของฉัน.) มันจะกลับมาเป็นไม่มีสิทธิ์เพราะเซิร์ฟเวอร์ค่า ISP google.comของฉันหรือของตัวเองอยู่ในรายชื่อของเซิร์ฟเวอร์สำหรับ พวกเขาไม่ใช่เซิร์ฟเวอร์ชื่อของ Google ดังนั้นจึงไม่ใช่แหล่งข้อมูลที่เชื่อถือได้ที่สร้างระเบียน NS

รายการของเซิร์ฟเวอร์ชื่อที่เชื่อถือได้สำหรับ Google อยู่ด้านล่าง (จาก whois.internic.net)

ชื่อโดเมน: GOOGLE.COM

นายทะเบียน: MARKMONITOR INC.

เซิร์ฟเวอร์ Whois: whois.markmonitor.com

เซิร์ฟเวอร์ชื่อ: NS1.GOOGLE.COM

เซิร์ฟเวอร์ชื่อ: NS2.GOOGLE.COM

เซิร์ฟเวอร์ชื่อ: NS3.GOOGLE.COM

เซิร์ฟเวอร์ชื่อ: NS4.GOOGLE.COM

อัปเดตวันที่: 20-jul-2011

วันที่สร้าง: 15-sep-1997

วันหมดอายุ: 14-sep-2020

หากฉันเปลี่ยนเซิร์ฟเวอร์ DNS ที่กำหนดค่าของฉันเป็นหนึ่งในรายการนั้นจากนั้นทำnslookupผิดmaps.google.comฉันจะได้คำตอบที่เชื่อถือได้ เซิร์ฟเวอร์เหล่านั้นเป็นสิทธิ์ (หรือแหล่งที่มา) สำหรับชื่อที่ถูกต้องในโดเมนของ Google และสิ่งที่ไม่ใช่ เนมเซิร์ฟเวอร์อื่น ๆ ทั้งหมด, เนมเซิร์ฟเวอร์ที่ไม่มีสิทธิ์จะได้รับระเบียน NS ของพวกเขาจากเซิร์ฟเวอร์ที่เชื่อถือได้ที่ใดที่หนึ่งในบรรทัด


35

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

คุณสามารถรับเนมเซิร์ฟเวอร์ที่มีสิทธิ์สำหรับโดเมนที่กำหนดโดยเรียกใช้host -t ns example.comเพื่อดึงระเบียน NS สำหรับ example.com

ในกรณีของ Google เราเห็น:

$ host -t ns google.com
google.com name server ns4.google.com.
google.com name server ns1.google.com.
google.com name server ns2.google.com.
google.com name server ns3.google.com.

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

$ nslookup www.google.com ns1.google.com
Server:         ns1.google.com
Address:        216.239.32.10#53

www.google.com  canonical name = www.l.google.com.
Name:   www.l.google.com
Address: 173.194.43.49
Name:   www.l.google.com
Address: 173.194.43.50
Name:   www.l.google.com
Address: 173.194.43.48
Name:   www.l.google.com
Address: 173.194.43.52
Name:   www.l.google.com
Address: 173.194.43.51

หากคุณกำลังใช้nslookupเพื่อรับประเภทระเบียน NS คุณสามารถเรียกใช้สิ่งนี้ในโหมดโต้ตอบ:

$ nslookup
> set querytype=ns
> google.com
Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
google.com      nameserver = ns3.google.com.
google.com      nameserver = ns4.google.com.
google.com      nameserver = ns1.google.com.
google.com      nameserver = ns2.google.com.

Authoritative answers can be found from:
ns1.google.com  internet address = 216.239.32.10

ดังนั้นการตั้งค่าquerytype=nsทำตามที่hostคำสั่งด้านบนทำ


แค่อยากรู้ ... #หมายความว่าAddress: 127.0.0.1#53อะไร?
cwhsu

เดาสิเพราะพอร์ตการฟังใช่มั้ย ชอบสิ่งที่ระบุไว้ที่นี่nlp.stanford.edu/IR-book/html/htmledition/dns-resolution-1.html
cwhsu

24

คำตอบที่ไม่ใช่สิทธิ์เพียงหมายความว่าคำตอบไม่ได้มาจากเซิร์ฟเวอร์ DNS ที่มีสิทธิ์สำหรับชื่อโดเมนที่สอบถาม

ก่อนอื่นคุณต้องเข้าใจว่าระบบ DNS ทำงานอย่างไร ระบบ DNS สามารถแบ่งออกเป็นสามระดับ พวกเขาคือ:

  • เซิร์ฟเวอร์ DNS หลัก
  • เซิร์ฟเวอร์ DNS ของโดเมนระดับบนสุด
  • เซิร์ฟเวอร์ DNS ที่มีสิทธิ์

มีเซิร์ฟเวอร์ DNS อีกประเภทหนึ่งที่มักจะเรียกว่าเซิร์ฟเวอร์ DNS ในพื้นที่ที่มีที่อยู่ IP ที่ระบุไว้ในระบบปฏิบัติการของคุณ

เมื่อเบราว์เซอร์ของคุณเชื่อมต่อกับเว็บไซต์พูดว่า example.com เบราว์เซอร์จะสอบถามเซิร์ฟเวอร์ DNS ในพื้นที่ของคุณก่อนเพื่อรับที่อยู่ IP ของ example.com

  • หากเซิร์ฟเวอร์ DNS ในตัวเครื่องไม่มีบันทึก A ของ example.com ระบบจะทำการสอบถามเซิร์ฟเวอร์ DNS รากหนึ่งรายการ

  • เซิร์ฟเวอร์ DNS หลักจะพูดว่า: ฉันไม่มีระเบียน A แต่ฉันรู้ว่าเซิร์ฟเวอร์ DNS โดเมนระดับบนสุดที่รับผิดชอบโดเมน. com

  • จากนั้นเซิร์ฟเวอร์ DNS ในเครื่องของคุณจะค้นหาเซิร์ฟเวอร์ DNS โดเมนระดับบนสุดที่รับผิดชอบโดเมน. com เซิร์ฟเวอร์ TLD DNS จะตอบสนอง: ฉันไม่รู้เหมือนกัน แต่ฉันรู้ว่าเซิร์ฟเวอร์ DNS ใดที่มีสิทธิ์สำหรับ example.com

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

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

เมื่อมีคนลงทะเบียนชื่อโดเมนเขา / เธอสามารถระบุเซิร์ฟเวอร์ DNS ที่เป็นเซิร์ฟเวอร์ DNS ที่มีสิทธิ์ ข้อมูลนี้เรียกว่าระเบียน NS ระเบียน NS จะบอกเซิร์ฟเวอร์ DNS โดเมนระดับบนสุดที่เนมเซิร์ฟเวอร์ถือระเบียน A, ระเบียน MX และอื่น ๆ ของโดเมน


4
สิ่งนี้อธิบายได้มากกว่าคำตอบอื่น ๆ ทั้งหมดรวมกัน การอธิบายโทโพโลยีว่า DNS ทำงานอย่างไรมีประโยชน์อย่างยิ่งในการจัดเตรียมบริบทสำหรับปัญหานี้
Levi Roberts

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