Η σήραγγα είναι ενεργή, οι τοποθεσίες IPv4 φορτώνουν και ένα όνομα κεντρικού υπολογιστή λήγει. Το άμεσο συμπέρασμα είναι ότι το VPN είναι χαλασμένο ή ότι τα διαπιστευτήρια είναι λάθος, και συνήθως κανένα από τα δύο δεν ισχύει. Το όνομα επέστρεψε και διεύθυνση IPv4 και διεύθυνση IPv6, η εφαρμογή διάλεξε μία, και μόνο ένας από αυτούς τους υποψηφίους είχε λειτουργική διαδρομή. Ο πελάτης πήρε την απόφαση επιλογής· η σήραγγα απλώς δεν κάλυπτε αυτό που επέλεξε.

Η επιλογή δεν είναι υπόσχεση κάλυψης

Η προεπιλεγμένη επιλογή διεύθυνσης, όπως περιγράφεται στο RFC 6724, καθορίζει ποιο ζεύγος πηγής και προορισμού προτιμά ένας υπολογιστής όταν υπάρχουν πολλά διαθέσιμα. Το Happy Eyeballs προσθέτει από πάνω μια στρατηγική σύνδεσης: ξεκινά προσπάθειες και στις δύο οικογένειες και κρατά όποια απαντήσει πρώτη, ώστε ο χρήστης να μην περιμένει να λήξει μια χαλασμένη οικογένεια.

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

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

Βρείτε την οικογένεια που χρησιμοποίησε πραγματικά το αίτημα

Ξεκινήστε από το όνομα, όχι από τη σήραγγα. Ρωτήστε και τους δύο τύπους εγγραφών και σημειώστε τι επέστρεψε:

dig +short A example.com
dig +short AAAA example.com
curl -4 -sS -o /dev/null -w '%{http_code}\n' https://example.com
curl -6 -sS -o /dev/null -w '%{http_code}\n' https://example.com

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

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

Ελέγξτε τη διαδρομή για αυτή την οικογένεια

Για την οικογένεια που αποτυγχάνει, ρωτήστε τον πυρήνα ποια διαδρομή θα χρησιμοποιούσε και συγκρίνετέ την με τις ρυθμισμένες διευθύνσεις της σήραγγας. Στο Linux, η ip -6 route get για τον προορισμό δείχνει τη διεπαφή και την πηγή που θα επιλέγονταν.

Στη συνέχεια ελέγξτε την ίδια τη σήραγγα. Οι ομότιμοι του WireGuard φέρουν λίστα επιτρεπόμενων IP, και μια καταχώριση για 0.0.0.0/0 δεν λέει τίποτα για το IPv6. Αν η λίστα του ομότιμου δεν έχει πρόθεμα IPv6, ο πελάτης δεν έχει λόγο να στείλει κίνηση AAAA στη σήραγγα, και το πακέτο φεύγει από αυτό που θα έκανε διαφορετικά ο υπολογιστής.

Οι κανόνες του τείχους προστασίας και η πολιτική NAT αξίζουν τον ίδιο έλεγχο ανά οικογένεια. Ένας κανόνας γραμμένος για IPv4 δεν καλύπτει το IPv6 σε καμία πλατφόρμα, και αυτός είναι ο πιο συνηθισμένος λόγος που η μία οικογένεια λειτουργεί ενώ η άλλη όχι.

Μην απενεργοποιείτε το IPv6 για να απλοποιήσετε το στιγμιότυπο οθόνης

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

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

Τι να βάλετε στο δελτίο

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

Οι κανόνες επιλογής διεύθυνσης του RFC 6724 εξηγούν γιατί ο πελάτης προτίμησε τον υποψήφιο που προτίμησε, και το RFC 8305 εξηγεί τη συμπεριφορά αγώνα που έκρυψε την καθυστέρηση. Κανένα από τα δύο δεν θα δρομολογήσει πακέτο για εσάς, και αυτό είναι το μέρος που πρέπει να κάνει η σήραγγα.

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