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

Ονομάστε πρώτα την πολιτική και μετά διαλέξτε το πρωταρχικό στοιχείο της πλατφόρμας που την εκφράζει.

Τρεις ρυθμίσεις που εύκολα μπερδεύονται

Ένα επίθημα αναζήτησης επεκτείνει ένα σύντομο όνομα: πληκτρολογώντας files γίνεται files.corp.example όταν ο επιλυτής δοκιμάζει επιθήματα με σειρά. Ένας τομέας δρομολόγησης επιλέγει ποιος επιλυτής απαντά σε ερωτήματα μέσα σε έναν χώρο ονομάτων. Μια διαδρομή IP απλώς κάνει τον επιλεγμένο επιλυτή προσβάσιμο. Αυτά τα τρία ζουν σε διαφορετικά επίπεδα, και η ανταλλαγή του ενός με το άλλο παράγει μια διαμόρφωση που φαίνεται σωστή και δεν επιλύει τίποτα.

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

Linux: τομέας μόνο για δρομολόγηση, όχι επίθημα αναζήτησης

Στο systemd-resolved, ένας τομέας με πρόθεμα περισπωμένη είναι τομέας μόνο για δρομολόγηση, δηλαδή τα ερωτήματα για αυτόν τον χώρο ονομάτων πηγαίνουν στον συνδεδεμένο επιλυτή χωρίς να γίνονται και επίθημα αναζήτησης. Το resolvectl domain tun0 '~corp.example' το ορίζει, και το resolvectl dns tun0 10.8.0.1 ονομάζει τον διακομιστή. Και οι δύο ρυθμίσεις ανήκουν στη διεπαφή, άρα εξαφανίζονται μαζί της. Η περισπωμένη είναι το μέρος που παραλείπουν οι άνθρωποι, και χωρίς αυτή τα σύντομα ονόματα αρχίζουν να επιλύονται μέσω του επιλυτή εργασίας.

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

Τα Windows χρειάζονται πολιτική χώρου ονομάτων, όχι επίθημα

Τα Windows κρατούν την πολιτική διαχωρισμένου DNS στον πίνακα πολιτικής επίλυσης ονομάτων, όχι στο επίθημα DNS του προσαρμογέα. Ένας κανόνας αντιστοιχίζει έναν χώρο ονομάτων σε συγκεκριμένους διακομιστές: Add-DnsClientNrptRule -Namespace .corp.example -NameServers 10.8.0.1. Η ρύθμιση μόνο του επιθήματος αλλάζει την εμφάνιση των σύντομων ονομάτων· δεν κατευθύνει το ερώτημα σε άλλον διακομιστή.

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

Κρατήστε έναν ιδιοκτήτη επιλυτή ανά πλατφόρμα

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

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

Επαληθεύστε το αποτέλεσμα, όχι το κείμενο του προφίλ

Επιλύστε ένα όνομα που πρέπει να πάει μέσα από τη σήραγγα και ένα που δεν πρέπει, σε κάθε πλατφόρμα, και επιβεβαιώστε ποιος διακομιστής απάντησε. Το resolvectl query host.corp.example και το Resolve-DnsName host.corp.example αναφέρουν και τα δύο τον διακομιστή που απάντησε. Επαναλάβετε μετά από επανασύνδεση. Έπειτα επιβεβαιώστε ότι ο επιλυτής της σήραγγας είναι προσβάσιμος στη διεύθυνση που προωθεί το προφίλ, γιατί μια σωστή πολιτική που δείχνει σε μη προσβάσιμο διακομιστή αποτυγχάνει όπως ακριβώς και η απουσία πολιτικής.

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

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