Το Samba χάνει τους τοπικούς διαμοιρασμούς τη στιγμή που OpenVPN συνδέεται, και η σήραγγα σχεδόν ποτέ δεν είναι η αιτία. Η προσάρτηση είναι εντάξει, το NAS λειτουργεί, και ο resolver που εγκατέστησε η σήραγγα απαντά σε ερωτήσεις για ένα όνομα που δεν έχει δει ποτέ. Το Samba ρωτά αυτόν τον resolver νωρίς στη σειρά αναζήτησής του, πιστεύει την απάντηση και συνδέεται σε μια διεύθυνση όπου τίποτα δεν ακούει. Η διόρθωση του διαμοιρασμού σημαίνει διόρθωση της απάντησης, όχι της προσάρτησης.

Πέντε έλεγχοι, με τη σειρά που εξαλείφει τις περισσότερες πιθανότητες ανά βήμα.

Ποιος απαντά για το σύντομο όνομα

Ρωτήστε το λειτουργικό σύστημα, όχι τον διαχειριστή αρχείων. Το resolvectl status εκτυπώνει τους διακομιστές DNS που συνδέονται με κάθε ζεύξη και σημειώνει ποια ζεύξη είναι η προεπιλεγμένη διαδρομή, και ένα ερώτημα για το σύντομο όνομα αναφέρει τον διακομιστή που απάντησε. Εκτελέστε το μία φορά για το όνομα του NAS και μία φορά για ένα όνομα που γνωρίζετε ότι υπάρχει στον τομέα του γραφείου. Αν οι δύο απαντήσεις προέρχονται από διαφορετικούς διακομιστές, βρήκατε τη διάσπαση.

Ελέγξτε αν η απάντηση ήταν αρνητική απάντηση ή διεύθυνση. Μια αρνητική απάντηση σημαίνει ότι το Samba θα έπρεπε να είχε προχωρήσει σε άλλο μηχανισμό, και η βλάβη είναι αλλού. Μια διεύθυνση σημαίνει ότι το Samba συνδέθηκε σε κάτι πραγματικό και δεν πήρε τίποτα πίσω.

Γιατί το Samba πιστεύει μια λανθασμένη απάντηση

Το Samba επιλύει ονόματα μέσω μιας σταθερής ακολουθίας που ορίζεται από το name resolve order. Στις περισσότερες διανομές η προεπιλογή περιλαμβάνει το host, που σημαίνει DNS, και εκτελείται πριν από τους μηχανισμούς μόνο για τοπικό δίκτυο όπως το broadcast του NetBIOS. Έτσι μια σήραγγα που σπρώχνει έναν resolver παίρνει το δικαίωμα της πρώτης άρνησης για κάθε όνομα διαμοιρασμού, συμπεριλαμβανομένων ονομάτων μίας ετικέτας που δεν έπρεπε ποτέ να φύγουν από το κτίριο.

Κανονικά ένα άγνωστο όνομα επιστρέφει αρνητική απάντηση και ο επόμενος μηχανισμός παίρνει τη σειρά του. Ορισμένοι resolvers, ειδικά των παρόχων και οι δημόσιοι, απαντούν σε άγνωστα ονόματα με σελίδα αναζήτησης ή διαφημιστική διεύθυνση. Αυτή η απάντηση μοιάζει με επιτυχία στη βιβλιοθήκη του resolver, οπότε το Samba σταματά να ψάχνει και καλεί μια διεύθυνση που δεν έχει καμία σχέση με το δίκτυό σας.

Το αποτέλεσμα είναι ένας διαμοιρασμός που εξαφανίζεται χωρίς παράθυρο σφάλματος. Τίποτα σε αυτή την ακολουθία δεν είναι αποτυχία δρομολόγησης VPN, γι' αυτό το ping προς το NAS εξακολουθεί να λειτουργεί ενώ η περιήγηση σε αυτό δεν λειτουργεί.

Δύο επιδιορθώσεις με διαφορετικό εύρος

Η στενή επιδιόρθωση κρατά τον επιβεβλημένο resolver και αλλάζει τι επιτρέπεται να τον ρωτά το Samba. Προσθέστε δύο γραμμές στη διαμόρφωση του Samba που διαβάζει πραγματικά ο δαίμονας, και μετά επανεκκινήστε την υπηρεσία:

[global]
   name resolve order = wins lmhosts bcast
   dns proxy = no

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

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

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

Το επίθεμα μπορεί να εξηγήσει τα πάντα

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

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

Αποδείξτε το μετά από επανασύνδεση

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

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

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

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