Δύο VPN, ένας resolver: κερδίζει όποιος έγραψε τελευταίος
Και οι δύο πελάτες μπορούν να εγκαταστήσουν πολιτική DNS, και ο τελευταίος που γράφει μπορεί να κερδίσει. Αντιστοιχίστε καταλήξεις σε resolvers και κρατήστε μια διαδρομή bootstrap έξω από τα τούνελ.
Δύο πελάτες VPN είναι συνδεδεμένοι, ο ένας για τη δουλειά και ο άλλος για ένα εργαστηριακό δίκτυο, και τα εσωτερικά ονόματα επιλύονται μόνο για τον πελάτη που συνδέθηκε τελευταίος. Αυτό το μοτίβο μοιάζει με σφάλμα σε έναν από τους πελάτες. Συνήθως είναι το προβλέψιμο αποτέλεσμα δύο προγραμμάτων που γράφουν την ίδια διαμόρφωση resolver χωρίς συμφωνία για το ποιος κατέχει ποιο όνομα.
Ο μύθος: το νεότερο VPN κατέχει το DNS
Δεν υπάρχει γενικός κανόνας ότι κερδίζει η πιο πρόσφατη σύνδεση. Το τι συμβαίνει εξαρτάται από τον μηχανισμό της πλατφόρμας και από το πώς τον γράφει κάθε πελάτης. Ένας πελάτης που αντικαθιστά ένα αρχείο resolver παράγει ένα αποτέλεσμα· ένας πελάτης που προσθέτει domain ανά σύνδεση παράγει άλλο· ένας πελάτης που δεν κάνει τίποτα αφήνει την προηγούμενη κατάσταση άθικτη.
Άρα η παρατηρούμενη συμπεριφορά είναι ιδιότητα των δύο υλοποιήσεων, όχι τεκμηριωμένη προτεραιότητα. Το να συλλογίζεται κανείς με βάση μόνο τη σειρά εκκίνησης θα είναι μερικές φορές σωστό και μερικές φορές λάθος με τρόπους δύσκολο να αναπαραχθούν. Γράψτε την αντιστοίχιση. Ένας σχεδιασμός που ζει σε δύο πελάτες δεν είναι σχεδιασμός.
Αντιστοιχίστε χώρους ονομάτων σε resolvers
Καταγράψτε τις ιδιωτικές καταλήξεις και τον resolver που απαιτεί κάθε δίκτυο, και μετά αποφασίστε πού πρέπει να πάνε τα δημόσια ονόματα. Αυτή η λίστα είναι ο σχεδιασμός. Χωρίς αυτήν, οι πελάτες παίρνουν την απόφαση κατά λάθος.
Μια πλατφόρμα που υποστηρίζει DNS ανά σύνδεση ή domains δρομολόγησης μπορεί να εκφράσει τη διαίρεση σκόπιμα: ένα domain πηγαίνει σε μια σύνδεση, ένα άλλο domain στην άλλη, και όλα τα υπόλοιπα ακολουθούν μια ρητή προεπιλογή. Δύο επίπεδα σενάρια που αντικαθιστούν το ίδιο αρχείο δεν μπορούν να διατηρήσουν αυτόν τον σχεδιασμό, γιατί το καθένα πιστεύει ότι κατέχει ολόκληρη τη διαμόρφωση.
Στα Windows, ο πίνακας πολιτικής επίλυσης ονομάτων μπορεί να κατευθύνει καταλήξεις σε συγκεκριμένους διακομιστές, και ένας πελάτης VPN μπορεί να εγκαταστήσει κανόνες εκεί. Ελέγξτε την πολιτική και όχι τη λίστα προσαρμογέων, γιατί δεν είναι η λίστα προσαρμογέων αυτή που επιλύει το όνομα.
Κρατήστε μια διαδρομή bootstrap
Κάθε πελάτης πρέπει να εντοπίσει το δικό του τελικό σημείο πριν μπορέσει να χρησιμοποιήσει την υπηρεσία που παρέχει αυτό το σημείο. Αν το όνομα κεντρικού υπολογιστή του τελικού σημείου μπορεί να επιλυθεί μόνο μέσω του τούνελ, και το τούνελ χρειάζεται το όνομα επιλυμένο, έχετε κυκλική εξάρτηση που εμφανίζεται ως λήξη χρόνου σύνδεσης. Κρατήστε μία διαδρομή bootstrap έξω από τα δύο τούνελ. Δεν κοστίζει τίποτα μέχρι την ημέρα που θα σώσει τη σύνδεση.
Κοιτάξτε τη διαδρομή προς κάθε resolver, όχι μόνο το όνομα που έχει διαμορφωθεί γι' αυτόν. Ένας resolver που είναι προσβάσιμος μόνο μέσω του άλλου τούνελ συμπεριφέρεται σαν να λείπει, και το σύμπτωμα είναι λήξη χρόνου αντί για σφάλμα δρομολόγησης.
Οι επικαλυπτόμενες διευθύνσεις δεν είναι πρόβλημα DNS
Δύο ιδιωτικά δίκτυα με το ίδιο εύρος διευθύνσεων δεν διορθώνονται με σειρά DNS. Αν και τα δύο τούνελ διεκδικούν το 10.0.0.0/8, ένα όνομα που επιλύεται σωστά δείχνει ακόμη σε μια διεύθυνση προς την οποία ο κεντρικός υπολογιστής δεν μπορεί να δρομολογήσει το σωστό τούνελ. Αυτό απαιτεί λύση σε επίπεδο διεύθυνσης, όπως διαφορετικά εύρη, χώρο ονομάτων ή μετάφραση, όχι άλλη ρύθμιση resolver. Η έγκαιρη απόφαση αποτρέπει έναν μακρύ κύκλο μέσα από διαμόρφωση DNS που δεν επρόκειτο ποτέ να λειτουργήσει.
Συγκρίνετε τις εκχωρήσεις διευθύνσεων των δύο τούνελ πριν κατηγορήσετε την επίλυση ονομάτων. Όταν και οι δύο πλευρές προωθούν το ίδιο πρόθεμα, ο κεντρικός υπολογιστής κρατά μία διαδρομή γι' αυτό, και ένα όνομα που επιλύεται μέσω του δεύτερου τούνελ καταλήγει ακόμη σε διεύθυνση που κατέχει το πρώτο τούνελ. Διαφορετικά εύρη, χώρος ονομάτων ανά δίκτυο ή μετάφραση είναι οι διορθώσεις· αφού συνδεθεί κάθε πελάτης, επιβεβαιώστε ότι ο πίνακας δρομολόγησης δείχνει τη διαδρομή που είχατε κατά νου.
Αποδείξτε το με πραγματικές εφαρμογές
Διαλέξτε δύο κεντρικούς υπολογιστές που υπάρχουν μόνο μέσα στον δικό τους χώρο ονομάτων και ένα δημόσιο όνομα, και μετά επιλύστε καθένα μέσω του πελάτη που θα έπρεπε να το κατέχει. Μια σωστή απάντηση από τον αναμενόμενο resolver δεν αποδεικνύει ότι η εφαρμογή φτάνει στον κεντρικό υπολογιστή, γιατί η διαδρομή προς αυτή τη διεύθυνση μπορεί να αποτύχει. Μετά από κάθε αναζήτηση κάντε δοκιμή σύνδεσης από το πρόγραμμα που θα εκτελέσει πραγματικά ο χρήστης.
Ένας πελάτης με δική του επιλογή κρυπτογραφημένου DNS μπορεί να παρακάμψει την πολιτική που μόλις επαληθεύσατε, γι' αυτό ελέγξτε αυτή τη ρύθμιση ως μέρος της επισκόπησης. Μετά επανασυνδέστε και τους δύο πελάτες με τη σειρά που υποστηρίζει ο προμηθευτής και επαναλάβετε τις αναζητήσεις· αν οι απαντήσεις ανταλλάσσονται όταν αλλάζει η σειρά, ένας ανταγωνιστικός συγγραφέας κατέχει ακόμη μέρος της διαμόρφωσης. Βρείτε ποιο στοιχείο εγκαθιστά τον κανόνα - ο πελάτης, το προφίλ του λειτουργικού συστήματος ή ένας πράκτορας διαχείρισης - πριν αλλάξετε οτιδήποτε. Καταγράψτε τη σειρά και τους ιδιοκτήτες ώστε ο επόμενος να μην τα ανακαλύψει ξανά.