Επιστροφή στο blog

Επισκόπηση των ορολογιών, των στοιχείων και των εννοιών του DNS

Επισκόπηση των ορολογιών, των στοιχείων και των εννοιών του DNS

DNS (Domain Name System) είναι ένα από τα κρίσιμα στοιχεία που κινούν το διαδίκτυο. Η σωστή κατανόηση του τρόπου λειτουργίας του DNS μπορεί να βοηθήσει στη διάγνωση προβλημάτων με τη διαμόρφωση του ιστότοπου και να διευρύνει την κατανόησή σας για το τι συμβαίνει πίσω από τα παρασκήνια.

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

Ας ξεκινήσουμε!

Ορολογίες Τομέα

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

  • Σύστημα Ονομάτων Τομέα

Το σύστημα ονομάτων τομέα (DNS, για συντομία) είναι ένα σύστημα δικτύωσης που μεταφράζει τα φιλικά προς τον χρήστη ονόματα τομέα σε μοναδικές διευθύνσεις IP.

  • Όνομα Τομέα

Ένα όνομα τομέα αναφέρεται στο φιλικό προς τον χρήστη όνομα που χρησιμοποιείται για τη σύνδεση με έναν πόρο του διαδικτύου. Για παράδειγμα, το “cloudsigma.com” είναι ένα όνομα τομέα. Κάποιοι μπορεί να ισχυριστούν ότι μόνο το τμήμα “cloudsigma” είναι το όνομα τομέα, αλλά γενικά, αναφέρεται στο σύνολο.

Το URL “cloudsigma.com” σχετίζεται με τους διακομιστές που ανήκουν στην CloudSigma. Κατά την εισαγωγή του URL στο πρόγραμμα περιήγησης ιστού, επικοινωνεί με το DNS για να συνδεθεί στη διεύθυνση IP του διακομιστή-στόχου.

  • Διεύθυνση IP

Μια διεύθυνση IP λειτουργεί ως διεύθυνση δικτύου για μια συσκευή συνδεδεμένη στο δίκτυο. Κάθε διεύθυνση IP πρέπει να είναι μοναδική εντός του δικτύου. Στο πλαίσιο των ιστότοπων, το δίκτυο είναι, τις περισσότερες φορές, ολόκληρο το διαδίκτυο.

Υπάρχουν δύο τύποι διευθύνσεων IP:

    • IPv4: Αυτή είναι η πιο κοινή μορφή διεύθυνσης IP. Γράφεται ως ένα σύνολο τεσσάρων αριθμών, με κάθε σύνολο να έχει έως και 3 ψηφία. Κάθε σύνολο διαχωρίζεται από μια τελεία. Το εύρος του IPv4 είναι από 0.0.0.0 έως 255.255.255.255.
    • IPv6: Είναι ένα πιο σύγχρονο πρότυπο που αναπτύχθηκε για την επίλυση του προβλήματος της εξάντλησης των διευθύνσεων IPv4. Το IPv4 υποστηρίζει έως και 232 μοναδικές διευθύνσεις, ενώ το IPv6 υποστηρίζει έως και 2128 διευθύνσεις. Κάθε διεύθυνση IPv6 γράφεται σε δεκαεξαδικά ψηφία. Μπορεί να περιέχει έως και 32 ψηφία, χωρισμένα σε 8 ενότητες (4 ψηφία κάθε ενότητα). Κάθε ενότητα διαχωρίζεται με άνω-κάτω τελεία (:).

Τομέας Ανώτατου Επιπέδου

Ένας τομέας ανώτατου επιπέδου (TLD για συντομία) είναι το πιο γενικό μέρος του τομέα. Αναφέρεται στο πιο δεξί μέρος (διαχωρισμένο με τελεία). Μερικοί από τους κοινούς τομείς ανώτατου επιπέδου περιλαμβάνουν:

  • “com”

  • “net”

  • “org”

  • “edu”

  • “io”

  • “gov”

Όσον αφορά τα ονόματα τομέα, αυτοί οι τομείς βρίσκονται στην κορυφή της ιεραρχίας. Ο ICANN (Internet Corporation for Assigned Names and Numbers) μπορεί να εκδώσει άδεια για τον έλεγχο ορισμένων μερών επί των τομέων ανώτατου επιπέδου. Με την άδεια αυτή, αυτά τα μέρη μπορούν να διανέμουν ονόματα τομέα υπό το TLD (συνήθως μέσω ενός καταχωρητή ονομάτων τομέα).

  • Hosts

Στον τομέα, ο ιδιοκτήτης μπορεί να καθορίσει μεμονωμένους hosts, αναφερόμενος σε ξεχωριστά μηχανήματα/υπηρεσίες προσβάσιμες μέσω ενός τομέα. Για παράδειγμα, είναι κοινή πρακτική να γίνονται οι διακομιστές ιστού προσβάσιμοι μέσω του γυμνού τομέα ( example.com) και τον ορισμό “host” “www  ( www.example.com).

Είναι δυνατό να υπάρχουν πρόσθετοι hosts υπό τον γενικό τομέα, για παράδειγμα, πρόσβαση API μέσω του host “api” ( api.example.com), πρόσβαση FTP μέσω του host “ftp” ή “files” ( ftp.example.com ή files.example.com).

Σημειώστε ότι τα ονόματα τομέα επιτρέπεται να είναι αυθαίρετα, αρκεί να είναι μοναδικά εντός του τομέα.

  • Υποτομέας

Ένας υποτομέας είναι ένα θέμα που σχετίζεται με τους hosts. Το DNS λειτουργεί ιεραρχικά. Ένα TLD μπορεί να έχει πολλούς τομείς κάτω από αυτό. Για παράδειγμα, “ example.com”, “ cloudsigma.com”, κ.λπ. βρίσκονται όλα υπό το TLD “com”. Από αυτή την άποψη, ένας υποτομέας είναι μια αναφορά σε οποιονδήποτε τομέα αποτελεί μέρος του τομέα-στόχου. Έτσι, μπορούμε να πούμε ότι το “example.com” είναι ένας υποτομέας του “com”. Γενικά, το τμήμα “example” αναφέρεται ως SLD (second-level domain).

Παρομοίως, ένας τομέας μπορεί να ελέγχει όλους τους “υποτομείς” που βρίσκονται κάτω από αυτόν. Αυτό είναι συνήθως αυτό στο οποίο αναφέρεται ο όρος “υποτομέας”. Για παράδειγμα, “ history.example.com” είναι ένας υποτομέας του “ example.com”.

Η βασική διαφορά μεταξύ ενός hostname και ενός υποτομέα είναι ότι ένα host ορίζει έναν υπολογιστή/πόρο, ενώ ένας υποτομέας επεκτείνει τον γονικό τομέα. Όποτε μιλάμε για υποτομείς ή hosts, μπορείτε να το επιβεβαιώσετε κοιτάζοντας το αριστερότερο τμήμα ενός τομέα, καθώς είναι το πιο συγκεκριμένο. Έτσι λειτουργεί το DNS: από το πιο συγκεκριμένο (αριστερή πλευρά) στο λιγότερο συγκεκριμένο (δεξιά πλευρά).

  • Fully Qualified Domain Name

Ένα πλήρως καθορισμένο όνομα τομέα (FQDN, για συντομία) αναφέρεται σε ένα απόλυτο όνομα τομέα. Στο σύστημα DNS, οι τομείς μπορούν να δοθούν σε σχέση μεταξύ τους. Αυτό μπορεί να οδηγήσει σε κάποια ασάφεια. Ένα FQDN, ωστόσο, είναι ένα απόλυτο όνομα που αναφέρεται στην απόλυτη ρίζα του συστήματος ονομάτων τομέα.

Αυτό σημαίνει ότι το FQDN καθορίζει κάθε γονικό τομέα συμπεριλαμβανομένου του TLD. Ένα κατάλληλο παράδειγμα θα ήταν το “ mail.google.com”. Σε συγκεκριμένες περιπτώσεις, το FQDN μπορεί να μην τελειώνει με τελεία, αλλά πρέπει να έχει μια τελική τελεία (απαιτείται από τα πρότυπα της ICANN).

  • Nameserver

Ένας nameserver είναι ένας αποκλειστικός υπολογιστής για τη μετάφραση ονομάτων τομέα σε διευθύνσεις IP. Οι nameservers επωμίζονται το μεγαλύτερο μέρος του φόρτου στο σύστημα DNS. Επειδή ο συνολικός αριθμός αιτημάτων μετάφρασης τομέα είναι πολύ μεγάλος για να τον διαχειριστεί ένας μόνο διακομιστής, τα αιτήματα συχνά ανακατευθύνονται σε άλλους nameservers για να εξισορροπηθεί η πίεση.

Ένας name server μπορεί να είναι “authoritative”, που σημαίνει ότι δίνει απαντήσεις μόνο σε ερωτήματα σχετικά με τομείς υπό τον έλεγχό του. Τέτοιοι διακομιστές μπορούν να μεταβιβάσουν το αίτημα σε άλλους nameservers ή να παρέχουν ένα αποθηκευμένο αντίγραφο των δεδομένων άλλων nameservers.

  • Zone File

Ένα αρχείο ζώνης είναι ένα αρχείο κειμένου που περιέχει τις αντιστοιχίσεις μεταξύ ονομάτων τομέα και διευθύνσεων IP. Χρησιμεύει ως η βάση δεδομένων του συστήματος DNS. Αυτός είναι ο κατάλογος που χρησιμοποιεί το DNS για να βρει με ποια διεύθυνση IP πρέπει να επικοινωνήσει κατά την ολοκλήρωση ενός αιτήματος χρήστη για ένα συγκεκριμένο όνομα τομέα.

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

  • Records

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

DNS in Action

Μέχρι στιγμής, έχουμε εξοικειωθεί με ορισμένες κοινές ορολογίες που σχετίζονται με το DNS. Ωστόσο, πώς λειτουργεί πραγματικά το σύστημα; Το σύστημα μπορεί να φαίνεται πολύ απλό σε μια ματιά υψηλού επιπέδου. Παρόλα αυτά, η εμβάθυνση στις λεπτομέρειες θα αποκαλύψει την πραγματική του πολυπλοκότητα. Συνολικά, το σύστημα DNS είναι σημαντικό για την ευρεία υιοθέτηση του διαδικτύου.

  • Root Servers

Το DNS, στον πυρήνα του, λειτουργεί ιεραρχικά. Στην κορυφή του συστήματος βρίσκονται οι “root servers”. Αυτοί οι διακομιστές βρίσκονται υπό τον έλεγχο διαφόρων οργανισμών. Η εξουσιοδότηση αυτών των διακομιστών εκχωρείται από την ICANN (Internet Corporation for Assigned Names and Numbers).

Αυτή τη στιγμή, λειτουργούν περίπου 13 root servers. Λόγω του φόρτου, ωστόσο, καθένας από αυτούς τους διακομιστές διαθέτει είδωλα (mirrors). Είναι σημαντικό να σημειωθεί ότι όλοι οι mirror διακομιστές μοιράζονται την ίδια διεύθυνση IP με τον root server. Κάθε φορά που υποβάλλεται ένα αίτημα στον root server, το αίτημα ανακατευθύνεται στο πλησιέστερο είδωλο (mirror) αυτού του διακομιστή.

Ποιες είναι οι εργασίες των root servers; Παρέχουν πληροφορίες σχετικά με τομείς ανώτατου επιπέδου. Κάθε φορά που ένας name server χαμηλού επιπέδου αποτυγχάνει να επιλύσει ένα αίτημα, αυτό ανακατευθύνεται στον root server του τομέα.

Ωστόσο, ο root server δεν γνωρίζει στην πραγματικότητα την τοποθεσία του domain. Απλώς ανακατευθύνει το αίτημα που θα χειριστεί το συγκεκριμένο top-level domain που ζητήθηκε. Για παράδειγμα, εάν υποβληθεί ένα αίτημα για “ blog.cloudsigma.com”, ο root server δεν θα το έχει στα αρχεία του. Θα αναζητήσει στα αρχεία ζώνης του αλλά δεν θα υπάρχει καμία εγγραφή για αυτό. Αντίθετα, θα αναγνωρίσει το TLD “com” και θα ανακατευθύνει την οντότητα που υποβάλλει το αίτημα στον nameserver που χειρίζεται τις διευθύνσεις “com”.

  • Διακομιστές TLD

Συνεχίζοντας από το προηγούμενο παράδειγμά μας, η οντότητα που υποβάλλει το αίτημα θα στείλει τώρα το αίτημα στη διεύθυνση IP (που παρέχεται από τον root server). Στην περίπτωση του “ blog.cloudsigma.com”, ο name server του “com” θα αναζητήσει τις εγγραφές του στα αρχεία ζώνης του.

Δεν θα υπάρχει εγγραφή που να αντιστοιχεί στο αίτημα. Ωστόσο, θα βρει μια εγγραφή που θα αναφέρει τη διεύθυνση IP του nameserver που είναι υπεύθυνος για το “ cloudsigma.com”.

  • Nameserver Επιπέδου Domain

Τώρα, η οντότητα που υποβάλλει το αίτημα έχει τη διεύθυνση IP του nameserver που φιλοξενεί στην πραγματικότητα τις πληροφορίες για το “ blog.cloudsigma.com”. Τώρα θα στείλει ένα νέο αίτημα στον διακομιστή, ζητώντας την ανάλυση του “www.cloudsigma.com”.

Όπως και πριν, ο nameserver θα ελέγξει τα αρχεία ζώνης του και θα βρει αυτό που σχετίζεται με το “ cloudsigma.com”. Μέσα σε αυτό το αρχείο θα υπάρχει μια καταχώριση για τον κεντρικό υπολογιστή “www”. Αυτή η εγγραφή περιγράφει πού βρίσκεται ο κεντρικός υπολογιστής. Η τελική απάντηση στη συνέχεια μεταδίδεται στην οντότητα που υπέβαλε το αίτημα.

  • Resolving Nameserver

Στο παράδειγμα, αναφέραμε μια οντότητα που υποβάλλει αίτημα. Τι είναι αυτή; Στις περισσότερες περιπτώσεις, ο αιτών θα είναι ένας “resolving nameserver”. Είναι ένας διακομιστής που έχει ρυθμιστεί να θέτει ερωτήματα σε άλλους διακομιστές. Λειτουργεί ως ενδιάμεσος διακομιστής για τους χρήστες. Αποθηκεύει προσωρινά τα αποτελέσματα για να βελτιώσει την ταχύτητα.

Κάθε χρήστης έχει συνήθως μερικούς resolving name servers ρυθμισμένους στο σύστημά του. Γενικά, οι resolving nameservers προσφέρονται από τον ISP ή άλλους οργανισμούς. Για παράδειγμα, Google προσφέρει δημόσιους resolving DNS servers για την υποβολή ερωτημάτων. Μπορείτε να το ρυθμίσετε χειροκίνητα στο σύστημά σας.

Κατά την εισαγωγή μιας διεύθυνσης URL στο πρόγραμμα περιήγησης ιστού, αυτό αναζητά την τοποθεσία του πόρου. Αρχικά, η αναζήτηση πραγματοποιείται τοπικά. Αυτό περιλαμβάνει το αρχείο “hosts” (και ορισμένες άλλες τοποθεσίες). Εάν δεν βρεθεί, τότε το αίτημα αποστέλλεται στον resolving nameserver. Μετά τη λήψη του αιτήματος, ο resolving name server αναζητά την απάντηση στην προσωρινή μνήμη του. Εάν δεν βρεθεί, τότε ακολουθεί τα βήματα που αναφέρθηκαν προηγουμένως.

Οι resolving name servers απλοποιούν τη διαδικασία αιτημάτων για τον τελικό χρήστη. Ο πελάτης πρέπει μόνο να ζητήσει από τους resolving name servers την τοποθεσία ενός πόρου. Ο nameserver θα ερευνήσει και θα επιστρέψει την τελική απάντηση.

  • Αρχεία Ζώνης

Έχουμε ήδη συζητήσει τις έννοιες των “αρχείων ζώνης” και των “εγγραφών”. Λοιπόν, πώς λειτουργούν;

Τα αρχεία ζώνης λειτουργούν ως βάση δεδομένων για τους nameservers, αποθηκεύοντας τις πληροφορίες για τα domains που γνωρίζουν. Όλα τα domains που γνωρίζει ένας nameserver θα αποθηκευτούν στο αρχείο ζώνης του. Ωστόσο, τα περισσότερα αιτήματα που φτάνουν σε έναν nameserver δεν επιλύονται από το αρχείο ζώνης. Εάν η διαμόρφωση του διακομιστή είναι τέτοια ώστε να χειρίζεται αναδρομικά ερωτήματα (resolving nameservers, για παράδειγμα), τότε θα επιστρέψει την απάντηση. Διαφορετικά, θα ανακατευθύνει τον αιτούντα σε διαφορετικό μέρος για να ψάξει στη συνέχεια.

Όσο περισσότερα αρχεία ζώνης φιλοξενεί ένας nameserver, τόσο πιο έγκυρες θα είναι οι απαντήσεις του. Τα αρχεία ζώνης περιγράφουν μια “ζώνη” DNS (ένα υποσύνολο ολόκληρου του συστήματος ονοματοδοσίας DNS). Γενικά, ένα αρχείο ζώνης περιέχει τα δεδομένα διαμόρφωσης ενός μόνο domain. Μπορεί να έχει πολυάριθμες εγγραφές που ορίζουν την τοποθεσία των πόρων του εν λόγω domain.

Η $ORIGIN παράμετρος μιας ζώνης είναι ίση με το υψηλότερο επίπεδο εξουσιοδότησης της ζώνης. Για παράδειγμα, ένα αρχείο ζώνης για το “ cloudsigma.com” θα έχει ως $ORIGIN το “ cloudsigma.com”. Η τιμή της παραμέτρου μπορεί να αποθηκευτεί στην αρχή του αρχείου ζώνης ή στις ρυθμίσεις του διακομιστή DNS. Σε κάθε περίπτωση, η παράμετρος περιγράφει για ποια ζώνη είναι αυθεντικό το αρχείο.

Η $TTL παράμετρος ορίζει τις πληροφορίες “χρόνου ζωής” του αποτελέσματος που παρέχει. Μπορεί να περιγραφεί ως ένας χρονοδιακόπτης που μπορεί να χρησιμοποιήσει ένας διακομιστής προσωρινής αποθήκευσης για να παρακολουθεί την εγκυρότητα των αποθηκευμένων απαντήσεων. Εάν η τιμή TTL λήξει, η απάντηση δεν είναι πλέον έγκυρη και απορρίπτεται.

  • Τύποι Εγγραφών

Τα αρχεία ζώνης αποτελούνται από πολυάριθμες εγγραφές. Υπάρχουν διάφοροι τύποι εγγραφών. Στη συνέχεια, θα εξετάσουμε μερικούς από τους πιο κοινούς (και υποχρεωτικούς) τύπους εγγραφών:

Εγγραφές SOA

Η εγγραφή Start of Authority (SOA, εν συντομία) είναι υποχρεωτική σε όλα τα αρχεία ζώνης. Πρέπει να είναι η πρώτη πραγματική εγγραφή στο αρχείο. Ωστόσο, καταχωρήσεις όπως $ORIGIN ή $TTL επιτρέπεται να εμφανίζονται εκ των προτέρων.

Η εγγραφή SOA είναι ένας από τους πιο περίπλοκους τύπους εγγραφών. Η δομή της μοιάζει κάπως έτσι:

Ας το αναλύσουμε:

    • example.com: Αυτό το τμήμα ορίζει τη ρίζα της ζώνης. Σε αυτό το παράδειγμα, το αρχείο ζώνης είναι για το domain “ example.com”. Μερικές φορές, η τιμή μπορεί να αντικατασταθεί με @ (ένα διακριτικό θέσης για την αντικατάσταση της τιμής του $ORIGIN).
    • IN SOA: Ο όρος “IN” σημαίνει “internet”. Θα τον βρείτε σε πολλές εγγραφές. Ο όρος “SOA” υποδεικνύει ότι πρόκειται για εγγραφή SOA.

    • ns1.example.com: Αυτή η τιμή περιέχει τον κύριο nameserver για το domain “ example.com”. Οι nameservers μπορεί να είναι είτε κύριοι (primary) είτε δευτερεύοντες (secondary). Εάν έχει ρυθμιστεί με δυναμικό DNS (dynamic DNS), τότε πρέπει να υπάρχει ένας “κύριος” διακομιστής. Εάν δεν έχει ρυθμιστεί δυναμικό DNS, τότε θα είναι ένας από τους κύριους nameservers.

    • admin.example.com: Η διεύθυνση email του διαχειριστή της ζώνης μπαίνει εδώ. Σημειώστε ότι το @ αντικαθίσταται με . εδώ. Εάν η αρχική διεύθυνση email περιέχει τελεία, τότε αυτή αντικαθίσταται με \. Για παράδειγμα, το “ my.domain@example.com” θα γινόταν “ my\domain.example.com”.

    • 12083: Είναι ο σειριακός αριθμός (serial number) του αρχείου ζώνης. Κάθε φορά που το αρχείο ζώνης τροποποιείται, ο αριθμός πρέπει να ενημερώνεται ώστε το αρχείο να διαδοθεί σωστά. Οι δευτερεύοντες διακομιστές χρησιμοποιούν αυτόν τον σειριακό αριθμό για να παρακολουθούν εάν τα δικά τους αρχεία ζώνης είναι ενημερωμένα.

    • 3h: Αντιπροσωπεύει το διάστημα ανανέωσης (refresh interval) για τη ζώνη. Οι δευτερεύοντες διακομιστές θα περιμένουν αυτό το χρονικό διάστημα προτού ελέγξουν για ενημερώσεις του αρχείου ζώνης.

    • 30m: Αυτή η τιμή αντιπροσωπεύει το διάστημα επαναπροσπάθειας (retry interval) της ζώνης. Εάν ένας δευτερεύων διακομιστής αποτύχει να συνδεθεί με τον κύριο διακομιστή μόλις παρέλθει η περίοδος ανανέωσης, θα περιμένει αυτό το χρονικό διάστημα προτού ερωτήσει ξανά τον κύριο.

    • 3w: Αυτή η τιμή αντιπροσωπεύει την περίοδο λήξης (expiry period). Εάν ένας δευτερεύων διακομιστής αποτύχει να συνδεθεί με τον κύριο διακομιστή για αυτό το χρονικό διάστημα, θα σταματήσει να επιστρέφει απαντήσεις ως “αυθεντικές”.

    • 1h: Αυτή η τιμή αντιπροσωπεύει το χρονικό διάστημα που ο nameserver θα αποθηκεύσει προσωρινά ένα σφάλμα ονόματος (name error) εάν αυτό δεν βρέθηκε στο αρχείο ζώνης του.

Εγγραφές A και AAAA

Αυτές οι εγγραφές δημιουργούν μια αντιστοίχιση μεταξύ ενός κεντρικού υπολογιστή (host) και μιας διεύθυνσης IP. Εδώ, η εγγραφή “A” υποδηλώνει την αντιστοίχιση IPv4 στον κεντρικό υπολογιστή και η AAAA την αντιστοίχιση IPv6.

Αυτή είναι η βασική δομή των εγγραφών A και AAAA:

Στο παράδειγμα της εγγραφής SOA, ονομάσαμε τον nameserver “ ns1.exampel.com”. Ο nameserver ανήκει στο domain “ example.com”. Δείτε πώς θα έμοιαζε η εγγραφή A του:

Παρατηρήστε ότι δεν χρειάστηκε να παρέχουμε το πλήρες όνομα. Μόνο με το hostname (χωρίς το FQDN), ο διακομιστής DNS μπορεί να συμπληρώσει το υπόλοιπο με την τιμή από $ORIGIN. Ωστόσο, μπορούμε ακόμα να χρησιμοποιήσουμε το FQDN:

Δείτε πώς μπορείτε να ορίσετε τον διακομιστή ιστού ως “www”:

Θα πρέπει επίσης να συμπεριλάβουμε την αντιστοίχιση στο βασικό domain. Η καταχώριση θα έμοιαζε κάπως έτσι:

Εναλλακτικά, μπορούμε να χρησιμοποιήσουμε το @ σύμβολο για να δηλώσουμε το βασικό domain (αντί για το πλήρες όνομά του):

Είναι καλή πρακτική να συμπεριλάβετε μια καταχώριση wild card που επιτρέπει την επιλογή επίλυσης οποιουδήποτε στοιχείου κάτω από αυτό το domain που δεν ορίστηκε ρητά:

Η ίδια δομή ισχύει και για τις εγγραφές AAAA. Η μόνη διαφορά είναι οι διευθύνσεις IPv6.

Εγγραφές CNAME

Οι εγγραφές CNAME λειτουργούν ως ψευδώνυμο για το κανονικό όνομα του διακομιστή (που ορίζεται από μια εγγραφή A ή AAAA). Ρίξτε μια ματιά στο ακόλουθο παράδειγμα:

Εδώ, χρησιμοποιήσαμε το “server1” ως ψευδώνυμο για τον ορισμό του ονόματος “www”. Σημειώστε ότι τέτοιες συντομεύσεις έχουν κόστος στην απόδοση, καθώς ο διακομιστής πρέπει να εκτελέσει πρόσθετα ερωτήματα για να λάβει την τελική απάντηση. Ανάλογα με τον αριθμό των επιπέδων ψευδωνύμων, αυτό μπορεί εύκολα να προκαλέσει μεγάλο κόστος στην απόδοση. Ωστόσο, υπάρχει μια συγκεκριμένη περίπτωση που επωφελείται από τη χρήση ψευδωνύμων CNAME, για παράδειγμα, η παροχή ενός πόρου εκτός της τρέχουσας ζώνης.

Εγγραφές MX

Οι εγγραφές MX ορίζουν τους διακομιστές αλληλογραφίας για το domain. Βοηθούν το email να φτάσει σωστά στον διακομιστή. Σε αντίθεση με άλλες εγγραφές, οι εγγραφές MX δεν αντιστοιχούν έναν κεντρικό υπολογιστή σε κάτι, καθώς εφαρμόζονται σε ολόκληρη τη ζώνη. Αυτός είναι ο λόγος για τον οποίο οι εγγραφές MX μοιάζουν κάπως έτσι:

Παρατηρήστε ότι δεν υπάρχει hostname στην αρχή της καταχώρισης. Θα παρατηρήσετε επίσης ότι υπάρχει μια πρόσθετη τιμή στη γραμμή. Είναι ο αριθμός προτίμησης που βοηθά στην απόφαση για το σε ποιον διακομιστή θα σταλεί η αλληλογραφία (εάν έχουν οριστεί πολλοί διακομιστές αλληλογραφίας). Όσο χαμηλότερος είναι ο αριθμός, τόσο υψηλότερη είναι η προτεραιότητα.

Μια εγγραφή MX θα πρέπει να δείχνει σε έναν κεντρικό υπολογιστή που ορίζεται από εγγραφή A ή AAAA (όχι από CNAME). Έχοντας αυτό κατά νου, εάν έχουν ρυθμιστεί δύο διακομιστές αλληλογραφίας, τότε οι εγγραφές θα έμοιαζαν κάπως έτσι:

Σε αυτό το παράδειγμα, κρίνοντας από τον αριθμό προτίμησης, ο “mail1” είναι ο προτιμώμενος διακομιστής έναντι του “mail2”. Μπορούμε να συντομεύσουμε περαιτέρω τον κώδικα παραλείποντας το πλήρες όνομα domain:

Εγγραφές NS

Αυτές οι εγγραφές ορίζουν τους διακομιστές ονομάτων για τη συγκεκριμένη ζώνη. Τώρα, το προφανές ερώτημα είναι, εάν το αρχείο ζώνης βρίσκεται εντός του nameserver, γιατί απαιτεί αναφορά στον εαυτό του; Μια απάντηση στο ερώτημα είναι οι πολλαπλοί μηχανισμοί προσωρινής αποθήκευσης του συστήματος DNS. Το αρχείο ζώνης μπορεί στην πραγματικότητα να είναι ένα αποθηκευμένο αντίγραφο σε άλλους διακομιστές.

Παρόμοια με τις εγγραφές MX, οι εγγραφές NS εφαρμόζονται σε ολόκληρη τη ζώνη. Επομένως, δεν έχουν κάποιον συγκεκριμένο κεντρικό υπολογιστή από προεπιλογή. Οι καταχωρίσεις εγγραφών NS θα μοιάζουν κάπως έτσι:

Συνιστάται να έχετε ορίσει δύο nameservers σε περίπτωση που ένας διακομιστής αποτύχει να λειτουργήσει σωστά. Επιπλέον, οι περισσότεροι διακομιστές DNS θα απορρίψουν ένα αρχείο ζώνης εάν περιέχει μόνο έναν nameserver.

Θα πρέπει επίσης να συμπεριλάβετε την αντιστοίχιση των κεντρικών υπολογιστών με εγγραφές A ή AAAA:

Εγγραφές PTR

Οι εγγραφές PTR είναι το αντίστροφο μιας κλασικής εγγραφής A ή AAAA. Αυτές οι εγγραφές χρησιμοποιούνται για τον ορισμό ενός ονόματος που σχετίζεται με μια διεύθυνση IP. Αυτές οι εγγραφές έχουν μια μοναδική ιδιότητα καθώς ξεκινούν από τη .arpa ρίζα και αντιπροσωπεύουν τον κάτοχο της διεύθυνσης IP. Είναι τα RIR (Regional Internet Registries) που διανέμουν διευθύνσεις IP σε οργανισμούς και παρόχους υπηρεσιών. Τα RIR περιλαμβάνουν τα APNIC, AFRINIC, LACNIC, RIPE NCC και ARIN.

Για παράδειγμα, μια εγγραφή PTR για 111.222.333.444 θα έμοιαζε κάπως έτσι:

Στο επόμενο παράδειγμα εγγραφής PTR, ρίξτε μια ματιά στον IPv6 DNS διακομιστή της Google 2001:4860:4860::8888:

Μπορούμε να χρησιμοποιήσουμε το εργαλείο dig με τη σημαία -x για να αναζητήσουμε το αντίστροφο όνομα DNS μιας διεύθυνσης IP. Για παράδειγμα, δείτε την αντίστροφη διεύθυνση DNS IP του 8.8.4.4:

dig output

Οι διακομιστές του Διαδικτύου χρησιμοποιούν εγγραφές PTR για να παρακολουθούν τα ονόματα τομέα στις καταχωρίσεις καταγραφής, να λαμβάνουν τεκμηριωμένες αποφάσεις σχετικά με τη διαχείριση της ανεπιθύμητης αλληλογραφίας και να εμφανίζουν ευανάγνωστες πληροφορίες για άλλες συσκευές.

Οι ευρέως χρησιμοποιούμενοι διακομιστές ηλεκτρονικού ταχυδρομείου θα αναζητήσουν την εγγραφή PTR της διεύθυνσης IP από την οποία στάλθηκε το email. Εάν η εγγραφή PTR είναι κενή, τότε υπάρχει μεγάλη πιθανότητα το email να είναι ανεπιθύμητο (επομένως, να απορριφθεί). Σημειώστε ότι η αντιστοίχιση μεταξύ του FQDN και του ονόματος τομέα της εγγραφής PTR δεν είναι το ζητούμενο. Ο σημαντικός παράγοντας είναι εάν μια έγκυρη εγγραφή PTR σχετίζεται με μια αντίστοιχη εγγραφή forward A.

Γενικά, οι δρομολογητές δικτύου στο διαδίκτυο έχουν εγγραφές PTR που αντιστοιχούν στη φυσική τους τοποθεσία. Για παράδειγμα, τα “NYC” ή “CHI” είναι έγκυρες αναφορές για δρομολογητές που βρίσκονται στη Νέα Υόρκη και το Σικάγο. Αυτή η τεχνική είναι χρήσιμη κατά την εκτέλεση ενός traceroute ή MTR και την εξέταση της διαδρομής που ακολουθούν τα πακέτα.

Εγγραφές CAA

Αυτές οι εγγραφές καθορίζουν τις Αρχές Πιστοποίησης (CAs) που μπορούν να εκδώσουν πιστοποιητικά SSL/TLS για τον τομέα σας. Από τις 8 Σεπτεμβρίου 2017, όλες οι Αρχές Πιστοποίησης υποχρεούνται να ελέγχουν τις εγγραφές CAA πριν από την έκδοση ενός πιστοποιητικού. Εάν δεν υπάρχει εγγραφή CAA, τότε οποιαδήποτε Αρχή Πιστοποίησης μπορεί να εκδώσει πιστοποιητικό. Διαφορετικά, μόνο συγκεκριμένες Αρχές Πιστοποίησης επιτρέπεται να εκδίδουν πιστοποιητικά. Οι εγγραφές CAA μπορούν να εφαρμοστούν είτε σε μεμονωμένους κεντρικούς υπολογιστές είτε σε ολόκληρο τον τομέα.

Ορίστε ένα παράδειγμα εγγραφής CAA:

Το ειδικό για το CAA τμήμα της καταχώρισης είναι το 0 issue "letsencrypt.org". Υπάρχουν τρία μέρη που εμπλέκονται σε αυτό το τμήμα:

  • Flags: Είναι μια ακέραια τιμή που υποδεικνύει πώς πρέπει μια Αρχή Πιστοποίησης να χειρίζεται ετικέτες που δεν κατανοεί. Εάν η τιμή της σημαίας έχει οριστεί σε 0, τότε η εγγραφή θα αγνοηθεί. Εάν η τιμή είναι 1, τότε η Αρχή Πιστοποίησης πρέπει να αρνηθεί να εκδώσει το πιστοποιητικό.
  • Tags: Αυτά είναι αλφαριθμητικά που υποδηλώνουν τον σκοπό μιας εγγραφής CAA. Προς το παρόν, οι έγκυρες τιμές περιλαμβάνουν issue (εξουσιοδότηση μιας Αρχής Πιστοποίησης να εκδίδει πιστοποιητικά για έναν συγκεκριμένο τομέα), issuewild (εξουσιοδότηση πιστοποιητικών wildcard), και iodef (ορισμός μιας διεύθυνσης URL όπου οι Αρχές Πιστοποίησης αναφέρουν παραβιάσεις πολιτικής).
  • Values: Αυτά είναι αλφαριθμητικά που σχετίζονται με την ετικέτα της εγγραφής. Εάν η ετικέτα είναι issue ή issuewild, η τιμή θα είναι συνήθως ο τομέας της Αρχής Πιστοποίησης στην οποία παραχωρείτε την άδεια. Εάν η ετικέτα είναι iodef, θα είναι μια διεύθυνση URL μιας φόρμας επικοινωνίας ή ένας σύνδεσμος mailto: για αποστολή σχολίων μέσω email.

Μπορούμε να χρησιμοποιήσουμε το εργαλείο dig για να ανακτήσουμε τις εγγραφές CAA:

dig example.com

Για πιο λεπτομερείς πληροφορίες σχετικά με τις εγγραφές CAA, δείτε το RFC 6844.

Τελικές Σκέψεις

Αυτός ο οδηγός περιγράφει διάφορες ορολογίες που σχετίζονται με το DNS. Περιγράφει επίσης πώς συνδυάζονται όλα τα στοιχεία. Έχοντας κατά νου αυτήν την ολοκληρωμένη επισκόπηση, θα πρέπει να έχετε μια καλή κατανόηση της λειτουργικότητας του συστήματος DNS. Αν και η γενική ιδέα είναι απλή και εύκολη στην κατανόηση, οι λεπτομέρειες γίνονται περίπλοκες πολύ γρήγορα. Για τους άπειρους διαχειριστές, μπορεί να είναι δύσκολο να εφαρμόσουν αυτές τις έννοιες και στρατηγικές.

Είστε πελάτης της CloudSigma; Τότε δείτε το διαχείριση και ενημέρωση των αντίστροφων εγγραφών DNS/PTR για την υποδομή σας στην CloudSigma.

Καλή υπολογιστική!

author

Pranay Kapgate

Συγγραφέας · CloudSigma

Ο Preslav Dobrev είναι Δημιουργικός Σχεδιαστής στην CloudSigma, με εστίαση στη συνεπή επιχειρηματική ταυτότητα μέσω παραδοσιακών και καινοτόμων καναλιών μάρκετινγκ. Διαθέτει την ικανότητα να συνδυάζει το καλλιτεχνικό όραμα με το στρατηγικό μάρκετινγκ για τη δημιουργία εντυπωσιακών αφηγήσεων επωνυμίας.

Σχόλια

Δεν υπάρχουν σχόλια ακόμα. Γράψτε το πρώτο.