วิธีล้างแคช DNS ใน MacOS X & macOS

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

เกี่ยวกับ DNS Cache ของ Mac ของคุณ

macOS และ OS X เก็บแคชภายในของการสืบค้น DNS ที่ได้รับการแก้ไขตามเวลาที่เซิร์ฟเวอร์ DNS กำหนด บางครั้งจำเป็นต้องรีเซ็ตแคชทันทีและค้นหาเซิร์ฟเวอร์ DNS ใหม่ ตัวอย่างเช่นหากเซิร์ฟเวอร์ DNS ของคุณเพิ่งเปลี่ยนแปลงคุณอาจต้องดำเนินการนี้

หาก Mac ของคุณไม่ได้ใช้รายการ DNS ล่าสุดจากเซิร์ฟเวอร์ของคุณการรีสตาร์ท Mac มักจะอัปเดตข้อมูลที่แคชไว้ หากคุณต้องการอัปเดตรายการ DNS และไม่สามารถรีสตาร์ท Mac หรือเซิร์ฟเวอร์โดยใช้ macOS หรือ OS X ให้ใช้คำสั่งเทอร์มินัลด้านล่าง (ขึ้นอยู่กับเวอร์ชัน macOS หรือ OS X)

ล้างแคช DNS ใน macOS Sierra และ Mac OS X เวอร์ชันอื่น

macOS Sierra

เปิด Terminal แล้วป้อนคำสั่งด้านล่าง คำสั่งนี้จะล้างแคช MDNS และ UDNS DNS ใน macOS ได้รับการจัดการผ่าน mDNSResponder การฆ่ากระบวนการนี้เป็นวิธีที่ง่ายที่สุดในการรีเซ็ตแคช DNS ของคุณบน Mac นอกเหนือจากการรีบูตและเปลี่ยนการตั้งค่า DNS ด้วยตนเอง โปรดจำไว้ว่าเมื่อได้รับแจ้งให้ป้อนรหัสผ่านให้ป้อนรหัสผ่านเข้าสู่ระบบ Mac ของคุณแล้วกด Enter

sudo killall -HUP mDNSResponderคำสั่งsudo dscacheutil -flushcacheยังใช้งานได้

OS X 10.10 Yosemite และ El Capitan

ใช้คำสั่ง Terminal ต่อไปนี้เพื่อรีเซ็ตแคช DNS ใน OS X v10.10.4 หรือใหม่กว่า

sudo killall -HUP mDNSResponder 

ใช้คำสั่ง Terminal ต่อไปนี้เพื่อรีเซ็ตแคช DNS ใน OS X v10.10 ถึง v10.10.3

sudo discoveryutil mdnsflushcache

ป้อนรหัสผ่านผู้ดูแลระบบของคุณเมื่อได้รับแจ้งให้ทำการล้าง

OS X 10.9 Mavericks

เปิด Terminal แล้วป้อน:

dscacheutil -flushcache; sudo killall -HUP mDNSResponder

OS X Mountain Lion หรือ Lion (10.7 และ 10.8)

เปิดแอป Terminal (แอปพลิเคชั่น> ยูทิลิตี้> เทอร์มินัล) และป้อน (ใส่รหัสผ่านผู้ดูแลระบบของคุณเมื่อได้รับแจ้ง):

sudo killall -HUP mDNSResponder

Mac OS X 10.6 และ 10.5

เปิด Terminal แล้วพิมพ์:

sudo dscacheutil -flushcache

Mac OSX 10.4 และต่ำกว่า

เปิด Terminal และป้อน:

lookupd -flushcache 

ตรวจสอบว่าปัญหา DNS ของคุณได้รับการแก้ไขแล้ว

หากต้องการตรวจสอบว่า DNS ของคุณทำงานได้ตามปกติหรือไม่ให้ใช้คำสั่ง“ ขุด” อยู่ใน Terminal แล้วพิมพ์“ dig appletoolbox.com ” หรือชื่อของเว็บไซต์ใด ๆ ที่คุณเข้าชมเป็นประจำเพียงตรวจสอบให้แน่ใจว่าคุณพิมพ์ขุดก่อนที่อยู่เว็บ

คำสั่ง dig ใช้สำหรับการสืบค้นเนมเซิร์ฟเวอร์ DNS สำหรับข้อมูลเกี่ยวกับที่อยู่โฮสต์การแลกเปลี่ยนเมลเนมเซิร์ฟเวอร์และข้อมูลที่เกี่ยวข้อง หากความเร็วเป็นปัญหาของคุณให้ดูในส่วนคำตอบสำหรับเวลาสืบค้น

หากตัวเลขดังกล่าวพิสูจน์แล้วว่าสูงเกินไปหมายความว่าไซต์ใช้เวลาโหลดนานเกินไปเปลี่ยนการตั้งค่า DNS ของคอมพิวเตอร์อุปกรณ์หรือเราเตอร์ของคุณเป็นเปิดเซิร์ฟเวอร์ DNS (208.67.222.222 และ 208.67.220.220) หรือเซิร์ฟเวอร์ DNS สาธารณะของ Google (8.8 8.8 และ 8.8.4.4)

บันทึกไฟล์. scpt ลงในเดสก์ท็อปของคุณเพื่อการเข้าถึงด่วน

  • เปิด“ Script Editor” และเพิ่มคำสั่งต่อไปนี้จากนั้นบันทึกลงในเดสก์ท็อปของคุณ (คัดลอกและวางบรรทัดต่อไปนี้รวมทั้งเครื่องหมายคำพูด)
    • สำหรับ macOS Sierra ให้ทำเชลล์สคริปต์“ sudo killall -HUP mDNSResponder”
    • สำหรับ El Capitan ให้ทำเชลล์สคริปต์“ sudo dscacheutil-flushcache; sudo killall -HUP mDNSResponder”
  • ดับเบิลคลิกไฟล์นั้นทุกครั้งที่คุณต้องการล้าง DNS
  • หากคุณต้องการให้ข้อความใน Terminal แจ้งให้คุณทราบว่า DNS ถูกล้างให้เพิ่มคำสั่งต่อไปนี้ในบรรทัดของคุณ
    • ; กล่าวว่าแคช DNS ถูกล้างสำเร็จแล้ว

โพสต์ล่าสุด