MacBook ไม่สามารถใช้อินเทอร์เน็ตได้ แต่ nslookup และ ping ทำงานได้ทั้งคู่


12

ฉันมีผู้ใช้ที่มี MacBook Pro ระดับไฮเอนด์ตัวใหม่ที่ไม่สามารถใช้อินเทอร์เน็ตได้ เขาสามารถเชื่อมต่อกับเครือข่ายแบบใช้สายหรือไร้สายของเราและทำสิ่งต่าง ๆ เช่นเรียกดูการแชร์ไฟล์ แต่ไม่สามารถทำได้อีกต่อไป

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

อีกครั้งอาการเหล่านี้เกิดขึ้นกับเครือข่ายทั้งแบบมีสายและไร้สาย เครื่องอื่น ๆ ในเครือข่ายของเรารวมถึง Mac อื่น ๆ บางตัวไม่มีปัญหานี้

ความคิดใด ๆ

คำตอบ:


8

มีการmDNSResponderทำงานอยู่หรือไม่ แม้ว่าจะเป็นเช่นนั้นลองทำsudo killall mDNSResponderและปล่อยให้launchdเปิดใหม่อีกครั้งโดยอัตโนมัติ (หากคุณลองรีบู๊ตระบบแล้วและปัญหายังคงอยู่แสดงว่าอาจไม่เป็นเช่นนั้น)

mDNSResponder เป็นส่วนสำคัญของโครงสร้างพื้นฐาน DNS resolver DNS ของ Mac OS X เครื่องมือบางอย่างเช่นnslookupมีรหัสตัวแก้ไข DNS ของตนเองหรือเรียกใช้ API ระดับต่ำที่หลีกเลี่ยง mDNSResponder และใช้ไลบรารีตัวแก้ไข Unix DNS แบบดั้งเดิมมากขึ้น แต่แอพและเครื่องมือส่วนใหญ่ที่เพิ่งเรียก API ปกติจะใช้ mDNSR ตอบรับเพื่อทำการจำแนกชื่อ

คุณอาจต้องการตรวจสอบวิธีการกำหนดค่า DNS ในแผงเครือข่ายของการตั้งค่าระบบและดูที่/etc/resolv.conf(หมายเหตุ: ไม่มี 'e' ใน "resolv") ipconfig getpacket en0(แทนที่ en0 ด้วยตัวระบุเลเยอร์เครือข่ายหลักของ BSD ของคุณ) อาจเป็นประโยชน์ในการดูว่าข้อมูลเซิร์ฟเวอร์ DNS ใดที่เครื่องของคุณได้รับจาก DHCP ดูเพิ่มเติมที่ส่วน "การบันทึก" ของmDNSResponder(8)หน้า man สำหรับคำแนะนำเพิ่มเติมเกี่ยวกับการรับข้อมูลการแก้ไขปัญหา / การดีบักจาก mDNSResponder


สิ่งนี้ยังคงมีอยู่ในการรีบูตหลายครั้ง แต่ความจริงที่ว่า nslookup ส่งคืนที่อยู่ในขณะที่สิ่งอื่น ๆ ที่ต้องทำการแก้ไขล้มเหลวยังคงบ่งชี้ว่า mDNSResponder เป็นตัวเลือกที่ดีสำหรับปัญหา
Joel Coehoorn

ตื่นตาตื่นใจกับประสบการณ์ที่แตกต่างในอีกปีหนึ่ง ฉันมาตรวจสอบในวันนี้เพราะมีคนโหวตให้กับคำถามและคำตอบส่วนใหญ่ของคุณตอนนี้เป็นเรื่องที่สองสำหรับฉันก่อนที่ฉันจะถูกยิงตาบอด ที่กล่าวว่าฉันเคยพูดแบบนี้มาก่อน แต่ mDNS / Bonjour เป็นกองนึ่งที่ยอดเยี่ยมที่ Apple ไม่ควรที่จะปลดปล่อยลงในอุปกรณ์การผลิต
Joel Coehoorn

โอ้และนักเรียนลงเอยด้วยการแก้ไขปัญหานี้ก่อนที่เราจะนำเครื่องกลับมาลองทำใหม่ แต่การอ่านอาการและคำแนะนำตอนนี้ฉันมั่นใจว่านี่เป็นปัญหาและการติดตั้งบริการ Bonjour อาจจำเป็น
Joel Coehoorn

@ Joel ขอบคุณสำหรับการติดตาม ดีใจที่ได้ทราบเมื่อคำตอบมีประโยชน์
Spiff

2

ฉันพบว่าสาเหตุสำคัญของปัญหานี้ใน Macs ของฉัน (เช่น Hackintoshes) กำลังหลับ / หยุดการทำงานของดิสก์ หากสิ่งนี้ล้มเหลวในการบูตครั้งถัดไป mDNSResponder อยู่ในสถานะเสียหายและsudo killall mDNSResponderคำสั่งจะแก้ไข


1

บางทีคุณอาจระบุเซิร์ฟเวอร์ DNS ด้วยตนเองในการตั้งค่า Mac ของคุณ โปรดตรวจสอบการตั้งค่าของคุณตามที่แสดงที่นี่ลบเซิร์ฟเวอร์ DNS ใด ๆ ที่คุณอาจมีแทนที่ด้วยจุดเชื่อมต่อ IP ของคุณ (หรือแม้แต่ปล่อยว่างเปล่า DNS ควรตั้งค่าผ่าน DHCP)


DNS ถูกตั้งค่าผ่าน dhcp และแสดงเซิร์ฟเวอร์ dns ที่ถูกต้อง
Joel Coehoorn

1

เนื่องจากคำสั่งที่สำคัญ แต่มีการเปลี่ยนแปลงต่ำกว่านี้มีการเปลี่ยนแปลงอย่างน่าตกใจใน MacOS รุ่นต่างๆฉันคัดลอกและวางใต้รายการอ้างอิงที่มีประโยชน์สุด ๆ จาก

"คู่มือที่สมบูรณ์ที่สุดบนดาวเคราะห์" โดย Neil Gee https://coolestguidesontheplanet.com/clear-the-local-dns-cache-in-osx/

วิธีล้างแคช DNS ในเครื่อง (เมื่อ URL ไม่ได้แก้ไขวิธีที่คุณต้องการ)

sudo killall -HUP mDNSResponder (OSX 10.10.4, 10.11.0, macOS Sierra 10.12.0)

sudo discoveryutil mdnsflushcache (OSX 10.10.0 - 10.10.3)

sudo killall -HUP mDNSResponder (OSX 10.9,10.8,10.7)

sudo dscacheutil -flushcache (OSX 10.5,10.6)

และยังรวมถึง Windows และ Linux


0

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

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