Ποιος εφαρμόζει πραγματικά τις ρυθμίσεις DNS του OpenConnect στα Windows;
Τα Windows κρατούν την κατάσταση του resolver σε τρία σημεία. Βρείτε τον βοηθό που κατέχει τη σύνδεση πριν επεξεργαστείτε χειροκίνητα το DNS του προσαρμογέα ή προσθέσετε κανόνα χώρου ονομάτων.
Το να σηκώσεις το τούνελ δεν είναι το ίδιο με το να εγκαταστήσεις τις τιμές DNS του. Το OpenConnect διαπραγματεύεται και ένας βοηθός στην πλευρά των Windows εφαρμόζει. Το κενό ανάμεσα σε αυτά τα δύο βήματα εξηγεί τις περισσότερες αποτυχίες ιδιωτικών ονομάτων σε αυτόν τον πελάτη, και ο βοηθός σχεδόν ποτέ δεν είναι η σελίδα ρυθμίσεων VPN των Windows.
Διαχωρίστε ό,τι πρόσφερε η πύλη από ό,τι εγκατέστησαν τα Windows
Ο πελάτης παραδίδει τα δεδομένα σύνδεσης σε μια διεπαφή σεναρίου, και οι παραλλαγές Unix και Windows είναι ξεχωριστά προγράμματα. Στα Windows η υλοποίηση είναι συνήθως ένας βοηθός JavaScript που διαβάζει μεταβλητές όπως ο εσωτερικός διακομιστής DNS και το εσωτερικό domain πριν αγγίξει οποιονδήποτε προσαρμογέα. Τίποτα μέσα στο ίδιο το τούνελ δεν γράφει κατάσταση resolver.
Αυτός ο διαχωρισμός έχει σημασία γιατί μια τιμή μπορεί να υπάρχει στη διαπραγμάτευση και να μη φτάσει ποτέ στον προσαρμογέα. Ένας βοηθός που λείπει, αποτυγχάνει στη μέση ή είναι παλαιότερο αντίγραφο ενσωματωμένο σε περιτύλιγμα GUI αφήνει τα Windows ακριβώς όπως ήταν. Η συνεδρία φαίνεται συνδεδεμένη, το ιδιωτικό όνομα εξακολουθεί να επιλύεται μέσω του τοπικού παρόχου, και τίποτα στο παράθυρο του πελάτη δεν υποδηλώνει τη διαφορά. Η ανάγνωση της ίδιας της εξόδου του βοηθού είναι ο μόνος αξιόπιστος τρόπος να μάθεις ποιο στάδιο έσπασε.
| Stage | What exists there | Where you see it |
|---|---|---|
| Negotiated | Internal DNS address and domain pushed by the gateway | Client log or helper input |
| Installed | Adapter DNS entry, connection suffix, or namespace rule | Adapter and policy queries |
| Selected | Resolver Windows uses for one specific query | The failing application |
Ένα περιτύλιγμα GUI μπορεί να φέρνει το δικό του αντίγραφο του πελάτη και του βοηθού, οπότε ένα δεύτερο openconnect.exe αλλού στον δίσκο δεν αποδεικνύει τίποτα. Βρείτε το εκτελέσιμο που ξεκίνησε τη συνεδρία πριν κρίνετε τη διαμόρφωσή του.
Διαβάστε την κατάσταση του resolver χωρίς να την αλλάξετε
Τρία ερωτήματα μόνο για ανάγνωση καλύπτουν τη συνήθη σύγχυση, και το καθένα απαντά σε διαφορετικό ερώτημα:
Get-DnsClientServerAddress -AddressFamily IPv4
Get-DnsClient | Select-Object InterfaceAlias, ConnectionSpecificSuffix
Get-DnsClientNrptPolicy -Effective
Ένας διακομιστής σε επίπεδο προσαρμογέα είναι αυτό που οι περισσότεροι εννοούν ως DNS VPN. Ένα επίθεμα ειδικό για τη σύνδεση αποφασίζει αν ένα σύντομο όνομα θα επεκταθεί καθόλου. Η λίστα πολιτικής χώρου ονομάτων ισχύει για ταιριαστά ονόματα ανεξάρτητα από τη σειρά των προσαρμογέων, και ένα κενό αποτέλεσμα εκεί δεν είναι σφάλμα όταν ο βοηθός δεν είχε ποτέ σκοπό να δημιουργήσει ένα. Το να διαβάσεις και τα τρία πριν επεξεργαστείς είναι αυτό που αποτρέπει μια διόρθωση που απλώς μετακινεί το σύμπτωμα αλλού.
Ξεκινήστε με το πλήρως αναγνωρισμένο όνομα. Αν το FQDN επιλύεται και το σύντομο όνομα όχι, το κενό είναι το επίθεμα ή η λίστα αναζήτησης, όχι η διεύθυνση του διακομιστή.
Ρωτήστε τον προοριζόμενο διακομιστή απευθείας ως δεύτερο βήμα, με όποιο εργαλείο resolver είναι ήδη εγκατεστημένο. Μια άμεση απάντηση αποδεικνύει ότι ο διακομιστής είναι προσβάσιμος και αρμόδιος για τη ζώνη. Δεν αποδεικνύει τίποτα για το ποιον διακομιστή ρωτά μια εφαρμογή εξ ορισμού.
Ονομάστε το συστατικό που κατέχει τη σύνδεση
Δύο διατάξεις είναι συνηθισμένες. Ένας πελάτης που ξεκινά από τερματικό περνά ρητά τη διαδρομή του σεναρίου του, οπότε ο ιδιοκτήτης είναι ορατός στην εντολή που εκτελέστηκε. Μια συσκευασμένη εφαρμογή ξεκινά τον πελάτη για εσάς και κρατά τον βοηθό μέσα στον δικό της κατάλογο, που σημαίνει ότι ο προμηθευτής αποφασίζει πότε αλλάζει.
Συγκρίνετε τις εκδόσεις του βοηθού μεταξύ εγκαταστάσεων πριν ανταλλάξετε οτιδήποτε. Το να τρέξετε έναν βοηθό που κατέβηκε από καθρέφτη με αυξημένα δικαιώματα επειδή το όνομα αρχείου φαίνεται γνωστό μετατρέπει ένα κενό DNS σε περιστατικό ασφαλείας.
Μόλις γίνει γνωστός ο ιδιοκτήτης, ο στόχος της επισκευής γίνεται προφανής: μια υποστηριζόμενη διαδρομή σεναρίου στον εκκινητή, μια ενημέρωση πακέτου ή ένα διορθωμένο προφίλ στην πύλη. Κανένα από αυτά δεν απαιτεί χειροκίνητη επεξεργασία ιδιοτήτων του προσαρμογέα.
Διορθώστε τον ιδιοκτήτη, όχι τον προσαρμογέα
Το DNS που έχει οριστεί χειροκίνητα στον προσαρμογέα συχνά επιβιώνει της αποσύνδεσης, γι’ αυτό φαίνεται να δουλεύει και μετά δημιουργεί πρόβλημα στο επόμενο δίκτυο. Ένας δημόσιος resolver βιδωμένος σε κάθε διεπαφή κρύβει το πρόβλημα του ιδιωτικού χώρου ονομάτων αντί να το λύνει. Όταν ο βοηθός δεν έλαβε ποτέ τιμή DNS, το προφίλ της πύλης είναι το μέρος για να κοιτάξετε. Όταν έλαβε μία και ο προσαρμογέας δείχνει ακόμα τον παλιό διακομιστή, ο βοηθός απέτυχε κατά τη σύνδεση και το αρχείο καταγραφής του πελάτη συνήθως το καταγράφει κοντά στις γραμμές ρύθμισης του τούνελ.
Ξαναχτίστε την κατάσταση μέσω της υποστηριζόμενης διαδρομής και μετά επαληθεύστε έναν ολόκληρο κύκλο: συνδεθείτε, επιλύστε το ιδιωτικό FQDN, ανοίξτε την υπηρεσία, αποσυνδεθείτε και επιβεβαιώστε ότι ο προσαρμογέας επέστρεψε με τους προηγούμενους διακομιστές του.
Ελέγξτε την εφαρμογή που αποτυγχάνει στην πραγματικότητα
Ένας περιηγητής με δική του ρύθμιση κρυπτογραφημένου DNS αγνοεί όλα τα παραπάνω και συνεχίζει να απαντά από δημόσιο resolver. Μια εφαρμογή που κρατά αποθηκευμένη αρνητική απάντηση από πριν σηκωθεί το τούνελ συμπεριφέρεται το ίδιο. Συγκρίνετέ την με ένα απλό ερώτημα συστήματος στο ίδιο μηχάνημα πριν αλλάξετε ξανά διευθύνσεις resolver.
Αν το ερώτημα του συστήματος είναι σωστό και η εφαρμογή λάθος, το υπόλοιπο σφάλμα βρίσκεται μέσα στη διαμόρφωση DNS αυτής της εφαρμογής, όχι στη διαδρομή VPN.