Αν έχεις διαβάσει τα κεφάλαια για τους τύπους εγγραφών DNS, έχεις δει εγγραφές που δείχνουν το domain σου σε servers, δρομολογούν το email, επαληθεύουν την ιδιοκτησία και χειρίζονται την ασφάλεια. Κάθε μία από αυτές τις εγγραφές υπάρχει μέσα σε κάτι που λέγεται ζώνη DNS. Και κάθε ζώνη DNS έχει μία εγγραφή που προηγείται όλων των άλλων. Αυτή η εγγραφή είναι η εγγραφή SOA.
Η εγγραφή SOA δεν δείχνει σε server. Δεν δρομολογεί email. Δεν επαληθεύει τίποτα. Αντίθετα, κρατά τους κανόνες που λένε στους nameservers πώς να διαχειρίζονται ολόκληρη τη ζώνη. Φαντάσου την ως τον πίνακα περιεχομένων του DNS του domain σου. Δεν περιέχει τα κεφάλαια, αλλά λέει στο σύστημα πώς είναι οργανωμένα και πότε να ψάξει για νέα.
Τι σημαίνει SOA;
Το SOA σημαίνει Start of Authority (αρχή της εξουσίας). Το όνομα λέει ακριβώς τι κάνει η εγγραφή. Σηματοδοτεί το σημείο εκκίνησης της ζώνης DNS και δηλώνει ποιος nameserver είναι η κύρια αρχή για αυτή τη ζώνη.
Κάθε ζώνη DNS έχει ακριβώς μία εγγραφή SOA. Δεν μπορείς να έχεις δύο και δεν μπορείς να έχεις καμία. Είναι υποχρεωτικό μέρος του προτύπου DNS. Όταν ένας nameserver φορτώνει για πρώτη φορά πληροφορίες για το domain σου, η εγγραφή SOA είναι το πρώτο πράγμα που διαβάζει.
Τι περιέχει μια εγγραφή SOA;
Μια εγγραφή SOA περιέχει επτά πεδία. Το καθένα δίνει στους nameservers μια συγκεκριμένη πληροφορία για το πώς να χειρίζονται τη ζώνη DNS σου.
- Κύριος nameserver (MNAME) είναι το hostname του βασικού nameserver που κρατά το αρχικό αντίγραφο της ζώνης DNS σου. Όλες οι ενημερώσεις των εγγραφών DNS σου ξεκινούν από εδώ. Οι άλλοι nameservers αντιγράφουν από αυτόν
- Email διαχειριστή (RNAME) είναι η διεύθυνση email του ατόμου που είναι υπεύθυνο για τη ζώνη DNS. Γράφεται σε μια ελαφρώς παράξενη μορφή όπου το σύμβολο @ αντικαθίσταται από τελεία. Έτσι το admin.yourdomain.com σημαίνει admin@yourdomain.com
- Σειριακός αριθμός (serial) είναι ένας αριθμός έκδοσης της ζώνης DNS σου. Κάθε φορά που κάποιος αλλάζει οποιαδήποτε εγγραφή της ζώνης, ο σειριακός αριθμός ανεβαίνει. Οι δευτερεύοντες nameservers ελέγχουν αυτόν τον αριθμό για να δουν αν χρειάζεται να κατεβάσουν νέο αντίγραφο
- Διάστημα ανανέωσης (refresh) λέει στους δευτερεύοντες nameservers πόσο συχνά (σε δευτερόλεπτα) να ελέγχουν τον κύριο nameserver για ενημερώσεις. Μια τυπική τιμή είναι 3600, δηλαδή κάθε ώρα
- Διάστημα επανάληψης (retry) λέει στους δευτερεύοντες nameservers πόσο να περιμένουν πριν ξαναδοκιμάσουν, αν η τελευταία προσπάθεια επικοινωνίας με τον κύριο nameserver απέτυχε. Συνήθως είναι μικρότερο από το διάστημα ανανέωσης, συχνά γύρω στα 600 δευτερόλεπτα (10 λεπτά)
- Χρόνος λήξης (expire) λέει στους δευτερεύοντες nameservers για πόσο μπορούν να συνεχίσουν να σερβίρουν δεδομένα αν δεν μπορούν καθόλου να φτάσουν τον κύριο nameserver. Όταν περάσει αυτός ο χρόνος, ο δευτερεύων nameserver σταματά να απαντά σε ερωτήματα για το domain σου. Μια συνηθισμένη τιμή είναι 604800 δευτερόλεπτα (μία εβδομάδα)
- Ελάχιστο TTL (negative caching TTL) λέει στους άλλους servers DNS για πόσο να θυμούνται ότι μια εγγραφή δεν υπάρχει. Αν κάποιος ζητήσει υποτομέα που δεν έχει εγγραφή DNS, αυτή η τιμή ελέγχει για πόση ώρα η απάντηση "δεν υπάρχει" μένει στη cache πριν ελέγξει ξανά ο server
Δεν χρειάζεται να απομνημονεύσεις αυτά τα πεδία. Το σημαντικό είναι να καταλάβεις ότι η εγγραφή SOA δίνει στους nameservers ένα σύνολο κανόνων χρονισμού, ώστε να ξέρουν πότε να συγχρονίζονται, πότε να ξαναδοκιμάζουν και πότε να σταματούν να εμπιστεύονται παλιά δεδομένα.
Γιατί υπάρχει η εγγραφή SOA;
Οι εγγραφές DNS του domain σου δεν αποθηκεύονται σε έναν μόνο server. Αντιγράφονται σε πολλούς nameservers σε όλο τον κόσμο. Όταν αλλάζεις μια εγγραφή A ή προσθέτεις νέα εγγραφή MX, η αλλαγή ξεκινά στον κύριο nameserver. Οι δευτερεύοντες nameservers πρέπει να πάρουν την αλλαγή και να ενημερώσουν τα αντίγραφά τους.
Η εγγραφή SOA είναι αυτή που το κάνει να δουλεύει. Λέει στους δευτερεύοντες nameservers πόσο συχνά να ελέγχουν για αλλαγές, τι να κάνουν αν ο κύριος nameserver δεν είναι διαθέσιμος και πότε να σταματήσουν εντελώς να εμπιστεύονται τα δεδομένα της cache τους. Χωρίς αυτούς τους κανόνες, οι nameservers δεν θα είχαν συνεπή τρόπο να μένουν συγχρονισμένοι.
Χρειάζεται να επεξεργαστείς την εγγραφή SOA σου;
Για τη συντριπτική πλειονότητα των ιδιοκτητών επιχειρήσεων, η απάντηση είναι όχι. Ο πάροχος DNS σου δημιουργεί και διαχειρίζεται αυτόματα την εγγραφή SOA όταν στήνεις το domain σου. Δεν χρειάζεται να τη ρυθμίσεις, να την ενημερώσεις ή να τη σκέφτεσαι.
Οι μόνες περιπτώσεις όπου κάποιος μπορεί να επεξεργαστεί μια εγγραφή SOA είναι πολύ τεχνικές, όπως η μετακίνηση ζωνών DNS ανάμεσα σε παρόχους ή η λειτουργία δικών σου nameservers. Αν χρησιμοποιείς υπηρεσία DNS με διαχείριση (που είναι η τυπική ρύθμιση σχεδόν για κάθε domain), ο πάροχός σου τα χειρίζεται όλα στο παρασκήνιο.
Πότε μετράει η εγγραφή SOA στην αντιμετώπιση προβλημάτων;
Παρόλο που μάλλον δεν θα επεξεργαστείς ποτέ την εγγραφή SOA σου, το να ξέρεις ότι υπάρχει μπορεί να βοηθήσει όταν κάτι πάει στραβά. Δες μερικές περιπτώσεις όπου η εγγραφή SOA γίνεται σχετική.
- Οι αλλαγές DNS δεν εμφανίζονται. Αν ενημερώσεις μια εγγραφή και αργεί να εμφανιστεί περισσότερο από το αναμενόμενο, το διάστημα ανανέωσης της εγγραφής SOA μπορεί να εξηγεί την καθυστέρηση. Οι δευτερεύοντες nameservers δεν θα ελέγξουν για ενημερώσεις πιο γρήγορα από όσο επιτρέπει αυτό το διάστημα
- Το domain σου σταματά να επιλύεται μετά από διακοπή του παρόχου. Αν ο κύριος nameserver πέσει εκτός λειτουργίας για μεγάλο διάστημα, ο χρόνος λήξης στην εγγραφή SOA καθορίζει για πόσο οι δευτερεύοντες nameservers συνεχίζουν να σερβίρουν τις εγγραφές σου. Όταν περάσει ο χρόνος λήξης, το domain σου σβήνει μέχρι να επανέλθει ο κύριος nameserver
- Οι μεταφορές ζώνης αποτυγχάνουν. Αν μετακινείς το DNS σου σε νέο πάροχο και η μεταφορά ζώνης αποτυγχάνει συνεχώς, ο σειριακός αριθμός και οι τιμές χρονισμού της εγγραφής SOA μπορούν να αποκαλύψουν ασυμφωνίες που εμποδίζουν τους νέους nameservers να συγχρονιστούν σωστά
Για τις περισσότερες επιχειρήσεις, αυτές είναι οριακές περιπτώσεις. Το να καταλαβαίνεις όμως ότι η εγγραφή SOA ελέγχει το πώς δουλεύει το DNS στο παρασκήνιο κάνει πιο εύκολο να ρωτήσεις τις σωστές ερωτήσεις όταν κάτι δεν συμπεριφέρεται όπως αναμένεται.
Τι συμβαίνει αν η εγγραφή SOA έχει λάθος τιμές;
Οι λανθασμένες τιμές SOA δεν χαλάνε αμέσως την ιστοσελίδα σου. Προκαλούν αργά προβλήματα, δύσκολα στη διάγνωση, στο πώς απλώνονται οι ενημερώσεις DNS στο διαδίκτυο.
- Ένα διάστημα ανανέωσης που είναι πολύ μεγάλο σημαίνει ότι οι αλλαγές DNS αργούν περισσότερο να εμφανιστούν παντού
- Ένας χρόνος λήξης που είναι πολύ μικρός σημαίνει ότι οι δευτερεύοντες nameservers τα παρατούν γρήγορα αν πέσει ο κύριος, κάνοντας το domain σου πιο εύθραυστο σε διακοπές
- Ένας σειριακός αριθμός που δεν αυξάνεται σημαίνει ότι οι δευτερεύοντες nameservers νομίζουν ότι τίποτα δεν άλλαξε και δεν κατεβάζουν ποτέ την ενημέρωση
Γι' αυτό οι πάροχοι DNS χειρίζονται την εγγραφή SOA για σένα. Οι τιμές πρέπει να ισορροπούν προσεκτικά και αν είναι λάθος δημιουργούν προβλήματα που μένουν αόρατα μέχρι να πέσει κάτι.
Το WEMASY και οι εγγραφές SOA
Μπορείς να συνδέσεις το δικό σου domain με ένα πακέτο επί πληρωμή του WEMASY.
Δες τι περιλαμβάνει κάθε πακέτο στη σελίδα WEMASY pricing.
Τι ακολουθεί
Τώρα που καταλαβαίνεις πώς η εγγραφή SOA ελέγχει τον χρονισμό και τον συγχρονισμό της ζώνης DNS σου, το επόμενο κεφάλαιο καλύπτει το TTL στο DNS. Το TTL καθορίζει για πόση ώρα μένει στη cache κάθε μεμονωμένη εγγραφή DNS πριν οι servers ελέγξουν για νέο αντίγραφο και συνδέεται άμεσα με τις έννοιες χρονισμού της εγγραφής SOA. Για μια επισκόπηση όλων των τύπων εγγραφών και του πότε χρησιμοποιείς τον καθένα, δες το κεφάλαιο για τους τύπους εγγραφών DNS.
Συχνές ερωτήσεις
Μπορείς να διαγράψεις μια εγγραφή SOA από τη ζώνη DNS σου;
Όχι. Η εγγραφή SOA είναι υποχρεωτικό μέρος κάθε ζώνης DNS. Το πρότυπο DNS επιβάλλει ότι κάθε ζώνη έχει ακριβώς μία εγγραφή SOA. Αν μπορούσες να την αφαιρέσεις, οι nameservers δεν θα ήξεραν πώς να διαχειριστούν τη ζώνη και οι δευτερεύοντες nameservers δεν θα είχαν κανόνες συγχρονισμού. Οι περισσότεροι πάροχοι DNS δεν σου δίνουν καν την επιλογή να τη διαγράψεις. Ο Δημιουργός ιστοσελίδων του WEMASY σου επιτρέπει να φτιάξεις τις δικές σου σελίδες στην ιστοσελίδα σου.
Επηρεάζει η εγγραφή SOA την ταχύτητα φόρτωσης της ιστοσελίδας σου;
Όχι άμεσα. Η εγγραφή SOA ελέγχει πώς οι nameservers συγχρονίζουν δεδομένα ζώνης μεταξύ τους. Δεν επηρεάζει την ταχύτητα των αναζητήσεων DNS που κάνουν οι επισκέπτες όταν γράφουν το domain σου στον browser. Η ταχύτητα της ιστοσελίδας εξαρτάται από τη φιλοξενία σου, τον χρόνο απόκρισης του server και το πώς είναι φτιαγμένες οι σελίδες σου. Η εγγραφή SOA δουλεύει στο παρασκήνιο ανάμεσα στους nameservers, όχι ανάμεσα στον επισκέπτη και στην ιστοσελίδα σου.
Πώς βρίσκεις την εγγραφή SOA του domain σου;
Μπορείς να την ψάξεις με οποιοδήποτε διαδικτυακό εργαλείο αναζήτησης DNS. Γράψε το όνομα του domain σου, διάλεξε SOA ως τύπο εγγραφής και το εργαλείο θα σου δείξει τον κύριο nameserver, το email διαχειριστή, τον σειριακό αριθμό και όλες τις τιμές χρονισμού. Μπορείς επίσης να χρησιμοποιήσεις τη γραμμή εντολών γράφοντας "nslookup -type=soa yourdomain.com" στα περισσότερα λειτουργικά συστήματα.
Είναι ορατό στο κοινό το email διαχειριστή στην εγγραφή SOA;
Ναι. Το πεδίο RNAME της εγγραφής SOA μπορεί να ερωτηθεί δημόσια, όπως κάθε άλλη εγγραφή DNS. Όποιος κάνει αναζήτηση SOA στο domain σου μπορεί να δει τη διεύθυνση email του διαχειριστή που αναγράφεται. Οι περισσότεροι πάροχοι DNS όμως την ορίζουν σε μια γενική διεύθυνση όπως dns-admin.yourdomain.com αντί για προσωπικό email, οπότε σπάνια εκθέτει ευαίσθητες πληροφορίες.
Ποια είναι η διαφορά ανάμεσα στο ελάχιστο TTL της εγγραφής SOA και στο κανονικό TTL των άλλων εγγραφών;
Το TTL που βλέπεις σε μεμονωμένες εγγραφές (όπως οι εγγραφές A ή MX) ελέγχει για πόση ώρα μένουν στη cache αυτές οι συγκεκριμένες εγγραφές. Το ελάχιστο TTL στην εγγραφή SOA είναι διαφορετικό. Ελέγχει συγκεκριμένα το negative caching, δηλαδή για πόση ώρα οι servers DNS θυμούνται ότι μια εγγραφή δεν υπάρχει. Αν κάποιος ρωτήσει έναν υποτομέα που δεν έχει εγγραφή DNS, το ελάχιστο TTL της SOA λέει στους resolvers για πόση ώρα να κρατήσουν στη cache την απάντηση "δεν βρέθηκε εγγραφή" πριν ελέγξουν ξανά.