Το DNS του επισκέπτη στο VirtualBox χαλάει όταν ο κεντρικός υπολογιστής συνδεθεί σε VPN
Ο επισκέπτης έχει τον δικό του resolver και το NAT μπορεί να απαντήσει στο DNS με δύο τρόπους. Τέσσερις έλεγχοι: λειτουργία προσαρμογέα, διαδρομή resolver, λειτουργία resolver του κεντρικού και επανασύνδεση VPN.
Μια εσωτερική εφαρμογή επιλύεται στον κεντρικό υπολογιστή Windows τη στιγμή που συνδέεται το VPN, και ο επισκέπτης Ubuntu πίσω από το NAT του VirtualBox εξακολουθεί να μην τη βρίσκει. Ο επισκέπτης έχει τον δικό του resolver, και ο προσαρμογέας NAT μπορεί να χειριστεί το DNS με περισσότερους από έναν τρόπους. Η αντικατάσταση του resolver του επισκέπτη με δημόσιο διακομιστή κάνει τις συνηθισμένες ιστοσελίδες να δουλεύουν και τα ιδιωτικά ονόματα να αποτυγχάνουν, κάτι που μετατοπίζει το πρόβλημα αντί να το λύνει. Εκτελέστε τους τέσσερις ελέγχους με τη σειρά και σταματήστε στον πρώτο που δεν ισχύει.
Επιβεβαιώστε ποια λειτουργία προσαρμογέα αποσφαλματώνετε
Μόνο ένας προσαρμογέας σε απλή λειτουργία NAT συμπεριφέρεται όπως περιγράφει αυτό το άρθρο. Ένας προσαρμογέας γέφυρας βρίσκεται στο φυσικό δίκτυο με δική του ταυτότητα, ένα δίκτυο NAT είναι ένας ονομασμένος εικονικός μεταγωγέας με δικές του ρυθμίσεις DHCP και DNS, και ένας πελάτης VPN μέσα στον επισκέπτη προσθέτει εντελώς δεύτερο resolver. Επιβεβαιώστε τη λειτουργία πριν συνεχίσετε την ανάγνωση, γιατί η επιδιόρθωση διαφέρει σε κάθε μία από αυτές τις περιπτώσεις.
Μία εικονική μηχανή μπορεί να φέρει δύο προσαρμογείς σε διαφορετικές λειτουργίες, και ο επηρεαζόμενος δεν είναι πάντα ο πρώτος.
Επιβεβαιώστε επίσης ότι ο κεντρικός υπολογιστής επιλύει καθόλου το όνομα. Ανοίξτε την ίδια εφαρμογή στον κεντρικό με τη σήραγγα ενεργή, χρησιμοποιώντας το ίδιο πλήρως πιστοποιημένο όνομα που θα χρησιμοποιήσει ο επισκέπτης. Αν αποτύχει και ο κεντρικός, ο επισκέπτης δεν φταίει και καμία αλλαγή εικονικού δικτύου δεν θα το διορθώσει.
Ακολουθήστε ένα όνομα μέσα από τον resolver του επισκέπτη
Διαλέξτε ένα εσωτερικό όνομα και ένα δημόσιο όνομα ελέγχου και δοκιμάστε και τα δύο και στα δύο σημεία. Ένα δημόσιο όνομα που επιλύεται ενώ το ιδιωτικό δεν επιλύεται εντοπίζει το σφάλμα στην ιδιωτική διαδρομή και όχι στην επίλυση ονομάτων γενικά. Η δοκιμή μόνο του ιδιωτικού ονόματος σας αφήνει ανίκανο να ξεχωρίσετε έναν χαλασμένο resolver από μια χαλασμένη διαδρομή.
Μέσα στον επισκέπτη, δείτε τι έχει πραγματικά ρυθμιστεί να χρησιμοποιεί ο resolver. Σε επισκέπτη Ubuntu με systemd-resolved, η κατάσταση ανά ζεύξη δείχνει τους διακομιστές που έφτασαν, και το αρχείο resolv.conf μπορεί να περιέχει μόνο μια διεύθυνση stub, κάτι που είναι σωστό και όχι ύποπτο. Ένα χειροκίνητα επεξεργασμένο αρχείο ή ένας ξεχωριστός πελάτης κρυπτογραφημένου DNS μπορούν να στέλνουν τα ερωτήματα εντελώς αλλού. Σημειώστε τι βρήκατε πριν το αλλάξετε.
resolvectl status
resolvectl query app.internal.exampleΔιαχωρίστε εδώ την επίλυση από την προσβασιμότητα. Μια διεύθυνση που φτάνει ενώ η υπηρεσία παραμένει μη προσβάσιμη είναι θέμα δρομολόγησης ή πολιτικής, όχι DNS.
Δοκιμάστε τη λειτουργία resolver του κεντρικού σε αυτόν τον προσαρμογέα
Οι επιλογές NAT DNS του VirtualBox περιγράφουν διαφορετικούς μηχανισμούς, και η διαφορά μετράει όταν ο δικός του resolver του κεντρικού αλλάζει μαζί με τη σήραγγα. Το proxy DNS προωθεί τα αιτήματα του επισκέπτη σε διακομιστές που του δόθηκαν. Η λειτουργία resolver του κεντρικού υποκλέπτει τα αιτήματα και καλεί το DNS API του κεντρικού, και αυτή είναι η λειτουργία που ακολουθεί έναν resolver των Windows που έχει ρυθμιστεί εκ νέου από πελάτη VPN.
Ενεργοποιήστε τον λάθος μηχανισμό και η εντολή θα πετύχει ακόμη, ενώ η συμπεριφορά δεν αλλάζει, κάτι που είναι μπερδεμένος τρόπος να χάσετε ένα απόγευμα.
VBoxManage modifyvm "work-ubuntu" --natdnshostresolver1 onΚαταγράψτε τις τρέχουσες ρυθμίσεις της εικονικής μηχανής, τερματίστε την και στοχεύστε τον προσαρμογέα που επιβεβαιώσατε νωρίτερα. Το τελευταίο ψηφίο στην επιλογή είναι αριθμός προσαρμογέα και όχι σταθερά, οπότε η εφαρμογή του σε μηχανή της οποίας ο επηρεαζόμενος προσαρμογέας είναι ο δεύτερος είναι σιωπηλή ενέργεια χωρίς αποτέλεσμα. Εκκινήστε τον επισκέπτη και ελέγξτε τη διαμόρφωση resolver που έλαβε πραγματικά, γιατί μια χειροκίνητη ρύθμιση στον επισκέπτη υπερισχύει ό,τι προσφέρει το επίπεδο NAT. Θυμηθείτε ότι η λειτουργία resolver του κεντρικού προϋποθέτει επίσης ότι η δική του διαδρομή DNS του κεντρικού είναι αυτή που θέλατε να μοιραστείτε.
Επαναλάβετε τις ίδιες δοκιμές σε μια επανασύνδεση VPN
Επαναλάβετε και τις δύο αναζητήσεις στον επισκέπτη, μετά ανοίξτε την πραγματική εφαρμογή και αφήστε την να επικυρώσει μόνη της το πιστοποιητικό. Μια δοκιμή μόνο διεύθυνσης είναι χρήσιμη για να απομονώσετε την επίλυση ονομάτων και δεν ισοδυναμεί με λειτουργική συνεδρία TLS, οπότε μην σταματήσετε σε ένα ping. Στη συνέχεια, σε εγκεκριμένο παράθυρο, αποσυνδέστε και επανασυνδέστε τη σήραγγα του κεντρικού και επαναλάβετε άλλη μία φορά. Συμπεριφορά που κρατάει μόνο στην πρώτη σύνδεση μετά την εκκίνηση είναι πρόβλημα κύκλου ζωής προς αναφορά, όχι μυστήριο DNS για κυνήγι με άλλον resolver.
Το ότι δουλεύει η δημόσια επίλυση δεν αποδεικνύει ότι τα ιδιωτικά ερωτήματα έμειναν στη διαδρομή που απαιτεί η πολιτική σας.
Όταν η λειτουργία resolver του κεντρικού δεν αλλάζει τίποτα, επαναφέρετε τη καταγεγραμμένη διαμόρφωση και κρατήστε τις τέσσερις παρατηρήσεις: τι επέστρεψε ο κεντρικός, τι επέστρεψε ο επισκέπτης, η λειτουργία του προσαρμογέα και η κατάσταση του resolver. Ένας μη προσβάσιμος εσωτερικός διακομιστής, ένα φίλτρο που αποκλείει την κίνηση του υπερεπόπτη και μια παράκαμψη στην πλευρά του επισκέπτη χρειάζονται το καθένα διαφορετική διόρθωση. Η μετατροπή του προσαρμογέα σε γέφυρα αλλάζει τον σχεδιασμό του δικτύου και δεν είναι επαναφορά DNS.