ฉันพบปัญหาเดียวกันและพบว่ามีหัวข้อเกี่ยวกับMac mini ที่มีปัญหา DNSในการสนทนาของ Apple มีประโยชน์อย่างยิ่ง
ประเด็นสำคัญของปัญหา: mDNSResponder ดูเหมือนจะเปลี่ยนลำดับของเซิร์ฟเวอร์ DNS เป็นครั้งคราวและหากมีการสอบถามเซิร์ฟเวอร์ DNS ของ ISP ของคุณก่อนจะไม่ได้รับการบันทึกที่เหมาะสม (หรือหากคุณใช้ DNS แยกคุณจะได้รับ IP สาธารณะของคุณ)
การแก้ไขที่ดีที่สุดสำหรับเรื่องนี้คือเพื่อให้แน่ใจว่า (เช่นเดียวกับคุณ) ว่ามีเพียงเซิร์ฟเวอร์ DNS ที่จำเป็นเท่านั้นที่แสดงอยู่ในการตั้งค่า DNS ของคุณ สิ่งนี้อาจต้องการการลบเซิร์ฟเวอร์ ISP DNS ออกจาก DHCP ของคุณ (ตามที่ฉันต้องทำเช่นกัน - คำขอทั้งหมดจะถูกส่งต่อผ่านเซิร์ฟเวอร์ DNS ภายในเครื่องอยู่ดี)
เหตุผลที่ยูทิลิตี้ชอบdig
และnslookup
จะประสบความสำเร็จตามปกติคือพวกเขากำลังใช้ BIND และ/etc/resolv.conf
ไม่เหมือนกับส่วนที่เหลือของระบบปฏิบัติการโดยตรง
สำหรับการอ้างอิงในเสือดาวหิมะแคช DNS จะถูกเก็บไว้ในขณะนี้โดย mDNSResponder sudo killall -HUP mDNSResponder
และเพื่อที่จะล้างมันที่คุณจำเป็นต้องเริ่มต้นกระบวนการโดยใช้ คุณสามารถรับข้อมูลเพิ่มเติม (การบันทึกการดัมพ์สถานะภายใน ฯลฯ ) โดยใช้แฟล็กต่าง ๆ กับkillall
คำสั่ง
"sudo killall -USR1 mDNSResponder" to enable operation logging.
"sudo killall -USR2 mDNSResponder" to enable packet logging.
"sudo killall -HUP mDNSResponder" to clear the DNS cache.
"sudo killall -INFO mDNSResponder" to dump mDNSRepsonder's internal state.
ที่มา: Snoop Doggในเธรดเดียวกันนั้น