Διαρροή DNS σε VPN των Windows: γιατί η μέτρηση κερδίζει τη διαδρομή
Τα Windows επιλέγουν resolver με βάση τη μέτρηση της διεπαφής, όχι μόνο τη διαδρομή. Ένας προσαρμογέας σήραγγας που κατατάσσεται κάτω από το Wi-Fi μπορεί να διαρρέει αναζητήσεις ενώ κάθε πακέτο εξακολουθεί να σηραγγοποιείται.
Ένα ερώτημα φεύγει από το μηχάνημα και φτάνει στον οικιακό δρομολογητή ενώ κάθε πακέτο σηραγγοποιείται. Το φυσικό συμπέρασμα είναι μια διαδρομή που λείπει, και η διαδρομή συνήθως είναι εντάξει. Τα Windows μπορούν να διαλέξουν ποιας διεπαφής τον resolver θα ρωτήσουν με βάση τη μέτρηση, και ένας προσαρμογέας σήραγγας χάνει συχνά αυτή τη σύγκριση από τον ασύρματο.
Δύο εξηγήσεις για μία διαρροή
Η εξήγηση των διαδρομών λέει ότι μέρος της κίνησης ξεφεύγει από τη σήραγγα, άρα η προεπιλεγμένη διαδρομή ή η λίστα διαχωρισμένης σήραγγας πρέπει να είναι λάθος. Αυτή η εξήγηση ελέγχεται με μία εντολή, και όταν η προεπιλεγμένη διαδρομή δείχνει μέσα στη σήραγγα, τελείωσε. Ελέγξτε την πρώτα επειδή είναι φθηνή, και μετά αφήστε την στην άκρη όταν επιστρέψει καθαρή.
Η εξήγηση της κατάταξης λέει ότι η κίνηση είναι πλήρως σηραγγοποιημένη και η αναζήτηση εξακολουθεί να στέλνεται σε άλλον resolver. Τα Windows αντιμετωπίζουν την επιλογή resolver ως ιδιότητα ανά διεπαφή με σειρά, οπότε ένας φυσικός προσαρμογέας με καλύτερη μέτρηση μπορεί να παρέχει DNS για ένα όνομα ακόμη και αν τα πακέτα για τη διεύθυνση που επιλύθηκε περνούν από τη σήραγγα. Και οι δύο εξηγήσεις παράγουν το ίδιο σύμπτωμα σε μια σελίδα δοκιμής διαρροής, γι’ αυτό η δοκιμή δεν είναι η διάγνωση. Μόνο η μία από αυτές διορθώνεται με επεξεργασία διαδρομών.
Συγκρίνετε μετρήσεις και resolvers μαζί
Καταγράψτε τις διεπαφές, τις μετρήσεις τους και τους ρυθμισμένους διακομιστές τους όσο η σήραγγα είναι ενεργή. Διαβάστε τα ως πίνακα και όχι ως δύο χωριστούς καταλόγους, επειδή το ερώτημα είναι ποιος resolver έρχεται πρώτος, όχι ποιοι resolvers υπάρχουν.
Get-NetIPInterface -AddressFamily IPv4 | Sort-Object InterfaceMetric | Select-Object InterfaceIndex, InterfaceAlias, InterfaceMetric
Get-DnsClientServerAddress -AddressFamily IPv4 | Select-Object InterfaceAlias, ServerAddresses
Αν ο προσαρμογέας σήραγγας φέρει μεγαλύτερο αριθμό από τον φυσικό, ο resolver του δεν προτιμάται, και ένα εσωτερικό όνομα θα πάει σε ό,τι προσφέρει η φυσική πλευρά. Αυτός ο δρομολογητής μπορεί να απαντήσει από την προσωρινή μνήμη, να προωθήσει το ερώτημα ή να το αρνηθεί, και κανένα από αυτά τα αποτελέσματα δεν είναι ο σχεδιασμός που είχατε κατά νου. Η κατάταξη είναι προτίμηση, γι’ αυτό χάνει σιωπηλά αντί να εγείρει σφάλμα.
Ένας προσαρμογέας σήραγγας χωρίς καθόλου ρυθμισμένο resolver είναι εξίσου συνηθισμένη παραλλαγή. Ο πελάτης ανεβάζει τη διεπαφή χωρίς να σπρώχνει DNS, οπότε το ερώτημα της κατάταξης δεν τίθεται καν.
Ανεβάστε τη σήραγγα και ελέγξτε ξανά
Δώστε στη διεπαφή της σήραγγας τη χαμηλότερη μέτρηση, ή ανεβάστε την τιμή του φυσικού προσαρμογέα, σε κέλυφος με αυξημένα δικαιώματα. Και τα δύο είναι ρυθμίσεις ανά διεπαφή και τα δύο είναι αναστρέψιμα, κάτι που μετράει όταν αλλάζετε μηχάνημα μπροστά στο οποίο μπορεί να μην κάθεστε.
Set-NetIPInterface -InterfaceIndex 27 -InterfaceMetric 1
Get-NetIPInterface -AddressFamily IPv4 | Sort-Object InterfaceMetric
Η αλλαγή φαίνεται αμέσως, και ο πελάτης DNS και άλλοι καταναλωτές αποθηκεύουν προσωρινά την επιλογή που έχουν ήδη κάνει. Επανασυνδέστε τη σήραγγα ή κάντε επανεκκίνηση πριν βγάλετε συμπέρασμα από αποτέλεσμα ερωτήματος. Μια δοκιμή που εκτελείται πολύ νωρίς θα αναπαράγει την παλιά συμπεριφορά και θα μοιάζει με αποτυχημένη διόρθωση.
Έπειτα ρωτήστε ένα εσωτερικό και ένα δημόσιο όνομα και ελέγξτε ποιος διακομιστής απάντησε. Η αναφορά για τις αυτόματες μετρήσεις της Microsoft εξηγεί γιατί προτιμάται η χαμηλότερη τιμή και πώς παράγεται η αυτόματη ανάθεση.
Κάντε το να αντέχει σε επανασύνδεση
Μια χειροκίνητη μέτρηση σε προσαρμογέα που δημιουργείται ξανά σε κάθε σύνδεση είναι ρύθμιση που εξαφανίζεται. Αν ο πελάτης ξαναχτίσει τη διεπαφή, η παράκαμψη χρειάζεται σενάριο μετά τη σύνδεση, πολιτική ή διαμόρφωση πελάτη που κατέχει το DNS όσο διαρκεί η σύνδεση.
Οι στατικά ρυθμισμένοι διακομιστές στον φυσικό προσαρμογέα έχουν το ίδιο πρόβλημα αντοχής αντιστρόφως. Συνεχίζουν να απαντούν για εκείνη τη διεπαφή μέχρι να αφαιρεθούν, και το DHCP θα τους ξαναγεμίσει από την επόμενη μίσθωση, οπότε η αφαίρεσή τους είναι μέτρηση και όχι σχεδιασμός. Ο ανθεκτικός σχεδιασμός είναι πολιτική επίλυσης ονομάτων για τον εσωτερικό χώρο ονομάτων, ή ένας πελάτης που αναλαμβάνει το DNS για όσο διαρκεί η σύνδεση. Σε κάθε περίπτωση, καταγράψτε τη λίστα resolvers πριν και μετά από μια επανασύνδεση, επαναφέρετε την αρχική μέτρηση όταν τελειώσετε τις δοκιμές και επιβεβαιώστε ότι επέστρεψε η προηγούμενη συμπεριφορά.