ทำไม 'ping' ไม่สามารถแก้ไขชื่อเมื่อ 'nslookup' ทำงานได้ดี


138

บนเวิร์กสเตชัน Windows XP ของฉันฉันสามารถค้นหาเครื่องที่ฉันต้องการเชื่อมต่อใน DNS ด้วยnslookup:

nslookup wolfman
Server: dns.company.com
Address: 192.168.1.38

Name: wolfman.company.com
Address: 192.168.1.178

แต่เมื่อฉันพยายามเชื่อมต่อกับเครื่องฉันได้รับข้อผิดพลาดที่บอกฉันว่าไม่พบเครื่อง (เช่นไม่สามารถค้นหาใน DNS):

C:\> ping wolfman
Ping request could not find host wolfman. Please check the name and try again.

ฉันสามารถเชื่อมต่อได้หากฉันใช้ที่อยู่ IP โดยตรง:

C:\> ping 192.168.1.178

Pinging 192.168.1.178 with 32 bytes of data:

Reply from 192.168.1.178: bytes=32 time=41ms TTL=126
Reply from 192.168.1.178: bytes=32 time=41ms TTL=126
Reply from 192.168.1.178: bytes=32 time=44ms TTL=126
Reply from 192.168.1.178: bytes=32 time=38ms TTL=126

ฉันสามารถแก้ไขได้โดยเพิ่มรายการลงในhostsไฟล์ของฉันแต่ฉันอยากรู้ว่าทำไมสิ่งนี้ถึงเกิดขึ้น ปัญหาเกิดขึ้นชั่วคราวส่วนใหญ่ฉันสามารถเชื่อมต่อกับเครื่องได้ดี

เป็นไปได้อย่างไร?

การทางพิเศษแห่งประเทศไทย: ฉันปล่อยให้เรื่องนี้สั้น แต่มันก็ถามว่า:

C:\> ping wolfman.company.com
Ping request could not find host wolfman.company.com. Please check the name and try again.

ETA: แอปพลิเคชันอื่น ๆ ได้ผลลัพธ์เหมือนกัน ฉันแค่พยายาม ping เพื่อทำให้มันง่ายขึ้น telnet ไม่สามารถเชื่อมต่อได้แอป Cygwin พิมพ์ข้อความ "unknown host wolfman"

ปรับปรุง: เมื่อใช้ wireshark ฉันพบว่าเวิร์กสเตชันของฉันไม่พยายามค้นหา DNS เป็นเพียงการรายงานข้อผิดพลาด "ไม่สามารถหาโฮสต์"


คุณสามารถเพิ่มต่อท้าย DNS .company.comเริ่มต้นสำหรับ
billc.cn

@ billc.cn ฉันมีส่วนต่อท้าย DNS นั้นแล้ว
skiphoppy

สิ่งที่ฉันคิดว่าเกิดขึ้นคือ ping ไม่ได้ค้นหา FQDN ของโฮสต์nslookupซึ่งต่างจากที่ใช้search domainพารามิเตอร์ของข้อเสนอ DHCP (หรือสิ่งที่คุณระบุสำหรับการกำหนดค่า IP แบบคงที่) ยืนยันสิ่งนี้ด้วยการทำในสิ่งที่ @SLaks ได้พูดและส่ง Ping FQDN ของโฮสต์ :)
jackweirdy

1
สำเนาซ้ำที่เป็นไปได้ของ: superuser.com/questions/220471/…
Der Hochstapler

จะเกิดอะไรขึ้นเมื่อคุณเรียกใช้ping -4 wolfman?
Der Hochstapler

คำตอบ:


101

ฉันเชื่อว่า nslookup เปิดการเชื่อมต่อ winsock บนพอร์ต DNS และออกแบบสอบถามในขณะที่ ping ใช้บริการไคลเอ็นต์ DNS คุณสามารถลองและหยุดบริการนี้และดูว่าสิ่งนี้สร้างความแตกต่างหรือไม่

คำสั่งบางอย่างที่จะกำหนดค่าสถานะเครือข่ายต่าง ๆ ใหม่

รีเซ็ตรายการ WINSOCK เป็นค่าเริ่มต้นการติดตั้ง: netsh winsock reset catalog
รีเซ็ตสแต็ค TCP / IP เป็นค่าเริ่มต้นการติดตั้ง: netsh int ip reset reset.log
ล้างแคชตัวแก้ไข DNS: ipconfig /flushdns
ต่ออายุการลงทะเบียนไคลเอนต์ DNS และรีเฟรช DHCP สัญญาเช่า: ipconfig /registerdns
ตารางการกำหนดเส้นทางฟลัช: route /f (ต้องรีบูตเครื่อง)


1
ฉันคิดว่า Active Directory อาจใช้งานได้ แต่ฉันไม่รู้วิธีทดสอบ
skiphoppy

11
ฉันปิดใช้งานบริการไคลเอ็นต์ DNS และปัญหาดูเหมือนว่าจะหายไป! ยังไม่แน่ใจว่ามันเป็นความบังเอิญ ปัญหาไม่ได้กลับมาอีกเมื่อฉันเริ่มบริการใหม่
skiphoppy

6
บางครั้งเพียงหยุดและเริ่มบริการใหม่แก้ไขปัญหา DNS (อย่าถามฉันว่าทำไม) คำถามคือนานแค่ไหนที่จะมีอายุ คนที่โชคร้ายบางคนต้องทำซ้ำซ้ำแล้วซ้ำอีก
harrymc

1
sfc / scannow ในกรณีที่ไฟล์ระบบบริการลูกค้า DNS เสียหายอย่างละเอียด? ฉันเคยเห็นบางคนที่มีปัญหาคล้ายกันที่เกิดจากไวรัส
Jon Kloske

1
สิ่งที่ขาดหายไปสำหรับฉันในคำตอบนี้คือipconfig /registerdns(ฉันได้อธิบายรายละเอียดไว้ในคำตอบของฉันด้านล่าง)
Mick Halsband

31

ลอง ping ด้วยชื่อโฮสต์ตามด้วยจุด ดังนั้นแทนที่จะping wolfmanใช้ping wolfman.

คุณควรได้รับการแก้ไขโดยไม่ต้องแก้ไขปัญหากับไฟล์โฮสต์ ฯลฯ


ว้าวมันใช้ได้สำหรับฉันเช่นกัน ฉันเดาว่าบางสิ่งบางอย่างคาดหวังชื่อโดเมนที่ไม่ได้กำหนดค่า
user1190

ตกลงมันใช้งานได้ ... ทำไม?
Daniel B.

3
คำแนะนำใด ๆ ว่าทำไมสิ่งนี้ถึงใช้งานได้และจะใช้ชื่อในเครื่องได้อย่างไร
Ruberoid

ขอบคุณ - มันใช้งานได้สำหรับฉัน แต่จะรู้ว่าทำไมสิ่งนี้ถึงใช้งานได้
Frank Fu

2
@Ruberoid โปรดดูคำตอบสำหรับวิธีการทำสิ่งนี้โดยอัตโนมัติ
Frederik Aalund

17

ลองipconfig /displaydnsและมองหา Wolfman ถ้ามันเป็นที่เก็บไว้ชั่วคราว "ชื่อไม่ได้อยู่" (อาจจะเป็นเพราะความต่อเนื่องก่อนหน้านี้ล้มเหลวในการค้นหา) ipconfig /flushdnsคุณสามารถล้างแคชกับ

nslookup ไม่ได้ใช้แคช แต่จะสอบถามเซิร์ฟเวอร์ DNS โดยตรง


ฉันพยายาม: มันไม่ได้แคช และการล้างแคชไม่ได้ช่วยแก้ไขปัญหาเช่นกัน
skiphoppy

คุณสามารถโพสต์การส่งออกของnslookup -all? อยู่ในnovcรายการ?
craig65535

13

ลองเพิ่ม.ลงในส่วนต่อท้าย DNS สำหรับการเชื่อมต่อนั้น คือไปที่:

  1. สถานะอีเธอร์เน็ต
  2. คลิกคุณสมบัติ
  3. Internet Protocol รุ่น 4
  4. คลิกคุณสมบัติ
  5. คลิกขั้นสูง
  6. ผนวก DNS พอเพียงเหล่านี้ (ตามลำดับ)
  7. เพิ่ม.เป็นคำต่อท้าย

ขั้นตอนเดียวกันนี้แสดงในภาพหน้าจอต่อไปนี้:

สิ่งนี้จะทำให้การping wolfmanทำงาน

คำอธิบาย

nslookup wolfman(การค้นหาเซิร์ฟเวอร์ชื่อ: wolfman) ส่งชื่อโฮสต์ ( wolfman) ไปยัง DNS (ระบบชื่อโดเมน) เพื่อรับที่อยู่ IP ที่สอดคล้องกัน นี่คือจุดประสงค์เดียวของnslookupคำสั่ง ใช้งานได้แล้วดังนั้นเราจึงตรวจสอบว่า DNS ใช้งานได้และwolfmanสอดคล้องกับที่อยู่ IP จริง ๆ

ในทางตรงกันข้ามping wolfmanต้องทำสองสิ่ง:

  1. รับ IP ที่ชื่อโฮสต์ ( wolfman) สอดคล้องกับ
  2. ส่งแพ็กเก็ตไปที่ IP และฟังการตอบสนอง

บน Windows (แม้แต่เวอร์ชันล่าสุดเช่น Windows 10) ขั้นตอนแรกอาจล้มเหลวได้อย่างง่ายดาย เพื่อความเข้ากันได้แบบย้อนหลัง Windows รองรับวิธีการแก้ปัญหาชื่อโฮสต์ต่าง ๆ (ไฟล์โฮสต์, DNS, NetBIOS / WINS, ไฟล์ LMHOST)

น่าเสียดายที่ดูเหมือนว่าpingคำสั่งของ Windows จะไม่พยายามค้นหา DNS เสมอไป ฉันไม่ทราบเงื่อนไขเฉพาะที่ทำให้เกิดพฤติกรรมนี้

โชคดีที่เราสามารถบังคับให้ Windows ทำการค้นหา DNS ได้โดยใช้FQDN (ชื่อโดเมนแบบเต็ม) ในทางปฏิบัติเราทำเช่นนี้โดย suffixing .dot wolfman.ชื่อโฮสต์นี้: ลองping wolfman.และยืนยันว่าใช้งานได้

ขั้นตอนสุดท้ายคือการบังคับให้ Windows ต่อท้ายจุดนี้เอง ฉันได้แสดงวิธีการทำสิ่งนี้ในตอนต้นของคำตอบนี้แล้ว


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

มันไม่สมเหตุสมผล คุณกำลังระบุว่า "คำสั่ง ping ของ Windows ไม่ได้พยายามค้นหา DNS เสมอ" แต่แนะนำให้เปลี่ยนวิธีการค้นหา DNS เพื่อแก้ไขปัญหานั้นหรือไม่ ดูเหมือนว่ามีความเป็นไปได้มากกว่าที่ ping จะทำการค้นหา DNS แต่ทำอย่างไม่ถูกต้องและนั่นเป็นสาเหตุที่การแก้ไขนี้ใช้งานได้
ตัวปลอมตัว Twisty

@TwistyImpersonator ฉันเข้าใจความสับสนของคุณ ประเด็นก็คือว่า Windows จะพยายามแก้ปัญหาชื่อโฮสต์หลายวิธีหากได้รับwolfmanและการค้นหา DNS คือ (เห็นได้ชัด) ไม่ใช่ลำดับความสำคัญสูงสุดในวิธีการดังกล่าว ตอนนี้ถ้าคุณใช้wolfman.แทน Windows จะจัดลำดับความสำคัญการค้นหา DNS มากกว่าวิธีอื่น ๆ เพราะwolfman.เป็นFQDNที่ (ชัด) ต้องมีการค้นหา DNS
Frederik Aalund

ดังนั้นฉันคิดว่าคุณกำลังพูดว่าถ้า ping มาถึงจุดที่ทำการค้นหา DNS ในขั้นตอนการค้นหาตามปกติมันจะทำงานได้หรือไม่ อย่างไรก็ตามการ ping ควรจบลงด้วยการลอง DNS หากวิธีการค้นหาอื่นไม่ส่งคืนคำตอบซึ่งหมายความว่าเหตุผลที่ ping ล้มเหลวในตัวเองเป็นเพราะวิธีอื่นที่พยายามก่อนที่ DNS จะส่งคืนคำตอบ คำอธิบายนั้นไม่สอดคล้องกับข้อเท็จจริงของการ ping ที่ไม่สามารถหาโฮสต์ได้
เลียนแบบ Twisty

@TwistyImpersonator "ดังนั้นฉันคิดว่าคุณกำลังพูดว่าถ้า ping มาถึงจุดที่ทำการค้นหา DNS ในขั้นตอนการค้นหาปกติมันจะใช้งานได้": ใช่ "อย่างไรก็ตามการ ping ควรท้ายที่สุดลองใช้ DNS หากวิธีการค้นหาอื่นไม่ส่งคืนคำตอบหมายความว่าสาเหตุที่ ping ล้มเหลวในตัวของมันเองก็เพราะวิธีอื่นที่พยายามก่อนที่ DNS จะคืนคำตอบ": ไม่ชัดเจน อาจจะเป็นเพียงแค่ยอมแพ้หลังจากลองใช้วิธีการสองสามวิธี บางที ping ยอมแพ้หลังจากหมดเวลา บางที ping ไม่เคยลองค้นหา DNS เพราะคิดว่าชื่อโฮสต์ไม่เหมือน DNS
Frederik Aalund

11

nslookup ทำงานต่างจากคำสั่งอื่นเมื่อแก้ไขชื่อ / ที่อยู่ IP บน Windows

วิธีการความละเอียดปกติบน Windowsจะเป็นดังนี้:

  1. ลูกค้าตรวจสอบเพื่อดูว่าชื่อสอบถามเป็นของตนเองหรือไม่
  2. ไคลเอนต์ค้นหาแฟ้มโฮสต์ภายในเครื่องรายการของที่อยู่ IP และชื่อที่เก็บไว้ในเครื่องคอมพิวเตอร์
  3. เซิร์ฟเวอร์ระบบชื่อโดเมน (DNS) ถูกสอบถาม
  4. หากชื่อยังไม่ได้รับการแก้ไขลำดับการแก้ไขชื่อ NetBIOS จะถูกใช้เป็นข้อมูลสำรอง คำสั่งนี้สามารถเปลี่ยนแปลงได้โดยการกำหนดค่าชนิดโหนด NetBIOS ของลูกค้า

nslookupในทางตรงกันข้ามจะใช้สำหรับการทดสอบเซิร์ฟเวอร์ชื่อโดเมน


3
มีการตั้งค่าใด ๆ ที่สามารถย้ายแบบสอบถาม NetBIOS สูงขึ้นในรายการนั้นได้หรือไม่? ฉันมีความรู้สึกว่าการค้นหา NetBIOS เกี่ยวข้อง แต่อย่างใดเนื่องจากการสืบค้น DNS ทำงานแน่นอนฉันไม่สามารถเห็นได้ว่าจะไปถึงขั้นตอนนั้นได้อย่างไรหากลำดับข้างต้นไม่สามารถเปลี่ยนแปลงได้
skiphoppy

8

ฉันได้ต่อสู้กับปัญหาที่คล้ายกันและได้ลองวิธีแก้ปัญหาที่ @harrymc แนะนำ ฉันพบสิ่งที่ในที่สุดดูเหมือนว่า (อย่างน้อยบ้าง) ทำงานที่ฟอรัม microsoft technet ( nslookup ทำงานได้ แต่ไม่มีอะไรอื่นที่มี DNS บนพีซี Win7 แบบสแตนด์อโลน )

นี่คือคำพูด:

... ลองใช้คำสั่งด้านล่างเพื่อล้างข้อมูลและรีเซ็ตแคชตัวแก้ปัญหาสำหรับการทดสอบ

ipconfig / flushdns

ipconfig / registerdns

โปรดอ้างอิงลิงค์ด้านล่างสำหรับรายละเอียดเพิ่มเติม http://jefferyland.wordpress.com/2011/07/28/quick-review-of-flushdns-registerdns-and-dns-queries/

ดังนั้นโดยทั่วไปสิ่งที่ขาดหายไปสำหรับฉันก็คือ ipconfig /registerdns


1
คำตอบเดิมโดย @harrymc ในขณะนี้สะท้อนให้เห็นถึง/registerdnsคำสั่งที่หายไป
มิก Halsband

ฉันได้เล่น whack-a-mole กับปัญหานี้ใน Win10 ประมาณหนึ่งปี เมื่อแล็ปท็อปของฉันตื่นขึ้นมาก็ไม่พบเซิร์ฟเวอร์คอร์ปใด ๆ แต่ไซต์ภายนอกเช่น microsoft.com ก็ใช้งานได้ ดูเหมือนว่าจะเกิดขึ้นเมื่อเปลี่ยนเครือข่าย WiFi (บ้าน / VPN กับที่ทำงาน) flushdns แก้ปัญหาบางครั้ง แต่ไม่เสมอไป วันนี้ฉันลอง registerdns และแก้ไขปัญหาได้ทันที พรุ่งนี้ฉันจะลองเพิ่ม ต่อท้ายชื่อ (แต่ ping ล้มเหลวด้วย FQDN สำหรับเซิร์ฟเวอร์ภายใน) มันน่าผิดหวังมาก และเพื่อปิดด้านบน - ถ้าฉันรอในขณะที่ปัญหาจะแก้ไขตัวเอง
ripvlan

6

วันนี้เพียงแค่เรามีปัญหาเดียวกันแต่วิธีการแก้ปัญหาที่แตกต่างกัน ดังนั้นฉันคิดว่าฉันจะเพิ่มไว้เพื่ออ้างอิงเนื่องจากนี่คือผลการค้นหาอันดับต้น ๆ

  • ปัญหา : pingจะไม่แก้ไขชื่อโฮสต์ แต่nslookupสามารถ (สังเกตได้จากโฮสต์ Windows Server 2012 R2 2 โฮสต์ที่ต่างกัน)
  • สาเหตุ : (สำหรับแต่ละโฮสต์) โฮสต์มีการเชื่อมต่อ NIC มากกว่าหนึ่งรายการและมีเกตเวย์เริ่มต้นหลายรายการที่กำหนดค่า
  • วิธีการแก้ปัญหา : (สำหรับแต่ละพื้นที่) นำเกตเวย์เริ่มต้นจากการกำหนดค่าของนิคส์ทั้งหมด แต่หนึ่งจึงมี reamains ประตูหนึ่งเริ่มต้นเท่านั้น

อานี่มันทำเพื่อฉัน สมบูรณ์
IAmTheSquidward

สั้นและเรียบง่าย
Frank Fu

5

wolfman.company.com อาจมีรายการอยู่ใน C: \ Windows \ system32 \ drivers \ etc \ hosts

nslookup ข้ามไฟล์นั้นและถาม DNS เสมอในขณะที่ ping และเครื่องมืออื่น ๆ ก่อนอื่นค้นหาในไฟล์ "hosts" จากนั้นใน DNS


เป็นความคิดที่ดี! แต่ฉันตรวจสอบและไม่มีเครื่องใดที่ฉันเคยเห็นปัญหานี้ด้วยอยู่ในรายการโฮสต์
skiphoppy

5

ฉันมีปัญหาเดียวกันในระบบ Windows 2012R2 (= 8.1) และลองใช้คำแนะนำทั้งหมดข้างต้น แต่ไม่มีใครสามารถแก้ไขได้:
- ส่ง Ping ชื่อที่ผ่านการรับรองโดยสมบูรณ์แล้ว
- ส่ง Ping ชื่อที่ไม่มีเงื่อนไขไม่ได้
- ทั้งคู่ทำงานกับระบบอื่น ๆ หลายระบบซึ่งมีระบบปฏิบัติการเดียวกันและมีการกำหนดค่าเดียวกัน
- สตริงการค้นหาคำต่อท้ายที่จำเป็นทั้งหมดอยู่ที่นั่น
(โปรดทราบว่าการแก้ไขที่เสนอบางรายการเช่นวิธีแก้ปัญหาสำหรับการค้นหาหลายป้ายกำกับนั้นไม่เกี่ยวข้องอย่างเห็นได้ชัดเนื่องจากชื่อที่ไม่มีเงื่อนไขมีเพียงส่วนเดียว)

จากนั้นฉันสังเกตเห็นว่าระบบเป้าหมายที่ฉันพยายาม ping ไม่มีที่อยู่ IPv6 ดังนั้นฉันจึงลอง "ping -4 unqualified_name " และ bingo! สิ่งนี้ใช้ได้ผล
ดังนั้นด้วยเหตุผลบางอย่างในระบบนี้เท่านั้น ping พยายามแก้ไขชื่อที่ไม่ผ่านการรับรอง -> ที่อยู่ IPv6 และไม่ใช่ชื่อที่ไม่ผ่านการรับรอง -> IPv4
สำหรับฉันการแก้ไขคือการปิดการใช้งาน IPv6 อย่างสมบูรณ์เนื่องจากฉันไม่ต้องการเลย แต่ฉันสนใจที่จะหาวิธีที่อ่อนโยนกว่าในการบอก ping (หรือบริการลูกค้า DNS) เพื่อลองแก้ไขทั้งที่อยู่ IPv4 และ IPv6


2

การเพิ่มรายการในไฟล์c:/windows/system32/drivers/etc/hostsอาจแก้ไขได้


ที่จะแก้ไข แต่จะไม่แก้ไขปัญหาของเขาในเครื่องนั้น แต่จะไม่ช่วยเขาในเครื่องอื่น ๆ จดจำโฮสต์> ตัวแก้ไข DNS> เซิร์ฟเวอร์ DNS> ชื่อ NetBIOS
Dude

2

ฉันพยายามหาสาเหตุว่าทำไมในคอมพิวเตอร์ที่ชนะ 7 เครื่องฉันสามารถใช้ping serverงานได้และอีกอันไม่สามารถแก้ไขserverได้ อย่างไรก็ตามทั้งคู่สามารถปิงserver.lanซึ่งฉันก็ไม่ค่อยเข้าใจ

ปรากฎว่าฉันเคยยุ่งกับการตั้งค่าบางอย่าง (ส่วนต่อท้าย DNS) เพื่อไม่ต้องใช้ FQDN ในขณะที่ใช้งาน VPN ฉันต้องเพิ่มท้องถิ่นของฉันลงใน.lanคำต่อท้ายเพื่อให้คอมพิวเตอร์ทั้งสองเครื่องทำงานเหมือนกัน

ไปที่แผงควบคุม> เครือข่ายและอินเทอร์เน็ต> การเชื่อมต่อเครือข่ายและคลิกขวาที่การเชื่อมต่อเครือข่ายของคุณและกด Properties คลิก Internet Protocol รุ่น 4 แล้วกดปุ่ม Properties จากนั้นปุ่มขั้นสูง ... ในหน้าต่างใหม่นี้ ไปที่แท็บ DNS นี่คือที่ฉันเพิ่มส่วนต่อท้าย DNS สำหรับงานของฉัน แต่ยังจำเป็นต้องใช้หนึ่งสำหรับการเชื่อมต่อที่บ้านตามปกติของฉัน

การตั้งค่า TCP / IP ขั้นสูง


ฉันพบสถานการณ์ที่คล้ายคลึงกันบนเซิร์ฟเวอร์ที่มีที่อยู่ IP คงที่ รายการแรกใน "ผนวกส่วนต่อท้าย DNS เหล่านี้" ว่างเปล่าและ "ส่วนต่อท้าย DNS สำหรับการเชื่อมต่อนี้" ว่างเปล่า เซิร์ฟเวอร์อื่น ๆ ที่ทำงานมีค่าว่างเหมือนกัน "ผนวกส่วนต่อท้าย DNS เหล่านี้" แต่ใส่ "ส่วนต่อท้าย DNS สำหรับการเชื่อมต่อนี้"
ทิมลูอิส

2

ฉันเจอปัญหานี้เช่นกัน วิธีที่ "ง่ายที่สุด" ในการแก้ไขสำหรับฉันคือเพียงเพิ่ม a .ต่อท้ายชื่อโฮสต์ อย่างไรก็ตามเรื่องนี้ค่อนข้างน่ารำคาญ เครือข่ายส่วนใหญ่ไม่ต้องการสิ่งนี้ ฉันไม่ต้องการบอกให้คนอื่น ๆ ในเครือข่ายทำเช่นนี้เมื่อพวกเขาต้องการเข้าถึงทรัพยากรเดียวกัน

ฉันกำลังดูข้อเสนอแนะจาก Frederik Aalund ว่าเป็นวิธีแก้ปัญหาที่เป็นไปได้และสังเกตว่าพวกเขาแนะนำให้สลับจากตัวเลือก "ผนวกส่วนต่อท้ายหลักและส่วนต่อท้าย DNS เฉพาะการเชื่อมต่อ" นี่ทำให้ฉันคิดว่าเครือข่ายของฉันอาจจะพลาดการตั้งค่าเล็กน้อย

ดูที่การตั้งค่า DD-WRT ของฉัน "LAN Domain" ไม่ได้ถูกตั้งค่า การตั้งค่าให้สตริงโดยพลการดูเหมือนว่าจะแก้ไขปัญหานี้สำหรับลูกค้าทั้งหมดในเครือข่ายของฉันโดยไม่ต้องมีการกำหนดค่าพิเศษในแต่ละเครื่องวิธีแก้ปัญหาที่ฉันต้องการ! :)


1

ฉันพบสิ่งนี้เมื่อเราย้ายไปยัง windows 7 จาก windows XP ปัญหานี้เกี่ยวข้องกับปัญหา DNS Multi Label DNS Query ของ Windows 7

อนุญาตให้ DNS Suffix ต่อท้ายแบบสอบถามแบบหลายป้ายชื่อที่ไม่มีเงื่อนไข - ดู:

http://computerstepbystep.com/allow_dns_suffix_appending_to_unqualified_multi_label_name_queries.html

หวังว่านี่จะช่วยได้


2
ยินดีต้อนรับสู่ Super User! ในขณะที่สิ่งนี้อาจตอบคำถามในทางทฤษฎีมันก็ควรที่จะรวมส่วนที่สำคัญของคำตอบที่นี่และให้ลิงค์สำหรับการอ้างอิง
ลุคชาวแคนาดา

1

หากใน mac os x อาจเป็นปัญหาแคช DNS:

ทิ้งแคช

sudo killall -HUP mDNSResponder
sudo dscacheutil -flushcache

OP ถามเกี่ยวกับ Windows XP และคำถามถูกติดแท็ก Windows
PL

อาจเป็นประโยชน์กับคนอื่น ๆ ฉันจะทิ้งมันไว้คำตอบคือตอนนี้มานานกว่า 3 ปี ทำไมลบตอนนี้
คริสเตียน

1

ฉันหยิบมันขึ้นมาเพราะมันกวนใจฉันเมื่อปีที่แล้วและบางทีฉันก็พบวิธีแก้ปัญหา

สำหรับฉันดูเหมือนว่า dns-caching-system ภายใน windows ไคลเอ็นต์นั้นผิดพลาด Windows 7 และ 8.1 ได้รับผลกระทบจากสิ่งนี้ ... ไม่สามารถพูดอะไรได้มากมายเกี่ยวกับ Windows XP อีกต่อไป ping ไม่ได้แก้ไขชื่อ ไม่ใช่ส่วนของ icmp ซึ่งสำคัญ แต่เป็นส่วนที่แก้ไขชื่อ) nslookup ได้รับการออกแบบมาเพื่อสืบค้น nameserver และทำเช่นนั้นอย่างแน่นอนและไม่มี windows-name

การเริ่มบริการdnscache ใหม่ช่วยทุกครั้ง แต่เนื่องจากฉันปิดการใช้งาน IPv6ในทุกการเชื่อมต่อไคลเอนต์ปัญหาไม่ได้เกิดขึ้นอีกต่อไป

ไชโย!


การปิดใช้งาน IPv6 อาจไม่ใช่วิธีแก้ปัญหาสำหรับทุกคน (และฟังดูดีที่สุดเท่าที่จะทำได้) ทุกสิ่งทุกอย่างที่คุณพูดดูเหมือนว่าได้รับการกล่าวถึงแล้วในหัวข้อนี้ (เช่นความคิดเห็นของ Harrymc“ บางครั้งก็หยุดและเริ่มบริการใหม่เพื่อแก้ไขปัญหา DNS” เมื่อสองปีก่อน)
G-Man

1

ฉันอาจจะผิดในเรื่องนี้เพราะมันขึ้นอยู่กับวันชุดทรัพยากรของ NT4 ที่ลืมมานาน

เนื่องจากค่าโดยสารฉันสามารถจำ PING ใช้ Netbios / WINS และ DNS (ตามลำดับนั้นอย่างน้อยถ้าคุณไม่ได้ระบุ FQDN)

WINS ได้หายไปเมื่อหลายปีก่อน แต่คุณยังคงเปิดใช้งาน Netbios ในอินเทอร์เฟซของคุณและ PING อาจใช้ netbios ที่อาจไม่ให้ผลลัพธ์ใด ๆ แก่คุณ โดยเฉพาะอย่างยิ่งถ้าปริมาณการใช้งานผ่านเราเตอร์อยู่ที่ไหนสักแห่ง

เพียงแค่ปิดการใช้งาน Netbios และ Ping จะใช้ DNS เป็นอันดับแรกและต่อท้าย DNS Surffic ที่ลงทะเบียนไว้บนส่วนต่อประสานกับชื่อโฮสต์ของคุณ


0

ฉันเพิ่งมีปัญหานี้และพบสิ่งที่ค่อนข้างแปลกและจัดการเพื่อแก้ไข Lol

โดยทั่วไปหากคุณมีรายการใด ๆ ในไฟล์โฮสต์ของคุณซึ่งเป็นเช่นเดียวกับ IP ที่ ping ของคุณพยายามแก้ไขมันจะล้มเหลว

ตัวอย่างเช่นหากใน DNS ของคุณคุณมีบันทึกสำหรับ www.example.com - 10.0.0.20 แต่คุณมีรายการในไฟล์โฮสต์ของลูกค้าของคุณ 10.0.0.20 บางสิ่งบางอย่างคุณจะไม่สามารถ ping www .example.com

แปลกจัง


0

ในกรณีของฉันสิ่งที่แก้ปัญหานี้คือการเพิ่มโดเมนของโฮสต์ผมพยายามที่จะ ping ไปที่ตัวเลือกนโยบายกลุ่มชื่อ"คำต่อท้าย DNS ค้นหารายการ"

ขั้นตอนโดยสังเขปคือ: เปิดgpedit.mscและนำทางไปยังComputer Configuration -> Administrative Templates -> Network -> DNS Client > DNS Suffix Search Listตั้งค่าเป็น "เปิดใช้งาน" และเพิ่มชื่อโดเมนไปยังรายการ (รายการว่างเปล่าโดยค่าเริ่มต้น)

สามารถดูคำอธิบายโดยละเอียดเพิ่มเติมเกี่ยวกับขั้นตอนเหล่านี้ได้ที่นี่


0

ฉันมีปัญหาเดียวกันและกลับกลายเป็นว่าเครื่องอื่นมีที่อยู่ IP เดียวกันและนั่นก็เป็นสาเหตุ

เปลี่ยน IP กลับเป็น DHCP และทุกอย่างทำงานได้ดี


nslookup ทำงานได้เนื่องจากไม่จำเป็นต้องสื่อสารกับโฮสต์อื่น ping ไม่จำเป็นต้องสื่อสารและแบ่งอย่างชัดเจน
ndemou

@ndemou: คำอธิบายนั้นไม่สมเหตุสมผล ใช่มันเป็นหน้าที่ของ ping ที่จะพยายามสื่อสารกับโฮสต์อื่น แต่ขั้นตอนแรกในกระบวนการนั้นคือการรับที่อยู่ IP ของโฮสต์อื่น หาก  ได้รับที่อยู่ IP ของโฮสต์อื่นระบบจะแจ้งให้คุณทราบ หากไม่สามารถสื่อสารกับโฮสต์อื่น ๆ ได้ในที่สุดรายงานว่า "สูญเสีย 100%" แต่ในคำถามนั้น ping ล้มเหลวแม้กระทั่งรับที่อยู่ (ลอง  ping bbbbbbb.comและ  ping bbbbbb.comเปรียบเทียบ)
สกอตต์

คุณถูก @Scott ผมได้รับการแก้ไขคำตอบเคลาส์และในขณะที่อ่านของเขารายละเอียดของปัญหาที่ผมลืมไปว่าคำถามปัญหานี้โดยเฉพาะอย่างยิ่งกับปิงก็คือว่ามันไม่สามารถแก้ไข ไม่แน่ใจ แต่ฉันจะพนันตอนนี้ที่ Klaus ไม่ได้รับคำตอบ
ndemou

0

ไม่มีวิธีแก้ปัญหาสำหรับฉันที่นี่ สิ่งที่ใช้ได้ผลสำหรับฉันกำลังเชื่อมต่อกับ VPN ของงานอีกครั้งโดยใช้ OpenVPN จากนั้นหลังจากยกเลิกการเชื่อมต่อทุกอย่างยังคงทำงาน

ฉันเชื่อว่าปัญหาเกี่ยวข้องกับกำลังดับในขณะที่คอมพิวเตอร์ของฉันเชื่อมต่อกับ openVPN วิธีเดียวที่ฉันคิดออกนี้คือการใช้ WireShark ฉันสังเกตเห็นว่า IP ปลายทางสำหรับการค้นหาทั้งหมดไปที่ IP ในเครือข่ายภายในงานของฉัน


-1

ping ใช้โปรโตคอล ICMP โดยเฉพาะ 'คำขอ Echo' และ 'Echo Reply'

เครือข่ายจำนวนมากปิดใช้งานยูทิลิตี้ ICMP เพื่อป้องกันการโจมตีหรือการสแกนเครือข่ายพื้นฐาน ฉันพบเราเตอร์หลายตัวที่คุณซื้อมาพร้อมกับการตั้งค่าเพื่อปิดการใช้งาน ping และชอบค่าสาธารณูปโภคที่เปิดใช้งานโดยค่าเริ่มต้น

คุณสามารถหาข้อมูลเพิ่มเติมเกี่ยวกับ ICMP ได้ที่นี่:

http://en.wikipedia.org/wiki/Internet_Control_Message_Protocol


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