DNS ไม่สามารถแก้ไขชื่อโฮสต์ได้ nslookup can


9

ฉันมีผู้ใช้บน Windows 7 ที่พยายามเข้าถึงเซิร์ฟเวอร์ภายในด้วยชื่อ DNS ของ windows.cs เรามีเซิร์ฟเวอร์ DNS ภายในสองตัว เซิร์ฟเวอร์ DHCP กำหนดผู้ใช้เซิร์ฟเวอร์ DNS ภายในสองตัวให้กับผู้ใช้เป็นหลักและรองจากนั้น ISPs ของเรา DNS เป็นเซิร์ฟเวอร์ DNS ระดับอุดมศึกษา

ทุก ๆ ครั้งผู้ใช้จะไม่สามารถเข้าถึงเว็บไซต์ได้ที่ windows.cs ถ้าฉัน ping มันบอกว่ามันไม่สามารถแก้ไขชื่อโฮสต์ ฉันล้างแคช DNS และจากนั้นเมื่อฉันแสดงแคช DNS นั้นมีดังต่อไปนี้:

windows.cs - ไม่มีชื่อ

แต่ถ้าฉันใช้ nslookup ซึ่งโดยปกติแล้วจะสอบถามเซิร์ฟเวอร์ DNS หลัก (ภายในของเรา) และฉันค้นหา windows.cs จะส่งคืนที่อยู่ IP ที่ถูกต้อง

เหตุใด Windows จึงไม่สามารถแก้ไขชื่อโฮสต์โดยใช้ ping ได้ แต่เมื่อใช้เครื่องมือ nslookup และฉันจะแก้ไขได้อย่างไร


1
+1, ฉันมีปัญหานี้บ่อย ... แม้จะมีชื่อโฮสต์ที่ฉันเพิ่งใช้ไปเมื่อ 5 นาทีที่แล้ว!
แบรด

คำตอบ:


12

ปรากฏขึ้นจากสิ่งที่คุณกำลังบอกว่าคำขอ windows.cs กำลังไปยังเซิร์ฟเวอร์ DNS ของ ISP ตลอดเวลาและอีกครั้ง ผลลัพธ์ nxdomain จะถูกแคชโดยไคลเอนต์ DNS ของ Windows และใช้สำหรับการลองใหม่กับเว็บเบราว์เซอร์, ping ฯลฯ การล้างแคช (ipconfig / flushdns) ควรบังคับให้ไคลเอนต์ Windows DNS ลองสืบค้นอีกครั้ง แต่ไม่มีการรับประกันใด ๆ จะไม่ไปที่เซิร์ฟเวอร์ DNS ของ ISP อีกครั้ง

เหตุผลที่ ping ไม่สามารถแก้ไขชื่อโฮสต์ได้ แต่ nslookup อาจเป็นเพราะ nslookup เป็นเครื่องมือระดับต่ำที่ข้ามไคลเอนต์ Windows DNS มันใช้เซิร์ฟเวอร์ DNS อะไรก็ได้ที่คุณบอก (เป็นคนแรกตามค่าเริ่มต้น) และทำการสืบค้นได้ทันที คุณสามารถเปลี่ยนเซิร์ฟเวอร์ DNS ที่สอบถามได้โดยพิมพ์server <host>จากพรอมต์ nslookup โดยที่ host คือ IP หรือ FQDN

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

ไม่ชัดเจนในทันทีว่าทำไมไคลเอ็นต์ Windows ใช้เซิร์ฟเวอร์ ISP DNS อาจไม่สามารถแก้ไขเซิร์ฟเวอร์ภายในเครื่องเมื่อเร็ว ๆ นี้ (อาจเป็นเพราะอยู่ในเครือข่ายอื่น) บางทีเซิร์ฟเวอร์ภายในกำลังส่งคืนข้อผิดพลาด หรืออาจสั่งไม่ถูกต้องภายใต้การตั้งค่า TCP / IP ขั้นสูง> DNS

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


คุณนำมาซึ่งจุดที่ดี ไม่มีเหตุผลใดที่ทำให้เรามีเซิร์ฟเวอร์ DHCP ที่กำหนดเป็นรุ่นที่สาม และนั่นเป็นคำอธิบายที่สมเหตุสมผลว่าทำไมมันถึงไม่ได้รับการแก้ไข (แต่ทำไมมันถึงไปยังเซิร์ฟเวอร์ DNS ตัวที่ 3? ใครจะรู้ .. ) ขอบคุณสำหรับทิศทาง ฉันจะลบเซิร์ฟเวอร์ DNS สาธารณะออกจากเซิร์ฟเวอร์ DNS ที่กำหนดส่งผ่าน DHCP และดูว่าจะแก้ไขปัญหา เซิร์ฟเวอร์ DNS ภายในควรผ่านการสอบถามใด ๆ ที่พวกเขาไม่สามารถตอบไปยังเซิร์ฟเวอร์ DNS นั้นได้ดังนั้นจึงไม่ควรมีปัญหา
Safado

อัปเดต: สิ่งนี้ดูเหมือนจะแก้ไขปัญหาของเราแล้ว ขอบคุณสำหรับคำแนะนำ!
Safado

0

ผลของการnslookupที่แตกต่างจากที่pingเพราะnslookupidiosyncracies และข้อบกพร่อง พวกเขาไม่ได้จริงๆที่เกี่ยวข้องกับปัญหาหลักของคุณอย่างไรซึ่งก็คือคุณได้ละเมิดกฎที่สำรอง DNS เซิร์ฟเวอร์พร็อกซี่ของคุณจะต้องให้มุมมองเดียวกันของ namespace DNS เป็นหนึ่งในหลักของคุณ เซิร์ฟเวอร์ DNS พร็อกซีของ ISP ของคุณไม่ได้ให้มุมมองเดียวกับ DNS namespace กับเซิร์ฟเวอร์ DNS พร็อกซีของคุณเองบน LAN ของคุณ

ดูเหมือนว่ายังมีผู้ดูแลระบบรายอื่นที่ทำผิดกฎระเบียบของ ISP ของฉันและเอกสารดังนั้นฉันจึงต้องใช้มัน การเข้าใจผิด ☺


ดังนั้นในแง่ของ laymans คุณกำลังบอกว่าไม่ได้กำหนดเซิร์ฟเวอร์ DNS ให้กับผู้ใช้ของฉันเว้นแต่ฉันรู้ว่าเซิร์ฟเวอร์ DNS เหล่านั้นมีข้อมูลเหมือนกันหรือไม่ ลิงก์ของคุณไม่ทำงาน
Safado

0

TL; DR เวอร์ชัน: IPv6ทำให้เกิดปัญหาการสืบค้น DNS ในกรณีของฉันการปิดใช้งานจะแก้ไขปัญหาการสืบค้น DNS

ฉันมีปัญหาเดียวกันในเครื่องพัฒนาของฉัน เมื่อใดก็ตามที่ฉันเข้าสู่ระบบเครือข่าย บริษัท ของฉันฉันไม่สามารถแก้ไขชื่อโฮสต์ภายในชื่อโฮสต์ / URIs ภายนอกทั้งหมดสามารถแก้ไขได้ ฉันตรวจสอบเซิร์ฟเวอร์ DNS ที่กำหนดไว้ในการเชื่อมต่อ VPN และพวกเขาแสดงให้เห็นว่าเซิร์ฟเวอร์ DNS ของ บริษัท ได้รับการกำหนดค่าเป็นหลักและรอง ฉันยังสามารถใช้nslookupแต่ต้องเปลี่ยนเซิร์ฟเวอร์ด้วยตนเองserver X.X.X.Xเพื่อรับการแก้ไข DNS

ในท้ายที่สุดฉันพบว่า IPv6 ก่อให้เกิดปัญหากับการแก้ไขชื่อ: ในการสืบค้น DNS แต่ละครั้งมีการสอบถาม IPv6 DNS มากกว่าเซิร์ฟเวอร์ DNS ของ บริษัท IPv4 หลังจากปิดการใช้งาน IPv6 คุณต้องไปยังipconfig /flushdnsที่อยู่ที่สอบถามก่อนหน้านี้อาจยังไม่ได้รับการแก้ไข


0

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

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