วิธีล้างแคช DNS ใน Mac OS X

ไม่ว่าคุณจะเป็นผู้ดูแลระบบหรือนักพัฒนาเว็บหรือไม่ว่าจะอยู่ในระหว่างใดคุณมีโอกาสที่จะต้องล้างแคช DNS ทุกครั้งในหนึ่งเดียวเพื่อให้ได้สิ่งต่างๆตรงจากฝั่งเซิร์ฟเวอร์หรือแม้แต่เพื่อทดสอบการกำหนดค่าบางอย่าง

การล้างข้อมูลแคช DNS ใน Mac OS X เป็นเรื่องง่ายมาก แต่มีคำสั่งที่แตกต่างกันหลายคำที่ใช้และคุณจะพบคำสั่งต่างๆที่ไม่เหมือนใครสำหรับ Mac OS X เวอร์ชันต่างๆเรามีคุณครอบคลุมโดยไม่คำนึงถึงรุ่นใด Mac OS X ที่คุณใช้อยู่จาก MacOS Sierra 10.12, 10.11, 10.13, OS X 10.10, OS X 10.9 ตลอดจนกลับไปที่ 10.4 เพื่อหาเวอร์ชัน OS X ของคุณให้เปิดเทอร์มินัลของคุณและทำตามคำแนะนำที่เหมาะสมด้านล่างเพื่อเริ่มต้นใช้งาน


โปรดจำไว้ว่าคำสั่งแต่ละคำสั่งต้องถูกป้อนลงในบรรทัดคำสั่งโดยใช้โปรแกรม Terminal (พบได้ใน / Applications / Utilities / ใน Mac OS X ทุกรุ่น) เปิดแอปพลิเคชันนั้นก่อนจากนั้นคุณสามารถคัดลอกและวางคำสั่งได้ถ้าต้องการ

ล้าง DNS Cache ใน MacOS 10.12, 10.11 ใหม่กว่า

สำหรับ Sierra, El Capitan และรุ่นใหม่ของ Mac OS:

sudo killall -HUP mDNSResponder

การล้างแคช DNS ใน OS X 10.10 Yosemite

วิ่งโยเซมิตี? การล้างแคช DNS ใน OS X Yosemite มีการเปลี่ยนแปลงอีกครั้งแบ่งเป็น MDNS และ UDNS หรือรวมกันเช่นเราจะใช้ด้านล่างนี่คือคำสั่งที่จำเป็น:

sudo discoveryutil mdnsflushcache;sudo discoveryutil udnsflushcaches;say flushed

คุณสามารถอ่านเพิ่มเติมเกี่ยวกับการรีเซ็ตและล้างแคช DNS ใน OS X Yosemite ได้ที่นี่หากคุณสนใจ

ล้าง DNS ใน OS X 10.9 Mavericks

Rere คือวิธีการล้างแคช DNS ใน 10.9:

dscacheutil -flushcache;sudo killall -HUP mDNSResponder

คุณจะต้องป้อนรหัสผ่านผู้ดูแลระบบสำหรับงานนี้ให้เสร็จสมบูรณ์ ถ้าคุณสังเกตเห็นมันรวมฆ่า mDNSResponder กับ dscacheutil มาตรฐานทำให้กระบวนการขั้นตอนสองขั้นตอนแรกแคชล้างแล้วโหลดการจัดการ DNS ใน OS X เพื่อให้การเปลี่ยนแปลงมีผล

ล้าง DNS Cache ใน OS X Lion (10.7) และ OS X Lion Mountain (10.8)

เปิด Terminal แล้วป้อนคำสั่งต่อไปนี้คุณจะต้องใส่รหัสผ่านสำหรับผู้ดูแล:
sudo killall -HUP mDNSResponder
หมายเหตุ dscacheutil ยังคงมีอยู่ใน 10.7 และ 10.8 แต่วิธีการอย่างเป็นทางการในการล้างแคช DNS คือการฆ่า mDNSResponder นอกจากนี้คุณยังสามารถหากระบวนการที่กำลังทำงานใน Activity Monitor

เคล็ดลับที่เป็นประโยชน์ถ้าคุณพบว่าตัวเองล้างข้อมูล DNS บ่อยๆคือการตั้งค่านามแฝงสำหรับสตริงคำสั่งนั้นในไฟล์. bash_profile หรือในโปรไฟล์ของเปลือกที่คุณเลือก ทับ bash ง่ายสำหรับล้างแคชอาจเป็น:

alias flushdns='dscacheutil -flushcache;sudo killall -HUP mDNSResponder'

บันทึกลงใน. bash_profile จากนั้นพิมพ์ "flushdns" จะป้องกันไม่ให้ต้องใช้สตริงคำสั่งแบบเต็มในอนาคต

ล้าง DNS Cache ใน Mac OS X 10.5, Mac OS X 10.6

เรียกใช้ Terminal และออกคำสั่งต่อไปนี้:
dscacheutil -flushcache
เสร็จสิ้นแล้ว DNS ของคุณถูกล้าง ในบันทึกด้านข้าง dscacheutil เป็นเรื่องที่น่าสนใจโดยทั่วไปและน่าจะลองดูลองใช้สถิติ - สถิติแทนสถิติบางอย่าง

ล้าง DNS ใน Mac OS X 10.4 Tiger และ 10.3

พิมพ์คำสั่งต่อไปนี้ในเทอร์มินัล:
lookupd -flushcache

นั่นคือทั้งหมดที่มีอยู่ ตอนนี้การตั้งค่า DNS ควรเป็นไปตามที่คุณตั้งใจไว้ซึ่งคุณสามารถตรวจสอบด้วยเครื่องมือเครือข่ายต่างๆเช่น http, ping, nslookup, traceroute, curl หรือสิ่งอื่นที่เหมาะสมกับสถานการณ์เฉพาะของคุณ

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