Αργά ή γρήγορα, κάποιος θα σας ζητήσει να «αλλάξετε μια εγγραφή DNS» και ίσως ανησυχήσετε. Ωστόσο, οι εγγραφές DNS λειτουργούν σαν το βιβλίο διευθύνσεων του διαδικτύου. Μόνο λίγους τύπους θα χρειαστεί συνήθως να διαχειριστείτε. Αν καταλάβετε τον ρόλο τους, η μεταφορά μιας ιστοσελίδας ή η αποκατάσταση του email γίνεται πιο απλή. Ας εξηγήσουμε, λοιπόν, την ορολογία με πρακτικά παραδείγματα.

Domain, Καταχωρητής και Nameservers: Ποιος Διαχειρίζεται Τι

Το domain είναι το όνομα που κατοχυρώνετε για ορισμένο διάστημα, συνήθως με ετήσια ανανέωση. Ο καταχωρητής είναι η εταιρεία μέσω της οποίας το κατοχυρώνετε. Ωστόσο, δεν χρειάζεται να διαχειρίζεται και το DNS σας. Οι nameservers καθορίζουν ποιο σύστημα απαντά για το domain σας. Μπορεί να ανήκουν στον πάροχο hosting, στον καταχωρητή ή σε μια υπηρεσία όπως η Cloudflare. Επομένως, η πρώτη ερώτηση σε κάθε πρόβλημα DNS είναι η ίδια: πού δείχνουν τώρα οι nameservers;

Οι Πέντε Βασικές Εγγραφές DNS

  • A record: αντιστοιχίζει ένα όνομα σε μια διεύθυνση IPv4. Έτσι το yourdomain.gr οδηγεί στον διακομιστή σας. Η εγγραφή AAAA κάνει το ίδιο για IPv6.
  • CNAME: αντιστοιχίζει ένα όνομα σε άλλο όνομα, για παράδειγμα το www στο κύριο domain σας. Έτσι, η διεύθυνση του προορισμού μπορεί να αλλάξει χωρίς να αλλάξετε το ψευδώνυμο.
  • MX: καθορίζει πού παραδίδεται το email σας. Μια λανθασμένη αλλαγή μπορεί να σταματήσει την αλληλογραφία, ενώ η ιστοσελίδα συνεχίζει να λειτουργεί.
  • TXT: περιέχει κείμενο επαλήθευσης και τις πολιτικές SPF, DKIM και DMARC.
  • NS: προσδιορίζει τους αρμόδιους nameservers. Ο καταχωρητής ορίζει την ανάθεση στη γονική ζώνη· η δική σας ζώνη DNS περιέχει επίσης εγγραφές NS.

Προσέξτε τη διάκριση: η ιστοσελίδα και το email χρησιμοποιούν διαφορετικές εγγραφές DNS. Αν αλλάζετε μόνο μια εγγραφή διεύθυνσης της ιστοσελίδας, αφήστε τις εγγραφές email στη θέση τους και ελέγξτε τυχόν κοινές εξαρτήσεις. Αν αλλάζετε πάροχο DNS, αντιγράψτε και ελέγξτε πρώτα ολόκληρη τη ζώνη, μαζί με τις εγγραφές MX, SPF, DKIM και DMARC. Η εισαγωγή της Cloudflare στο DNS είναι ένα χρήσιμο σημείο εκκίνησης.

Τι Σημαίνει το TTL μιας Εγγραφής CNAME;

Το CNAME TTL ορίζει, σε δευτερόλεπτα, πόσο μπορεί κανονικά ένας DNS resolver να αποθηκεύει προσωρινά μια εγγραφή ψευδωνύμου πριν αναζητήσει νέα απάντηση. Για μια CNAME, TTL 3600 σημαίνει μία ώρα και 300 σημαίνει πέντε λεπτά. Αφορά το ψευδώνυμο, όχι αυτόματα τις εγγραφές A ή AAAA του προορισμού.

Για παράδειγμα, οι παρακάτω ενδεικτικές εγγραφές δίνουν διαφορετικούς χρόνους προσωρινής αποθήκευσης στο ψευδώνυμο και στον προορισμό του:

www.example.com.  300   IN CNAME app.example.com.
app.example.com.  3600  IN A     192.0.2.10

Εδώ, η CNAME μπορεί κανονικά να μείνει στην προσωρινή μνήμη για πέντε λεπτά. Αντίθετα, η διεύθυνση του προορισμού μπορεί να παραμείνει για μία ώρα. Αν αλλάξετε μόνο την IP του προορισμού, το μικρότερο TTL του ψευδωνύμου δεν συντομεύει αυτή την ώρα. Αν ελέγχετε και τις δύο εγγραφές, σχεδιάστε το TTL καθεμιάς που θα αλλάξετε. Η αντίστροφη μέτρηση κάθε resolver ξεκινά όταν αποθηκεύει την απάντηση.

Μια CNAME δείχνει σε όνομα υπολογιστή, ποτέ σε IP ή URL που περιέχει διαδρομή. Κανονικά δεν μπορεί να συνυπάρχει με άλλους τύπους εγγραφών στο ίδιο όνομα. Συνεπώς, μια συμβατική CNAME δεν μπορεί να βρίσκεται στη ρίζα της ζώνης, όπου υπάρχουν ήδη εγγραφές SOA και NS. Λειτουργίες παρόχων, όπως το CNAME flattening, χειρίζονται διαφορετικά αυτή την περίπτωση.

Οι κανόνες προσωρινής αποθήκευσης και ψευδωνύμων περιγράφονται στο RFC 1034. Ο πάροχός σας μπορεί επίσης να επιβάλλει όρια TTL. Για παράδειγμα, η Cloudflare χρησιμοποιεί αυτόματο TTL 300 δευτερολέπτων για εγγραφές με ενεργό proxy. Οι κανόνες αλλαγής TTL διαφέρουν για εγγραφές που εξυπηρετούν μόνο DNS.

TTL, Διάδοση Αλλαγών και Προσωρινή Μνήμη

Το TTL, δηλαδή time to live, ορίζει τον κανονικό χρόνο προσωρινής αποθήκευσης μιας απάντησης DNS σε δευτερόλεπτα. Πριν από μια προγραμματισμένη αλλαγή, μειώστε το TTL των εγγραφών που θα επεξεργαστείτε, εφόσον το επιτρέπει ο πάροχος. Έπειτα, περιμένετε τουλάχιστον όσο ήταν το προηγούμενο TTL πριν αλλάξετε τις τιμές τους. Η μείωσή του δεν διαγράφει απαντήσεις που έχουν ήδη αποθηκευτεί. Για παράδειγμα, προηγούμενο TTL 86400 απαιτεί προετοιμασία τουλάχιστον 24 ώρες νωρίτερα.

Μετά την αλλαγή, ελέγξτε την απάντηση του αρμόδιου nameserver και αρκετών αναδρομικών resolvers. Στη συνέχεια, δοκιμάστε την ιστοσελίδα και το email. Κρατήστε την παλιά υπηρεσία διαθέσιμη όσο επιβεβαιώνετε τη μετάβαση. Ένα μικρό TTL δεν εγγυάται ότι κάθε επισκέπτης θα χρησιμοποιεί τη νέα τιμή μέσα σε πέντε λεπτά. Οι τοπικές προσωρινές μνήμες μπορεί να διαφέρουν. Επίσης, ορισμένοι resolvers μπορούν να επιστρέψουν παλιές απαντήσεις όταν αποτυγχάνει η ανανέωση. Τέλος, επαναφέρετε ένα κατάλληλο κανονικό TTL για να μειώσετε τα επαναλαμβανόμενα ερωτήματα DNS.

Μια Ασφαλής Λίστα Πριν από τις Αλλαγές

Πρώτα, εξαγάγετε την τρέχουσα ζώνη και σημειώστε ποιες τιμές σκοπεύετε να αλλάξετε. Δεύτερον, επιβεβαιώστε ότι ο νέος διακομιστής εξυπηρετεί σωστά το πραγματικό όνομα της ιστοσελίδας, μαζί με το HTTPS. Τρίτον, μειώστε τα σχετικά TTL και περιμένετε να λήξουν οι προηγούμενες τιμές τους. Τέταρτον, αλλάξτε μόνο τις προβλεπόμενες εγγραφές και ελέγξτε το αποτέλεσμα. Τέλος, δοκιμάστε την ιστοσελίδα και την αποστολή και λήψη email. Αν παρουσιαστεί πρόβλημα, συγκρίνετε τις αποθηκευμένες εγγραφές με τον οδηγό μας για email που καταλήγουν στα ανεπιθύμητα.

Κρατήστε επίσης το domain σε λογαριασμό που ελέγχετε εσείς, με ενεργή κάρτα για την ανανέωση. Οι συνεργάτες μπορεί να αλλάξουν, αλλά το domain παραμένει δικό σας. Αν εξετάζετε και αλλαγή hosting, δείτε τη σύγκριση shared, VPS και managed hosting. Αν προτιμάτε να αναθέσετε τη διαχείριση της ζώνης, η ομάδα μας μπορεί να αναλάβει τη μεταφορά με διατήρηση της λειτουργίας του email.