Γιατί η ανακάλυψη γειτόνων IPv6 αποτυγχάνει μέσω δρομολογημένου VPN
Η ανακάλυψη γειτόνων είναι πρωτόκολλο τοπικό για τη ζεύξη, οπότε μια δρομολογημένη σήραγγα την τερματίζει. Μια γέφυρα μπορεί να επεκτείνει τη ζεύξη, αλλά μόνο ως σχεδιαστική απόφαση με συνέπειες.
Η ανακάλυψη γειτόνων IPv6 ανήκει σε μια ζεύξη, και μια δρομολογημένη σήραγγα είναι όριο ανάμεσα σε δύο ζεύξεις. Αυτή η μία πρόταση εξηγεί σχεδόν κάθε αναφορά για έναν απομακρυσμένο υπολογιστή που απαντά στη διεύθυνσή του και δεν μπορεί να βρεθεί με κανέναν άλλο τρόπο. Έλεγξε το εύρος της διεύθυνσης που δοκιμάζεις πριν ελέγξεις τη σήραγγα. Μια τοπική διεύθυνση ζεύξης έχει νόημα μόνο στη δική της ζεύξη, και μια ομάδα multicast του ζητούμενου κόμβου έχει το ίδιο εύρος. Καμία από τις δύο δεν περνά δρομολογητή, και γι' αυτό ένα ping σε καθολική διεύθυνση μπορεί να πετύχει ενώ η ανακάλυψη για τον ίδιο υπολογιστή αποτυγχάνει.
Το εύρος προηγείται της διαμόρφωσης
Το αίτημα και η αναγγελία γείτονα φέρουν όριο αλμάτων 255 και δεν προωθούνται, εξ ορισμού. Ο δρομολογητής ανάμεσα στη σήραγγά σου και το απομακρυσμένο LAN προωθεί πακέτα IPv6 και δεν αναμεταδίδει μηνύματα γειτόνων για λογαριασμό του. Έτσι η κρυφή μνήμη γειτόνων στη διεπαφή της σήραγγας περιέχει τον ομότιμο και λίγα άλλα, που είναι σωστή συμπεριφορά και όχι ελάττωμα προς διόρθωση.
Μια τοπική διεύθυνση ζεύξης, όπως μια καταχώριση fe80::, έχει επίσης εύρος ζώνης, και το ίδιο κείμενο μπορεί να ονομάζει άλλον υπολογιστή σε άλλη ζεύξη. Το να δοκιμάσεις μία από την άλλη πλευρά της σήραγγας δεν αποδεικνύει τίποτε άλλο από το ότι η διεύθυνση είναι αμφίσημη.
Η παγίδα είναι η υπόθεση ότι το πρόθεμα είναι στη ζεύξη
Ένας υπολογιστής που πιστεύει ότι ένα πρόθεμα είναι στη ζεύξη στέλνει αίτημα γείτονα αντί να παραδώσει το πακέτο στον δρομολογητή του, και αυτό περιλαμβάνει ένα /64 που δρομολογείται σε απομακρυσμένη τοποθεσία. Όταν ένα τέτοιο πρόθεμα φτάνει ως στη ζεύξη, ο υπολογιστής ζητά από την τοπική ζεύξη έναν υπολογιστή που ζει αλλού, και τίποτε δεν απαντά. Δρομολόγησε κάτι μικρότερο προς τον απομακρυσμένο υπολογιστή, ή τερμάτισε το πρόθεμα στον δρομολογητή που θα απαντήσει γι' αυτό.
Ένα /128 για μία υπηρεσία είναι η λιγότερο εκπληκτική ρύθμιση, και αφαιρεί την ασάφεια εντελώς. Η προδιαγραφή ανακάλυψης γειτόνων περιγράφει το σύνολο μηνυμάτων και τη σημαία στη ζεύξη που το κρίνει.
Η γεφύρωση αλλάζει τους κανόνες σκόπιμα
Όταν η σήραγγα μεταφέρει πλαίσια Ethernet, το απομακρυσμένο και το τοπικό τμήμα γίνονται μία ζεύξη, το multicast φτάνει και στις δύο πλευρές, και η ανακάλυψη γειτόνων συμπεριφέρεται όπως σε μεταγωγέα. Οι συνέπειες έρχονται μαζί: πλημμύρα broadcast και multicast, ανίχνευση διπλών διευθύνσεων μέσω της γέφυρας, και αναγγελίες δρομολογητή που διαρρέουν σε τμήμα που δεν θα έπρεπε να τις βλέπει. Το πεδίο αστοχίας τώρα καλύπτει και δύο τοποθεσίες. Τίποτε από αυτά δεν είναι επιχείρημα κατά της γεφύρωσης, και κάθε σημείο είναι λόγος να γεφυρώνεις σκόπιμα και όχι παρεμπιπτόντως.
Η αλλαγή προφίλ από TUN σε TAP για να εμφανιστεί η ανακάλυψη είναι λάθος σειρά ενεργειών. Ο διακομιστής, ο πελάτης και το σχέδιο διευθυνσιοδότησης πρέπει να συμφωνούν, και οι κινητοί πελάτες δεν προσφέρουν καθόλου διεπαφή TAP, οπότε ένα τέτοιο σχέδιο λειτουργεί σε φορητό και αποτυγχάνει σε τηλέφωνο. Οι διαμεσολαβητές και οι αναμεταδότες γειτόνων είναι ξεχωριστοί μηχανισμοί με δικές τους απαιτήσεις, και ανήκουν στην τεκμηριωμένη ρύθμιση του διαχειριστή δικτύου και όχι στις ρυθμίσεις μιας εφαρμογής.
Δοκίμασε με τη διεύθυνση που χρησιμοποιεί η εφαρμογή
Επιβεβαίωσε τη διαδρομή με ip -6 route get, εξέτασε την καταχώριση γείτονα με ip -6 neigh, και μετά επιβεβαίωσε την υπηρεσία μέσω της δρομολογημένης διαδρομής. Το DNS και η διαδρομή επιστροφής είναι ξεχωριστοί έλεγχοι, και μια υγιής καταχώριση γείτονα δεν αποδεικνύει κανέναν από τους δύο.
Αν η εφαρμογή επιμένει σε προορισμό τοπικό για τη ζεύξη ή βασισμένο στην ανακάλυψη, αυτό είναι συζήτηση σχεδίασης και όχι άσκηση συντονισμού, γιατί καμία ρύθμιση πελάτη δεν κάνει έναν μηχανισμό περιορισμένο στη ζεύξη να λειτουργεί μέσω δρομολογητή.
Γράψε ποιο σχέδιο έχεις
Κατέγραψε αν είναι δρομολογημένο ή γεφυρωμένο πριν από το περιστατικό, αφού οι δύο αναπτύξεις απαντούν διαφορετικά σε αυτά τα ερωτήματα και ένας εφημερεύων μηχανικός δεν θα έπρεπε να το συμπεραίνει από ένα προφίλ.
Το να διαβάσεις μία φορά το σύνολο μηνυμάτων αφαιρεί τον πειρασμό να εξηγήσεις μια ιδιότητα εύρους ζεύξης ως σφάλμα VPN, που είναι η ακριβότερη λανθασμένη διάγνωση σε αυτόν τον τομέα.