Σε κεντρικό υπολογιστή Windows το εσωτερικό όνομα της εφαρμογής επιλύεται μόλις συνδεθεί το VPN, ενώ μέσα σε επισκέπτη Ubuntu όχι. Ο επισκέπτης κρατά τις δικές του ρυθμίσεις resolver, και ο προσαρμογέας NAT μπροστά του μπορεί να απαντήσει σε ερωτήματα DNS με δύο διαφορετικούς τρόπους. Το να στρέψετε τον επισκέπτη σε δημόσιο resolver κάνει τους ιστότοπους να φορτώνουν ξανά, ενώ τα ιδιωτικά ονόματα παραμένουν σπασμένα. Γι' αυτό η διαδρομή του resolver παρακολουθείται πριν αλλάξει οτιδήποτε.

Παρακολουθήστε μία αναζήτηση μέσω του προσαρμογέα NAT

Επιλέξτε ένα εσωτερικό πλήρως καταρτισμένο όνομα και ένα δημόσιο όνομα ως έλεγχο. Με τη σήραγγα ενεργή, επιβεβαιώστε στον κεντρικό υπολογιστή ότι το εσωτερικό όνομα επιλύεται και ότι η εφαρμογή πίσω του ανοίγει. Στη συνέχεια εκτελέστε τις ίδιες δύο αναζητήσεις μέσα στον επισκέπτη και συγκρίνετε τις απαντήσεις, όχι τα εργαλεία.

Επιβεβαιώστε ότι ο προσαρμογέας είναι πραγματικά απλό NAT πριν προχωρήσετε. Ένας γεφυρωμένος προσαρμογέας, ένα ονομασμένο δίκτυο NAT και ένας δεύτερος πελάτης VPN μέσα στον επισκέπτη έχουν το καθένα τη δική του διαμόρφωση και τη δική του εξήγηση. Το να μαντεύετε σε αυτό το σημείο σπαταλά την υπόλοιπη έρευνα.

VBoxManage showvminfo work-ubuntu --machinereadable | grep -i natnet
resolvectl status | head -40
cat /etc/resolv.conf

Η πρώτη εντολή δείχνει τη λειτουργία του προσαρμογέα και οποιοδήποτε δίκτυο NAT συνδεδεμένο με αυτόν. Μέσα σε επισκέπτη Ubuntu η δεύτερη απαριθμεί ρυθμίσεις DNS ανά ζεύξη, και η τρίτη συχνά αποκαλύπτει μόνο μια τοπική διεύθυνση stub, που σημαίνει ότι το πραγματικό upstream βρίσκεται αλλού.

Κρατήστε την επίλυση και την προσβασιμότητα ξεχωριστά. Ένας επισκέπτης που λαμβάνει τη σωστή διεύθυνση αλλά δεν μπορεί να ανοίξει σύνδεση έχει πρόβλημα δρομολόγησης, φιλτραρίσματος ή άδειας υπηρεσίας, και περαιτέρω αλλαγές DNS δεν θα το αγγίξουν ποτέ. Δοκιμάστε τη διεύθυνση ξεχωριστά και καταγράψτε ποιο από τα δύο απέτυχε.

Η λειτουργία proxy και η λειτουργία resolver του κεντρικού υπολογιστή είναι διαφορετικοί μηχανισμοί

Στη λειτουργία proxy η μηχανή NAT προωθεί τα ερωτήματα του επισκέπτη σε διακομιστές DNS που ήδη γνωρίζει. Στη λειτουργία resolver του κεντρικού υπολογιστή υποκλέπτει το ερώτημα και ζητά από το λειτουργικό σύστημα του κεντρικού υπολογιστή να επιλύσει το όνομα με ό,τι χρησιμοποιεί αυτός τώρα. Μόνο η δεύτερη ακολουθεί πελάτη VPN που ξαναγράφει την επίλυση του κεντρικού υπολογιστή όταν ανεβαίνει η σήραγγα. Γι' αυτό οι δύο ρυθμίσεις δίνουν διαφορετικές απαντήσεις στο ίδιο μηχάνημα.

Αυτή η διάκριση είναι όλο το πρόβλημα σε μία πρόταση. Το να δώσετε στον επισκέπτη μια λίστα διευθύνσεων διακομιστών δεν είναι το ίδιο με το να ζητήσετε από τα Windows να επιλύσουν ένα όνομα μέσω του διαμορφωμένου resolver, και σε VPN με διαχωρισμό DNS οι δύο απαντήσεις διαφέρουν. Η επιλογή του προσαρμογέα αφορά τον μηχανισμό, όχι την άδεια.

Καμία από τις δύο λειτουργίες δεν παρέχει πρόσβαση σε οτιδήποτε. Η εξουσιοδότηση ζει στην πολιτική VPN και στην υπηρεσία, και μια αναζήτηση που λειτουργεί σημαίνει μόνο ότι ένα όνομα έγινε διεύθυνση.

Αλλάξτε τον προσαρμογέα και μετά επαληθεύστε τι λαμβάνει ο επισκέπτης

Καταγράψτε πρώτα τις ρυθμίσεις δικτύου και DNS της VM και μετά τερματίστε τη μηχανή ώστε να επεξεργάζεστε τη μόνιμη διαμόρφωση. Για VM με όνομα work-ubuntu της οποίας ο πρώτος προσαρμογέας φέρει NAT, η επιλογή ανά προσαρμογέα ορίζεται από τον κεντρικό υπολογιστή ενώ η VM είναι κλειστή. Ξεκινήστε την ξανά μετά και επιθεωρήστε το αποτέλεσμα αντί να εμπιστεύεστε την κατάσταση εξόδου.

VBoxManage modifyvm work-ubuntu --natdnshostresolver1 on
VBoxManage showvminfo work-ubuntu --machinereadable | grep -i natdns

Το τελευταίο ψηφίο επιλέγει τον αριθμό του προσαρμογέα, άρα δεν είναι καθολική τιμή· μια ρύθμιση για προσαρμογέα 2 θα έφερε 2 σε εκείνη τη θέση. Χρησιμοποιήστε το εκτελέσιμο VBoxManage που ανήκει στην εγκατεστημένη έκδοση του VirtualBox, γιατί ένα παλαιότερο στη διαδρομή μπορεί να γράψει ρυθμίσεις που η τρέχουσα έκδοση αγνοεί.

Η ενεργοποίηση της επιλογής proxy αντί γι' αυτό επιλέγει διαφορετικό μηχανισμό και δεν σας δίνει συμπεριφορά resolver του κεντρικού υπολογιστή. Αφού ξεκινήσει ο επισκέπτης, ελέγξτε τη διαμόρφωση DNS που πραγματικά κρατά, καθώς ένας καρφιτσωμένος resolver ή μια ρύθμιση κρυπτογραφημένου DNS μέσα στον επισκέπτη κρατά τις εφαρμογές σε άλλη διαδρομή ανεξάρτητα από το τι προσφέρει ο προσαρμογέας.

Δοκιμάστε σε όλο τον κύκλο ζωής του VPN, όχι μόνο μία φορά

Επαναλάβετε και τις δύο αναζητήσεις στον επισκέπτη, μετά ανοίξτε την πραγματική εφαρμογή και αφήστε την να επικυρώσει το όνομα κεντρικού υπολογιστή TLS. Μια δοκιμή σύνδεσης μόνο με IP απομονώνει καλά το DNS, αλλά δεν είναι έλεγχος πιστοποιητικού και δεν πρέπει να αναφέρεται ως τέτοιος. Καταγράψτε το όνομα, τη διεύθυνση και το αποτέλεσμα της εφαρμογής μαζί.

Σε ένα εγκεκριμένο παράθυρο, αποσυνδέστε και επανασυνδέστε το VPN του κεντρικού υπολογιστή και επαναλάβετε τη δοκιμή. Το αποτέλεσμα πρέπει να ταιριάζει με την πολιτική πρόσβασης, και το ότι η δημόσια επίλυση λειτουργεί ξανά δεν λέει τίποτα για το αν τα ιδιωτικά ερωτήματα έμειναν στη σωστή διαδρομή.

Όταν η λειτουργία resolver του κεντρικού υπολογιστή δεν αλλάζει τίποτα, επαναφέρετε την καταγεγραμμένη τιμή και κρατήστε τις παρατηρήσεις. Ένας πελάτης VPN που εξαιρεί την κίνηση του hypervisor, ένας μη προσβάσιμος εσωτερικός resolver και μια καρφιτσωμένη ρύθμιση επισκέπτη χρειάζονται το καθένα διαφορετική διόρθωση, και η γεφύρωση του προσαρμογέα αλλάζει τον σχεδιασμό του δικτύου αντί να επαναφέρει το DNS.

Σχετικά άρθρα