อัปเดต (2): OSX 10.10.5 นำการกลับมาของmDNSResponder
.
อัปเดต: OSX 10.10 Yosemite ได้แทนที่ mDNSResponder ด้วย "discoveryd" ฉันไม่ได้อัปเกรดดังนั้นฉันจึงไม่แน่ใจเกี่ยวกับพฤติกรรมที่ค้นพบโดยไม่มีการค้นหา DNS และ/etc/hosts
.
ตัวแก้ไข DNS ของระบบบน Lion เป็นmDNSResponder
กระบวนการ
คุณอาจกำลังคิดว่า "แต่ mDNSResponder คือตัวตอบกลับ dns แบบหลายผู้รับ" คุณถูก; นั่นคือสิ่งที่เดิมมีไว้สำหรับและยังคงทำหน้าที่นี้ อย่างไรก็ตามใน MacOS เวอร์ชันใหม่กว่าจะทำการค้นหาโฮสต์มาตรฐานด้วย
ใน Lion ดูเหมือนว่าจะไม่อ่านซ้ำโดยอัตโนมัติ/etc/hosts
เมื่อมีการเปลี่ยนแปลงอย่างน้อยก็ไม่เสมอไป การฆ่าmDNSResponder
(และปล่อยให้เริ่มต้นใหม่โดยอัตโนมัติ) ดูเหมือนจะช่วยแก้ปัญหาได้
sudo killall mDNSResponder
ควรทำเคล็ดลับ
ด้านล่างนี้คือคำตอบเดิมของฉันสำหรับลูกหลาน ฉันคิดว่ามันอาจยังคงเป็นปัญหาในบางกรณี
ตรวจสอบให้แน่ใจว่า/etc/hosts
ไฟล์ของคุณเป็นไฟล์ข้อความสไตล์ยูนิกซ์โดยมีฟีดบรรทัดเป็นตอนจบแทนที่จะเป็นของ cr
การแก้ไขด้วย TextWrangler หรือโปรแกรมแก้ไขข้อความ unix ควรเก็บรักษาไฟล์ไว้
หากไฟล์ของคุณยุ่งอยู่แล้วให้ลองแก้ไข
tr '\015' '\012' < /etc/hosts > /tmp/hosts.$$
mv /etc/hosts /etc/hosts.bad
mv /tmp/hosts.$$ /etc/hosts
# fix up permissions while we are at it
chown root:wheel /etc/hosts
chmod 644 /etc/hosts
เครดิตสำหรับการแก้ไขนี้ไปที่:
http://techpatio.com/2011/guides-how-to/fixed-mac-osx-lion-etc-hosts-bugs-dns