คอมพิวเตอร์จะเก็บบันทึกของทุกเว็บไซต์ที่คุณเยี่ยมชมใน “แคช DNS” จุดประสงค์ของแคชนี้คือเพื่อประหยัดเวลาเมื่อผู้ใช้พยายามเข้าถึงโดเมน ระบบไม่ต้องค้นหาด้วยตนเองทุกครั้ง โดยรวมแล้วการแคช DNS ทำให้การใช้งานอินเทอร์เน็ตของคุณเร็วขึ้นและนั่นเป็นสาเหตุที่แทบทุกระบบปฏิบัติการตั้งแต่ macOS ไปจนถึง Windows ไปจนถึง Linux
ถึงกระนั้น เพื่อประโยชน์ในการแคช DNS บางครั้งปัญหาก็อาจเกิดขึ้นได้ เช่น การดูเว็บไซต์เก่าแทนที่จะเป็นเว็บไซต์ที่อัปเดตใหม่ ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกล เป็นต้น วิธีที่ยอดเยี่ยมในการแก้ไขข้อผิดพลาดประเภทนี้บน Linux คอมพิวเตอร์คือการ "ล้าง" แคช DNS บน Linux เมื่อคุณล้างแคช DNS จะรีเฟรชฐานข้อมูล DNS และล้างปัญหาในการแก้ไขปัญหาที่ผู้ใช้จำนวนมากประสบ
ล้าง DNS – Systemd แก้ไขแล้ว
ณ จุดนี้ ผู้ใช้ Linux ส่วนใหญ่ใช้ระบบปฏิบัติการที่มี Systemd init ติดตั้งอยู่ภายใน แม้ว่าหัวข้อของ Systemd จะสร้างความแตกแยกในชุมชน แต่ก็มีสิ่งหนึ่งที่ทุกคนรู้: Systemd ทำให้การปรับแต่งและบำรุงรักษาระดับระบบปฏิบัติการที่ซับซ้อนและซับซ้อนนั้นง่ายกว่าที่เคยเป็นมามาก ข้อเท็จจริงนี้เป็นจริงอย่างยิ่งกับการล้างแคช DNS
Systemd จัดการแคช DNS ในสิ่งที่เรียกว่า "systemd แก้ไขแล้ว" เป็นยูทิลิตีมาตรฐานที่หาทางเข้าสู่ระบบปฏิบัติการลีนุกซ์ส่วนใหญ่ หากต้องการตรวจสอบว่าระบบปฏิบัติการของคุณใช้ Systemd Resolved เพื่อจัดการ DNS และแคช DNS ในระบบหรือไม่ ให้เปิดหน้าต่างเทอร์มินัลโดยกด Ctrl + Alt + T หรือ Ctrl + Shift + T บนแป้นพิมพ์ หลังจากนั้นเรียกใช้ สถานะ systemctl คำสั่งบนsystemd-resolved.serviceไฟล์

สถานะ systemctl systemd-resolved.service
ดูงานพิมพ์ของ Systemd Resolved ในหน้าต่างเทอร์มินัลและค้นหาส่วน "ใช้งานอยู่" เมื่อคุณพบส่วน "ใช้งานอยู่" แล้ว และตรวจดูให้แน่ใจว่ามีส่วน "ใช้งานอยู่ (ทำงานอยู่)" อยู่ข้างๆ หากเป็นเช่นนั้น ระบบ Linux ของคุณกำลังใช้สิ่งนี้เพื่อจัดการ DNS
ในการล้างแคช DNS สำหรับ Systemd Resolved คุณจะต้องใช้หนึ่งในคุณสมบัติในตัวของ Systemd Resolved โดยเฉพาะ คำสั่งflush caches มันจะล้าง DNS ออกทันที และเริ่มต้นใช้งานอีกครั้ง!
sudo systemd-resolved --flush-caches
หรือถ้าคุณไม่สามารถใช้sudoให้ทำ:
ซู -
systemd-resolved --flushcaches
เมื่อคุณใช้คำสั่งflushcachesแล้ว แคช DNS ในระบบควรถูกล้างอย่างเพียงพอ อย่างไรก็ตาม หากหลังจากรันคำสั่งนี้แล้วคุณยังพบปัญหาบางอย่าง อาจเป็นความคิดที่ดีที่จะเริ่มต้นบริการใหม่ทั้งหมด เมื่อต้องการทำสิ่งนี้ ให้ใช้คำสั่งsystemctl restart
sudo systemctl รีสตาร์ท systemd-resolved.service
ไม่สามารถใช้sudo ได้ ? เข้าสู่ระบบด้วยรูทด้วยsuก่อนพยายามเริ่มบริการใหม่ด้วย systemd
su - systemctl รีสตาร์ท systemd-resolved.service
เมื่อ Systemd-Resolved รีสตาร์ทเสร็จแล้ว ปัญหา DNS ทั้งหมดควรได้รับการแก้ไข!
ล้าง DNS – DNS Masq
DNSMasq เป็นอีกหนึ่งโซลูชัน DNS ยอดนิยมสำหรับแพลตฟอร์ม Linux ที่ระบบปฏิบัติการจำนวนมากใช้ เช่นเดียวกับเครื่องมือ Systemd-Resolved ผู้ใช้สามารถโต้ตอบกับมันด้วยคำสั่งsystemctl หากต้องการตรวจสอบว่าระบบปฏิบัติการของคุณใช้เครื่องมือ DNSMasq เพื่อจัดการ DNS หรือไม่ ให้เรียกใช้ คำสั่งสถานะ
![วิธีล้างแคช DNS บน Linux วิธีล้างแคช DNS บน Linux]()
สถานะ systemctl dnsmasq.service
อ่านสถานะการพิมพ์ที่ systemd จัดเตรียมไว้บนหน้าจอ ไปที่ส่วน "ใช้งานอยู่" ของการอ่านข้อมูล สแกนผ่านและค้นหา "ใช้งานอยู่ (ทำงาน)" เพื่อยืนยันว่าบริการเปิดใช้งานอยู่ ในกรณีนี้ คุณสามารถล้างแคช DNS สำหรับ DNSMasq ได้ทันทีโดยใช้ คำสั่งsystemctl restart ในเทอร์มินัล ให้ป้อนคำสั่งต่อไปนี้
sudo systemctl restart dnsmasq.service
หรือสำหรับผู้ที่ไม่สามารถใช้คำสั่ง systemd กับsudo ได้ให้ลองเข้าสู่ระบบด้วยรูทก่อนที่จะลองรีสตาร์ท
ซู -
systemctl รีสตาร์ท DNSmasq.service
ล้าง DNS – NSCD
NSCD เป็นระบบแคช DNS ที่ต้องการสำหรับระบบปฏิบัติการ Linux ที่ใช้ RedHat ส่วนใหญ่ ดังนั้น หากคุณใช้ OpenSUSE Linux, CentOS หรือสิ่งที่คล้ายกัน มีโอกาสดีที่คุณจะต้องวุ่นวายกับมันเพื่อล้างแคช DNS ของคุณ
หมายเหตุ: แม้ว่า Fedora Linux จะใช้ RedHat แต่ตามค่าเริ่มต้นจะไม่เก็บแคช DNS
ในการพิจารณาว่าระบบปฏิบัติการ Linux ของคุณใช้ NSCD หรือไม่ คุณจะต้องใช้คำสั่งสถานะเนื่องจากเป็นบริการ systemd
![วิธีล้างแคช DNS บน Linux วิธีล้างแคช DNS บน Linux]()
สถานะ systemctl nscd.service
การรันคำสั่งสถานะบนบริการ NSCD จะทำให้คุณมีข้อมูลรายละเอียดมากมายเกี่ยวกับมัน ข้ามผ่านและค้นหาส่วนที่ระบุว่า "ใช้งานอยู่" หากระบบของคุณใช้งานอยู่ คุณจะเห็นข้อความสีเขียวที่ระบุว่า "ใช้งานอยู่ (กำลังทำงาน)"
การล้างแคช DNS ด้วย NSCD ทำงานเหมือนกับระบบแคชอื่นๆ ที่ทำงานร่วมกับ systemd ทั้งหมดที่ผู้ใช้ต้องทำคือรันคำสั่งsystemctl restartจะโหลดบริการใหม่และล้างแคช DNS โดยอัตโนมัติ ซึ่งจะแก้ไขปัญหา DNS ที่คุณอาจประสบอยู่
sudo systemctl รีสตาร์ท nscd.service
หรือถ้าลินุกซ์ระบบปฏิบัติการของคุณปิดการใช้งานใช้คำสั่ง systemctl กับsudoคุณสามารถเริ่มให้บริการโดยการเข้าสู่ระบบครั้งแรกในบัญชีรากใช้su
su - systemctl รีสตาร์ท nscd.service