Αναζήτηση DNS και σύγκριση επιλυτών

Ζητείται ένας τύπος εγγραφής και το ερώτημα στέλνεται ταυτόχρονα σε τέσσερις δημόσιους επιλυτές. Οι απαντήσεις εμφανίζονται η μία δίπλα στην άλλη, ακολουθούμενες από πίνακα τιμή προς τιμή που δείχνει ποιος επιλυτής επέστρεψε ποια εγγραφή, ώστε μια διαφωνία να φαίνεται με μια ματιά αντί να κρύβεται πίσω από τη γνώμη ενός επιλυτή. Κάθε απάντηση διατηρεί το TTL της, και κάθε επιλυτής αναφέρει αν μπόρεσε να επαληθεύσει το όνομα με DNSSEC. Όταν οι επιλυτές διαφωνούν, η σελίδα δεν μαντεύει: παραθέτει ακριβώς τι διαφέρει και δίνει τις δύο εξηγήσεις που καλύπτουν σχεδόν κάθε πραγματική περίπτωση, και στη συνέχεια εξηγεί πώς διακρίνονται.
Έτοιμο. Δεν έχει σταλεί ακόμη κανένα ερώτημα.
Εισαγωγή ονόματος, επιλογή τύπου εγγραφής και στη συνέχεια επίλυση.
Τύποι εγγραφών. A αντιστοιχίζει ένα όνομα σε διεύθυνση IPv4, η AAAA σε διεύθυνση IPv6. CNAME δηλώνει ότι το όνομα είναι άλλο όνομα, και οι επιλυτές ακολουθούν την αλυσίδα μέχρι το τέλος. MX απαριθμεί τους διακομιστές αλληλογραφίας, καθένας με αριθμό προτεραιότητας· ο χαμηλότερος αριθμός δοκιμάζεται πρώτος. TXT περιέχει ελεύθερο κείμενο και εκεί βρίσκονται οι πολιτικές αλληλογραφίας: μια πολιτική SPF ξεκινά με v=spf1, ένα κλειδί DKIM βρίσκεται κάτω από όνομα επιλογέα που τελειώνει σε ._domainkey, και μια πολιτική DMARC βρίσκεται στο _dmarc μπροστά από τον τομέα. Η NS απαριθμεί τους διακομιστές ονομάτων που είναι υπεύθυνοι για μια ζώνη, η SOA είναι η επικεφαλίδα της ίδιας της ζώνης και περιέχει τον χρόνο αποθήκευσης της αρνητικής απάντησης. Η SRV εντοπίζει υπηρεσία σε διακομιστή και θύρα, η CAA δηλώνει ποιες αρχές πιστοποίησης επιτρέπεται να εκδίδουν πιστοποιητικά για το όνομα, η PTR είναι η αντίστροφη κατεύθυνση από διεύθυνση σε όνομα, και η TLSA καρφιτσώνει ένα πιστοποιητικό για μία υπηρεσία. Οι DS και DNSKEY μεταφέρουν τα κλειδιά που καθιστούν δυνατή την επαλήθευση DNSSEC, και οι HTTPS και SVCB περιγράφουν πώς να φτάσει κανείς σε μια υπηρεσία, συμπεριλαμβανομένων των παραμέτρων για νεότερα πρωτόκολλα.

Κωδικοί απάντησης. Το NOERROR χωρίς εγγραφές σημαίνει ότι το όνομα υπάρχει αλλά δεν έχει τίποτα από τον τύπο που ζητήθηκε. Το NXDOMAIN σημαίνει ότι το όνομα δεν υπάρχει καθόλου, και η απάντηση αυτή αποθηκεύεται για λίγο, οπότε ένα όνομα που δημιουργήθηκε πριν από ένα λεπτό μπορεί να εμφανίζεται ακόμη ως ανύπαρκτο. Το SERVFAIL σημαίνει ότι ο επιλυτής δεν μπόρεσε να ολοκληρώσει τη δουλειά, και μια χαλασμένη υπογραφή DNSSEC είναι μία από τις συχνότερες αιτίες. Το REFUSED σημαίνει ότι ο επιλυτής αρνήθηκε να απαντήσει σε εκείνο το ερώτημα.

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

DNSSEC, σε μία παράγραφο. Ένας επιλυτής που αναφέρει τη σημαία των επαληθευμένων δεδομένων δηλώνει ότι μπόρεσε να ελέγξει την απάντηση με κρυπτογραφικές υπογραφές, ξεκινώντας από το δικό κλειδί του τομέα. Η απουσία της σημαίας δεν αποδεικνύει παραποίηση: η ζώνη μπορεί απλώς να μην είναι υπογεγραμμένη, ή ο επιλυτής να μη επαληθεύει καθόλου. Η ενδιαφέρουσα περίπτωση είναι ένας επιλυτής που αναφέρει αποτυχία ενώ οι άλλοι επιστρέφουν εγγραφές, επειδή μια αποτυχημένη υπογραφή είναι ακριβώς αυτό που μοιάζει μια πλαστή απάντηση.

Απαντήσεις που φαίνονται λάθος αλλά δεν είναι. Οι μεγάλοι ιστότοποι, τα δίκτυα περιεχομένου και οτιδήποτε έχει DNS που λαμβάνει υπόψη την τοποθεσία δίνουν σκόπιμα διαφορετικές διευθύνσεις σε διαφορετικούς επιλυτές, οπότε η διαφωνία είναι φυσιολογική εκεί και δεν σημαίνει κάτι κακό. Μια διεύθυνση όπως η 0.0.0.0, η :: ή μια ιδιωτική διεύθυνση σε απάντηση A ή AAAA είναι συνήθως σκόπιμο μπλοκάρισμα από αυτόν που διαχειρίζεται τον επιλυτή, όχι αρπαγή στο δίκτυο, αλλά σημαίνει ότι ο επιλυτής άλλαξε την απάντηση. Η σελίδα δείχνει τη διαφορά και τη λογική, και δεν λέει ποτέ ποια είναι η πραγματική απάντηση.