Καταγραφή Split-DNS: πείτε πού ελήφθη κάθε παρατήρηση
Ένα API επιλυτή, ένα φίλτρο πελάτη και μια καταγραφή πακέτων δείχνουν διαφορετικά στάδια μιας αναζήτησης. Ονομάστε το σημείο παρατήρησης πριν τα πείτε αντιφατικά.
Δύο άνθρωποι αντιμετωπίζουν το ίδιο πρόβλημα Split-DNS και παίρνουν διαφορετικές διευθύνσεις επιλυτή. Ο ένας χρησιμοποίησε εργαλείο αναζήτησης, ο άλλος κατέγραψε πακέτα στον προσαρμογέα και ο τρίτος διάβασε τα διαγνωστικά του ίδιου του πελάτη. Κανείς τους δεν λέει ψέματα και κανείς τους δεν περιγράφει το ίδιο στάδιο. Η ονομασία του σημείου παρατήρησης μετατρέπει την αντίφαση σε χάρτη.
Μία αναζήτηση, πολλά σημεία παρατήρησης
Για ένα μόνο εσωτερικό όνομα υπάρχουν τουλάχιστον πέντε σημεία να κοιτάξει κανείς: η εφαρμογή και το API επιλυτή που καλεί, η ισχύουσα πολιτική τομέα στον πελάτη, μια καταγραφή στον προσαρμογέα ή στο φίλτρο, ένα ελεγχόμενο όριο πύλης και ο επιλυτής που λαμβάνει πραγματικά το ερώτημα.
Κάθε ένα απαντά σε διαφορετικό ερώτημα και κανένα από μόνο του δεν αποδεικνύει πού πήγε το ερώτημα.
Μια καταγραφή στον προσαρμογέα δείχνει πακέτα, όχι πρόθεση. Δεν λέει ποιον επιλυτή επέλεξε ο πελάτης, και μια κενή καταγραφή μπορεί να σημαίνει αποθηκευμένη απάντηση ή άλλο API επιλυτή αντί για πακέτο που απορρίφθηκε. Αντιμετωπίστε κάθε παρατήρηση ως απόδειξη για ένα στάδιο. Στη συνέχεια συνθέστε τα στάδια σε μια διαδρομή.
Το φίλτρο του πελάτη βρίσκεται ανάμεσα στην εφαρμογή και το καλώδιο
Ένας πελάτης VPN με Split-DNS εφαρμόζει αντιστοίχιση τομέα πριν το πακέτο φύγει από το μηχάνημα. Τα ονόματα στο επίθημα της σήραγγας πηγαίνουν στον εσωτερικό επιλυτή· όλα τα άλλα πηγαίνουν στον τοπικό. Το φίλτρο είναι πολιτική, και η πολιτική μπορεί να διαφέρει ανά πλατφόρμα και έκδοση πελάτη.
Οι οδηγίες Split-DNS του Secure Client της Cisco καλύπτουν την αντιστοίχιση τομέα και το φίλτρο των Windows, και διαχωρίζουν αυτό που βλέπει μια εφαρμογή όταν χρησιμοποιεί το εγγενές API επιλυτή από αυτό που βλέπει ένα εργαλείο όπως το nslookup. Αυτές οι διαφορές είναι το ζήτημα.
Ξεκινήστε από το ισχύον προφίλ και μία συνηθισμένη αναζήτηση εφαρμογής. Κάθε δοκιμή που ονομάζει ρητά διακομιστή είναι σκόπιμη παράκαμψη· εξηγήστε την με τα διαγνωστικά του ίδιου του πελάτη και μην την αφήσετε να γίνει κριτήριο αποδοχής.
Το nslookup ακολουθεί διαφορετική διαδρομή από την εφαρμογή
Το nslookup δημιουργεί το δικό του ερώτημα DNS και μπορεί να παρακάμψει την πολιτική επιλυτή του λειτουργικού συστήματος. Αυτό το κάνει χρήσιμο εργαλείο για να θέσει κανείς ένα συγκεκριμένο ερώτημα σε έναν συγκεκριμένο διακομιστή, και παραπλανητικό εργαλείο για να δοκιμάσει τι θα βιώσει μια εφαρμογή.
Στα Windows ο πίνακας πολιτικής επίλυσης ονομάτων αποφασίζει ποιο επίθημα χρησιμοποιεί ποιον διακομιστή. Η ανάγνωσή του δείχνει την πολιτική που θα ακολουθήσει η εφαρμογή, και συχνά αυτό είναι το κομμάτι που λείπει.
Διαβάστε την πολιτική και μετά θέστε το ίδιο ερώτημα μέσω του κανονικού επιλυτή:
Get-DnsClientNrptPolicy
Resolve-DnsName intranet.hq.example
Οι κρυπτογραφημένοι επιλυτές κρύβουν το ερώτημα, όχι τη σύνδεση
Ένα πρόγραμμα περιήγησης με δικό του επιλυτή DNS-over-HTTPS είναι εντελώς άλλη περίπτωση. Το ερώτημα φεύγει μέσα σε TLS, οπότε μια καταγραφή πακέτων δείχνει σύνδεση με διεύθυνση επιλυτή αλλά όχι το όνομα που ζητείται.
Βρείτε πρώτα την διαχειριζόμενη πολιτική του προγράμματος περιήγησης και μετά συγκρίνετέ την με αναζήτηση του λειτουργικού συστήματος. Ένα πρόγραμμα περιήγησης που επιτρέπεται να επιλέγει τον δικό του επιλυτή μπορεί να μη δει καθόλου την πολιτική Split-DNS.
Η ίδια προσοχή ισχύει για κάθε πελάτη που φέρνει δικό του επιλυτή. Μια καταγραφή που αναγνωρίζει την απομακρυσμένη σύνδεση δεν είναι απόδειξη για το όνομα του ερωτήματος. Αν χρειάζεστε το όνομα, πάρτε το από τα αρχεία καταγραφής του ίδιου του επιλυτή ή από τα διαγνωστικά της εφαρμογής, με τους κανόνες απορρήτου που ισχύουν.
Συγκρίνετε με σημασμένη δοκιμή
Επιλέξτε ένα εγκεκριμένο εσωτερικό όνομα για δοκιμή, καθώς και ένα δημόσιο όνομα που δεν φέρει ευαίσθητη σημασία. Για καθένα, καταγράψτε την ώρα, τον τύπο εγγραφής, την απάντηση και την πολιτική που περιμένατε.
Όπου επιτρέπεται, συγκρίνετε την παραλαβή στον επιλυτή με μία στενή παρατήρηση από τον πελάτη ή την πύλη:
nslookup intranet.hq.example 10.55.0.53
Get-DnsClientNrptPolicy | Format-List
Ποτέ μη στέλνετε ιδιωτικά ονόματα σε άσχετους δημόσιους επιλυτές μόνο για να δημιουργήσετε σύγκριση, και αποκρύψτε ό,τι μοιράζεστε. Τέλος, διαχωρίστε μια σωστή απάντηση DNS από τη σύνδεση υπηρεσίας που ακολουθεί: η διευθυνόμενη ιδιωτική διεύθυνση χρειάζεται ακόμη διαδρομή και εξουσιοδότηση εφαρμογής.