Γιατί το DNS σταματά να λειτουργεί μετά τη σύνδεση του OpenVPN στα Windows
Ο resolver εξακολουθεί να απαντά σε ping ενώ η θύρα 53 δεν πηγαίνει πουθενά. Ελέγξτε αν φιλτράρει το block-outside-dns και μετά δώστε έναν resolver που να φτάνει η σήραγγα.
Ένα ping στον resolver του γραφείου εξακολουθεί να απαντά μετά τη σύνδεση του "OpenVPN", και παρόλα αυτά κάθε αναζήτηση ονόματος αποτυγχάνει. Η διεύθυνση είναι προσβάσιμη ενώ η θύρα δεν είναι, ένας συνδυασμός που βγάζει νόημα όταν ξέρετε ότι τα Windows μπορούν να φιλτράρουν το DNS ανά προσαρμογέα. Με το block-outside-dns στο προφίλ, αυτό το φίλτρο είναι ο πρώτος ύποπτος και ο πίνακας δρομολόγησης είναι το λάθος μέρος για να ψάξετε. Τα δύο παρακάτω τεστ χωρίζουν τα επίπεδα σε δευτερόλεπτα.
Προσβάσιμη διεύθυνση, νεκρή θύρα
Ένα επιτυχημένο ping αποδεικνύει ότι ο κεντρικός υπολογιστής είναι ζωντανός και ότι υπάρχει διαδρομή. Δεν λέει τίποτα για την άδεια πρόσβασης στη θύρα 53, επειδή το φίλτρο που εξετάζουμε δουλεύει σε άλλο επίπεδο και εξαρτάται από τον προσαρμογέα. Γι’ αυτό το ίδιο μηχάνημα μπορεί να απαντά σε ICMP και να αρνείται κάθε ερώτημα που στέλνεται στην ίδια διεύθυνση. Εκτελέστε και τα δύο τεστ στην ίδια συνεδρία πριν αλλάξετε οποιαδήποτε ρύθμιση.
ping <resolver-ip>
nslookup <name> <resolver-ip>
Το ζεύγος είναι η διάγνωση. Η συνηθισμένη κίνηση προς το υποδίκτυο συνεχίζει να δουλεύει ενώ η ανάλυση ονομάτων πεθαίνει, και οι άνθρωποι συμπεραίνουν ότι ο διακομιστής χάλασε ή ότι το DNS δεν στάλθηκε ποτέ. Και οι δύο εξηγήσεις είναι ακριβές στο κυνήγι, και τα στοιχεία δείχνουν κάπου στενότερα. Επιβεβαιώστε το ζεύγος πριν αγγίξετε μια ρύθμιση.
Η επιλογή είναι κανόνας της πλατφόρμας φιλτραρίσματος
Η αναφορά του OpenVPN περιγράφει το block-outside-dns ως περιορισμό του Windows Filtering Platform που εμποδίζει τις εφαρμογές να φτάσουν στο DNS σε προσαρμογείς έξω από τη σήραγγα. Καλύπτει TCP και UDP στη θύρα 53. Επειδή το φίλτρο ζει στο WFP και όχι στη συνηθισμένη λίστα κανόνων του τείχους προστασίας, η προσθήκη κανόνα αποδοχής αλλού δεν αλλάζει απαραίτητα το αποτέλεσμα. Γι’ αυτό η κοινή συμβουλή να επιτρέπεται το DNS συνεχίζει να αποτυγχάνει.
Η ρύθμιση μπορεί να έρθει από το εισαγόμενο προφίλ ή από τον διακομιστή, και το αρχείο που επεξεργαστήκατε τελευταία "δεν είναι απόδειξη για το τι φόρτωσε ο πελάτης". Διαβάστε την ενεργή διαμόρφωση και το αρχείο καταγραφής σύνδεσης μαζί. Η επιλογή είναι επίσης ειδική για Windows, και η αντιμετώπισή της ως φορητής παράγει συμβουλές που δεν ισχύουν.
Ψάξτε το στοιχείο πελάτη που κατέχει τον περιορισμό αντί να προσθέτετε περισσότερους κανόνες. Ο κάτοχος είναι αυτό που μπορεί πραγματικά να τον αφαιρέσει.
Ένα φίλτρο δεν είναι resolver
Ο αποκλεισμός κίνησης έξω από τη σήραγγα δεν εγκαθιστά έναν λειτουργικό resolver μέσα της. Η επιλογή αφαιρεί μια διαδρομή και αφήνει τη διαμόρφωση DNS της σήραγγας σε όποιον έφτιαξε το προφίλ. Ένα προφίλ που δεν έστειλε ποτέ resolver τώρα δεν έχει κανέναν.
Περάστε από τρεις ελέγχους με σειρά. Πρώτον, ποιον resolver χρησιμοποιεί πραγματικά η εφαρμογή που αποτυγχάνει. Δεύτερον, αν ο πελάτης εφάρμοσε τις ρυθμίσεις DNS της VPN. Τρίτον, ποια διεπαφή μεταφέρει την κίνηση σε αυτόν τον resolver.
- Resolver σε χρήση: συγκρίνετε
Resolve-DnsName -Server <resolver-ip> <name>με τους διακομιστές DNS που απαριθμείipconfig /all. - DNS της VPN εφαρμοσμένο: εξετάστε τις εγγραφές DNS του προσαρμογέα σήραγγας στην ίδια έξοδο του
ipconfig /all. - Διεπαφή σε χρήση:
Find-NetRoute -RemoteIPAddress <resolver-ip>ονομάζει τη διεπαφή εξόδου για αυτόν τον προορισμό.
Ένας resolver LAN γίνεται απρόσιτος εκ σχεδιασμού με αυτή την πολιτική, ακόμη και όταν άλλη κίνηση LAN δουλεύει. Αυτή είναι η επιλογή να κάνει τη δουλειά της. Αν ο σχεδιασμός χρειάζεται DNS μέσω VPN, διορθώστε την καταχώριση του resolver και τη διαδρομή της σήραγγας· αν απαιτείται split DNS με τοπικές εξαιρέσεις, ο κάτοχος της διαμόρφωσης πρέπει να εκφράσει αυτές τις εξαιρέσεις με υποστηριζόμενο τρόπο.
Τι δεν καλύπτει η επιλογή
Η θύρα 53 δεν είναι όλη η ανάλυση ονομάτων. Το DNS over HTTPS και το DNS over TLS χρησιμοποιούν άλλα μέσα μεταφοράς, και μερικές εφαρμογές τρέχουν τη δική τους λογική resolver ανεξάρτητα από τις ρυθμίσεις του συστήματος. Ένας περιηγητής μπορεί επομένως να λύνει ονόματα ενώ η γραμμή εντολών όχι.
Αντιμετωπίστε αυτή τη διαφορά ως διάγνωση και όχι ως αντίφαση. Συγκρίνετε τα δύο πριν αποφασίσετε ότι ο resolver του συστήματος χάλασε.
Κρατήστε το συμπέρασμα στενό όταν το γράφετε. Αυτή η επιλογή περιορίζει ένα μέσο μεταφοράς σε μία πλατφόρμα, και το υπόλοιπο της διαδρομής ανάλυσης είναι ξεχωριστό ζήτημα σχεδιασμού με δικό του κάτοχο.
Ελέγξτε την κατάσταση πριν και μετά την αποσύνδεση
Εκτελέστε την ίδια αναζήτηση κατά τη σύνδεση και ξανά αφού αποσυνδεθεί ο πελάτης που την κατέχει. Το πρώτο πρέπει να αποτύχει για εξωτερικό resolver όσο η σήραγγα είναι ενεργή, και το δεύτερο πρέπει να πετύχει μόλις αφαιρεθεί το φίλτρο. Αν αποτυγχάνει ακόμη και μετά την αποσύνδεση, το φίλτρο δεν καθαρίστηκε.
ipconfig /displaydns
nslookup <name> <resolver-ip>
Η επανεκκίνηση της υπηρεσίας πελάτη ή του μηχανήματος καθαρίζει συνήθως ένα παλιό φίλτρο. Αυτό επιβεβαιώνει τη διάγνωση χωρίς να αποδεικνύει μόνιμη διόρθωση. Καταγράψτε τι είδατε, γιατί ένα φίλτρο που επιβιώνει μιας αποσύνδεσης θα το ξανακάνει, και η καταγραφή είναι αυτό που δικαιολογεί μια αναφορά σφάλματος.
Μόνο μετά από αυτούς τους ελέγχους έχει νόημα να αντικαταστήσετε τον resolver ή να ξαναχτίσετε την πολιτική του τείχους προστασίας. Και τα δύο είναι μεγαλύτερες αλλαγές από ό,τι υποστηρίζουν τα στοιχεία.