Εκτελέστε το resolvectl status και θα πάρετε έναν τοίχο από μπλοκ ανά σύνδεσμο, το καθένα με τους δικούς του διακομιστές και τη δική του γραμμή τομέων. Η γραμμή που καθορίζει τη δρομολόγηση είναι η λίστα τομέων, όχι η διεύθυνση του διακομιστή ονομάτων, επειδή το τοπικό stub προωθεί κάθε ερώτημα στη σύνδεσμο που διεκδικεί το όνομα. Διαβάστε αυτές τις διεκδικήσεις πριν διαβάσετε την απάντηση, μετά ρωτήστε το όνομα και ελέγξτε ποια σύνδεσμος το παρήγαγε. Μια λάθος απάντηση από τη σωστή σύνδεσμο είναι διαφορετικό πρόβλημα από μια σωστή απάντηση από τη λάθος.

Τι σας λέει κάθε μπλοκ ανά σύνδεσμο

Κάθε μπλοκ απαριθμεί τους διακομιστές που θα χρησιμοποιήσει ο resolver για αυτή τη διεπαφή, τη λίστα τομέων και αν η σύνδεσμος είναι η προεπιλεγμένη διαδρομή. Η λίστα τομέων είναι ένα σύνολο διεκδικήσεων και ο resolver εφαρμόζει αντιστοίχιση μακρύτερου επιθήματος: ένα ερώτημα για το host.corp.example το διεκδικεί μια σύνδεσμος που φέρει το corp.example πριν από μία που φέρει μόνο την προεπιλεγμένη διαδρομή. Δύο σύνδεσμοι που διεκδικούν το ίδιο επίθημα αφήνουν το αποτέλεσμα στην προτεραιότητα και τη σειρά, γι' αυτό τα διπλότυπα αξίζουν πρώτα προσοχή. Η τρέχουσα γραμμή διακομιστή δείχνει ποιος από τους καταγεγραμμένους διακομιστές χρησιμοποιείται εκείνη τη στιγμή.

Μια διεύθυνση stub όπως η 127.0.0.53 στο /etc/resolv.conf λέει μόνο ότι το stub βρίσκεται μπροστά. Δεν ονομάζει το ανάντη που απάντησε, γι' αυτό μια διάγνωση βασισμένη μόνο στο resolv.conf κολλάει.

Διαβάστε σωστά τους τρεις τύπους εγγραφών τομέα

ΕγγραφήΤι διεκδικείΣυνηθισμένο λάθος
corp.exampleτομέας δρομολόγησης και επίθημα αναζήτησης: τα ονόματα από κάτω πηγαίνουν σε αυτή τη σύνδεσμο και η συμβολοσειρά προσαρτάται στα γυμνά ονόματααφαιρέθηκε επειδή η δρομολόγηση φαίνεται να λειτουργεί ούτως ή άλλως
~corp.exampleμόνο διαδρομή: τα ονόματα από κάτω πηγαίνουν σε αυτή τη σύνδεσμο, αλλά το επίθημα δεν προσαρτάταιθεωρήθηκε ότι απαιτείται για τη δρομολόγηση
~.προεπιλεγμένη διαδρομή: διεκδικεί ερωτήματα που καμία άλλη σύνδεσμος δεν καλύπτειέμεινε ενεργή σε διαχωρισμένο προφίλ, οπότε τα δημόσια ονόματα ακολουθούν τη σήραγγα

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

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

Ρωτήστε ένα όνομα και δείτε ποια σύνδεσμος απάντησε

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

resolvectl status
resolvectl query host.corp.example

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

Κρατήστε τη δρομολόγηση ονομάτων χωριστά από τη δρομολόγηση πακέτων

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

Οι εφαρμογές μπορούν να παρακάμψουν εντελώς τον resolver του συστήματος μέσω της δικής τους ρύθμισης ασφαλούς DNS ή ενός ενσωματωμένου resolver. Το αποτέλεσμα του resolvectl περιγράφει τη διαδρομή του συστήματος και ένα πρόγραμμα περιήγησης που το αγνοεί θα διαφωνεί με κάθε δοκιμή που κάνετε. Ελέγξτε αυτή τη ρύθμιση πριν συμπεράνετε ότι η πολιτική είναι σπασμένη.

Καταγράψτε τη διεύθυνση στην οποία επιλύθηκε το όνομα δίπλα στη σύνδεσμο. Ένα σωστό όνομα που δείχνει σε λάθος διεύθυνση είναι πρόβλημα εγγραφής και όχι δρομολόγησης.

Ελέγξτε ξανά αφού αλλάξει η σύνδεσμος

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

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

Σχετικά άρθρα