Η προσωρινή μνήμη DNS (DNS cache) είναι μια προσωρινή βάση δεδομένων σε ένα λειτουργικό σύστημα που αποθηκεύει όλες τις DNS αναζητήσεις που πραγματοποιείτε (πληροφορίες από τους ιστότοπους που έχετε επισκεφθεί και domains).
Ο τρόπος λειτουργίας του είναι αρκετά απλός:
Όταν επισκέπτεστε έναν ιστότοπο πολλές φορές, το λειτουργικό σας σύστημα αποθηκεύει τις πληροφορίες για τον ιστότοπο στην τοπική κρυφή μνήμη. Έτσι αντί να χρειάζεται κάθε φορά να αποστείλει ερωτήματα DNS σε κάποιον εξωτερικό DNS Server, τις λαμβάνει τοπικά από την προσωρινή μνήμη DNS. Για αυτό το λόγο η φόρτωση αυτών των ιστότοπων είναι πολύ πιο γρήγορη.
Ωστόσο, υπάρχουν φορές που η προσωρινή μνήμη DNS μπορεί να καταστραφεί. Μπορεί επίσης να παρατηρήσετε ότι αν αλλάξει ένας ιστότοπος, το πρόγραμμα περιήγησής σας επιμένει να φορτώνει την παλιά (την προσωρινά αποθηκευμένη) έκδοση του ιστότοπου.
Όταν συμβεί αυτό, τι κάνετε; Αδειάζετε την προσωρινή μνήμη των DNS στο λειτουργικό σας σύστημα. Μόλις αδειάσει η προσωρινή μνήμη DNS, η αρχική φόρτωση των ιστότοπων θα είναι ελαφρώς πιο αργή, αλλά θα είναι σωστή. Μόλις αποθηκευτούν ξανά τα DNS μιας σελίδας θα αποκτήσει ξανά την ταχύτητα που γνωρίζατε.
Ο τρόπος εκκαθάρισης της προσωρινής μνήμης DNS εξαρτάται από το λειτουργικό σας σύστημα. Ας δούμε πως μπορείτε να αδειάσετε την προσωρινή μνήμη DNS στο λειτουργικό σύστημα των Windows αλλά και στο Linux.
Table of Contents
Windows:
Αναζητήστε τον όρο cmd. Θα εμφανιστεί το μαύρο εικονίδιο της γραμμής εντολών. Αντιγράψτε – επικολλήστε την παρακάτω εντολή και πατήστε enter
ipconfig /flushdns
Αυτό ήταν.
Linux:
Θα χρειαστείτε μια διανομή Linux που χρησιμοποιεί το systemd και έναν χρήστη με δικαιώματα sudo. Αυτή η ίδια διαδικασία θα λειτουργήσει τόσο με διανομές που βασίζονται στο Debian-Ubuntu αλλά και σε διανομές που βασίζονται στο Red Hat.
Βεβαιωθείτε ότι τρέχετε το systemd. Για να το κάνετε αυτό, ανοίξτε terminal και δώστε την εντολή:
sudo systemctl is-active systemd-resolved
Θα πρέπει να δείτε το:
active
Ας καθαρίσουμε την μνήμη
sudo systemd-resolve --flush-caches
Προειδοποίηση
Εάν χρησιμοποιείτε μια διανομή που βασίζεται στο Red Hat, εκτός από το CentOS, μπορεί να διαπιστώσετε ότι η εντολή systemd-resolve δεν λειτουργεί. Σε αυτήν την περίπτωση, θα χρειαστεί να δοκιμάσετε μία από τις παρακάτω εντολές για να διαγράωετε την προσωρινή μνήμη DNS:
sudo systemctl restart nscd.service
Ή:
sudo systemctl restart named
Debian
Σε περίπτωση που η εντολή
sudo systemd-resolve --flush-caches
σας δίνει το παρακάτω μήνυμα
τρέξτε την παρακάτω εντολή:
sudo systemctl enable systemd-resolved.service
Μετά προσπαθήστε ξανά να τρέξετε την πρώτη εντολή:
systemd-resolve –flush-caches
Για να επαληθεύσετε ότι οι τιμές είναι μηδενικές τρέξτε την παρακάτω εντολή
sudo systemd-resolve --statistics