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

Ελέγξτε τι επιλύεται σήμερα και τι απλώς φαίνεται λυμένο

Χωρίστε πρώτα τις δύο ερωτήσεις: ένα ερώτημα unicast για ένα όνομα κεντρικού υπολογιστή ρωτά έναν resolver, ενώ μια αναζήτηση για _ipp._tcp ρωτά τον τοπικό σύνδεσμο. Στο Linux, το avahi-browse -a δείχνει τι μπορεί να δει το Multicast DNS και το resolvectl query name.local δείχνει τι κάνει η στοίβα resolver με αυτό το όνομα. Στο macOS, το dns-sd -B _ipp._tcp απαριθμεί τις ανακαλυφθείσες υπηρεσίες χωρίς να χρειάζεται πρώτα μια διεύθυνση.

Αν η διεύθυνση απαντά και το όνομα όχι, η δρομολόγηση λειτουργεί και η ανακάλυψη όχι. Ένα όνομα .local μπορεί επίσης να απαντηθεί στον ίδιο τον υπολογιστή μέσω nss-mdns χωρίς εγκατεστημένο avahi-browse, οπότε ένα επιτυχές getent ή ping σε αυτό το όνομα δεν είναι απόδειξη ότι η ανακάλυψη πέρασε τη σήραγγα· το αποτέλεσμα αναζήτησης και το αποτέλεσμα του resolver είναι διαφορετικά στοιχεία. Οι εφαρμογές κάνουν cache ό,τι ανακάλυψαν, γι' αυτό η αποτυχία εμφανίζεται συχνά ώρες μετά τη σύνδεση και όχι κατά τη σύνδεση. Κλείστε και ανοίξτε ξανά την εφαρμογή και μετά ελέγξτε αν η καταχώριση στην cache κρατά όνομα ή διεύθυνση, γιατί μια διεύθυνση συνεχίζει να λειτουργεί πολύ μετά τη διακοπή της ανακάλυψης.

Γιατί το ερώτημα δεν διασχίζει ποτέ τη σήραγγα

Το Multicast DNS στέλνει ερωτήματα στη 224.0.0.251, μέσα στο μπλοκ ελέγχου τοπικού δικτύου, στη θύρα UDP 5353. Οι δρομολογητές δεν προωθούν διευθύνσεις από αυτό το μπλοκ, οπότε το ερώτημα μένει στον σύνδεσμο στον οποίο στάλθηκε. Οι αποστολείς θέτουν επίσης το IP TTL, ή το όριο αλμάτων IPv6, στο 255 ώστε ο παραλήπτης να μπορεί να απορρίψει ένα πακέτο που έχει ήδη διασχίσει δρομολογητή· έτσι το πρωτόκολλο εντοπίζει πλαστογράφηση εκτός συνδέσμου, όχι έτσι μένει τοπικό. Η τοπικότητα προέρχεται από τη διεύθυνση προορισμού, όχι από TTL ενός άλματος.

Ο τύπος της σήραγγας έχει επίσης σημασία. Μια διεπαφή τύπου tun μεταφέρει πακέτα IP και τίποτε άλλο, οπότε καμία ομάδα multicast δεν επιβιώνει μέσω αυτής. Μια γέφυρα τύπου tap επεκτείνει το ίδιο το πεδίο εκπομπής, γι' αυτό ορισμένα παλιά σχέδια γεφύρωναν αντί να δρομολογούν και κληρονόμησαν κάθε πρόβλημα που φέρνει η γεφύρωση.

Μια εξαίρεση για αξιόπιστο LAN δεν αλλάζει τίποτα από αυτά, γιατί αποφασίζει ποια κίνηση μπορεί να χρησιμοποιήσει τη σήραγγα αντί να διδάσκει στη σήραγγα να προωθεί multicast. Το πακέτο εξακολουθεί να μην έχει κοινό τμήμα για να ακουστεί.

Επιλέξτε έναν σχεδιασμό ονομάτων που μπορείτε να υποστηρίξετε

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

Ένας μεσολαβητής ανακάλυψης ή ένας ανακλαστήρας mDNS μπορεί να γεφυρώσει το κενό και είναι πραγματικός σχεδιασμός με δικό του κεντρικό υπολογιστή, δική του έκθεση και δικές του απαιτήσεις πελατών. Δεν εμφανίζεται επειδή προσθέσατε μια διαδρομή. Μη προωθείτε ποτέ ερωτήματα .local σε δημόσιο resolver: ο τομέας είναι δεσμευμένος για τοπική χρήση multicast από το RFC 6762 και η αποστολή του προς τα έξω παράγει αργές αποτυχίες και περιττή αποκάλυψη δεδομένων.

Επαληθεύστε την υπηρεσία, όχι το όνομα

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

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

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