Ένα κοντέινερ Windows που χρειάζεται ένα κοινόχρηστο αρχείο στην άλλη πλευρά της σήραγγάς σας αποτυγχάνει με δύο ανεξάρτητους τρόπους, και ο Explorer του κεντρικού υπολογιστή δεν αποδεικνύει κανέναν από τους δύο. Το κοντέινερ έχει το δικό του τελικό σημείο δικτύου και τη δική του ταυτότητα διεργασίας. Ένα όνομα που επιλύεται στην επιφάνεια εργασίας και μια συνεδρία που δέχεται εκεί ο διακομιστής αρχείων περιγράφουν την επιφάνεια εργασίας, όχι το φόρτο εργασίας.

Ο Explorer του κεντρικού υπολογιστή δεν είναι απόδειξη

Το άνοιγμα του κοινόχρηστου αρχείου στον κεντρικό υπολογιστή χρησιμοποιεί τον πελάτη DNS του, τον πίνακα δρομολόγησης του και τον λογαριασμό με τον οποίο είναι συνδεδεμένος. Μια διεργασία κοντέινερ δεν κληρονομεί τίποτα από αυτά σιωπηρά, ακόμη και όταν το κοντέινερ εκτελείται στο ίδιο μηχάνημα και ο πελάτης VPN εκτελείται επίσης εκεί. Το πρώτο όριο είναι η διαδρομή δικτύου: μπορεί το κοντέινερ να επιλύσει το όνομα και μπορεί να ανοίξει συνεδρία TCP στη θύρα SMB. Το δεύτερο είναι η ταυτότητα: δέχεται ο διακομιστής αρχείων αυτό που παρουσιάζει το κοντέινερ, με τα δικαιώματα που χρειάζεται το φόρτο εργασίας.

Η αντιμετώπισή τους ως ένα πρόβλημα παράγει τον γνωστό κύκλο διεύρυνσης κανόνων τείχους προστασίας για να διορθωθεί αυτό που στην πραγματικότητα είναι απάντηση άρνησης πρόσβασης από το κοινόχρηστο αρχείο.

Ακολουθήστε το αίτημα του ίδιου του κοντέινερ

Η δικτύωση των κοντέινερ Windows διαχειρίζεται από την Υπηρεσία Δικτύωσης Κεντρικού Υπολογιστή, η οποία δημιουργεί τελικά σημεία με δικό τους χώρο ονομάτων δικτύου. Η λειτουργία που επιλέξατε καθορίζει αν το τελικό σημείο μεταφράζεται, γεφυρώνεται ή συνδέεται σε δίκτυο κοινό με τον κεντρικό υπολογιστή. Αυτή η απόφαση αλλάζει δύο πράγματα ταυτόχρονα: τι μπορεί να επιλύσει το κοντέινερ και ποια διεύθυνση προέλευσης βλέπει ο διακομιστής αρχείων.

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

docker exec -it app powershell -Command "Resolve-DnsName files.corp.example"
docker exec -it app powershell -Command "Test-NetConnection files.corp.example -Port 445"
docker exec -it app powershell -Command "Get-NetIPConfiguration"

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

Η ταυτότητα είναι ξεχωριστή απόφαση

Ένα γράμμα μονάδας που αντιστοιχίζεται από διαδραστικό χρήστη δεν είναι διεπαφή εφαρμογής. Υπάρχει σε μία συνεδρία σύνδεσης, και μια διεργασία κοντέινερ δεν είναι μέρος της. Χρησιμοποιήστε τη διαδρομή UNC και δώστε στο φόρτο εργασίας ταυτότητα που υποστηρίζει το μοντέλο ανάπτυξης. Όπου ο τομέας το υποστηρίζει, ένας διαχειριζόμενος λογαριασμός υπηρεσίας ομάδας (gMSA) παρέχει διαχειριζόμενη ταυτότητα μέσω προδιαγραφής διαπιστευτηρίων.

Ο οδηγός gMSA για κοντέινερ της Microsoft περιγράφει αυτή τη διάταξη προδιαγραφής διαπιστευτηρίων και τις προϋποθέσεις της, που περιλαμβάνουν ιδιότητα μέλους τομέα και κεντρικό υπολογιστή ικανό να ανακτήσει τα διαπιστευτήρια. Ο λογαριασμός, η ανάκτηση, η ταυτότητα διεργασίας μέσα στο κοντέινερ και τα δικαιώματα του κοινόχρηστου αρχείου πρέπει όλα να ταιριάζουν. Μια σύνδεση VPN δεν είναι αυτή η ταυτότητα, και η ενσωμάτωση κωδικού σε ένα είδωλο για να αναπαραχθεί η συνεδρία του χρήστη του κεντρικού υπολογιστή δημιουργεί μόνιμη έκθεση.

Κρατήστε το στάδιο αποτυχίας ορατό

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

Δοκιμάστε με την ταυτότητα του ίδιου του φόρτου εργασίας και δοκιμάστε και μια άρνηση.

Σχεδιάστε την επανασύνδεση

Οι διαδρομές VPN πέφτουν. Όταν η σήραγγα επιστρέψει, ένα τελικό σημείο μπορεί να επιστρέψει με διαφορετική μεταφρασμένη διεύθυνση, και μια υπάρχουσα συνεδρία SMB μπορεί να είναι νεκρή χωρίς να το αντιληφθεί η εφαρμογή. Χειριστείτε το στην εφαρμογή: αποκαταστήστε τη διαδρομή και την ταυτότητα, επαναλάβετε τη λειτουργία και συμβιβάστε μια λειτουργία αρχείου με άγνωστο αποτέλεσμα αντί να υποθέσετε ότι δεν συνέβη τίποτα.

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

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