Η σύνδεση πετυχαίνει, η αρχική σελίδα της πύλης ζωγραφίζεται και μετά ένα widget του πίνακα ελέγχου ή μια αναφορά μένει στο waiting for host μέχρι να παραιτηθεί ο περιηγητής. Οι δημόσιες τοποθεσίες φορτώνουν κανονικά όλη την ώρα και κανένα διαπιστευτήριο δεν έχει αλλάξει. Το ότι φτάνουν μικρές απαντήσεις ενώ οι μεγάλες κολλάνε είναι η υπογραφή ενός ταβανιού μεγέθους πακέτου και όχι ενός κανόνα πρόσβασης. Επιβεβαιώστε αυτή την ανάγνωση πριν αλλάξετε οτιδήποτε άλλο στο προφίλ.

Ξεχωρίστε ένα πρόβλημα μεγέθους από ένα πρόβλημα πολιτικής

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

Ο μηχανισμός είναι η ενθυλάκωση. Κάθε εσωτερικό πακέτο αποκτά κεφαλίδες σήραγγας, ώστε ένα ωφέλιμο φορτίο που χωράει στη φυσική ζεύξη γίνεται εξωτερικό πακέτο που δεν χωράει πια, και ό,τι φέρει το bit do-not-fragment απορρίπτεται χωρίς απάντηση που μπορεί να ερμηνεύσει ο περιηγητής.

Μετρήστε το ταβάνι με δοκιμές do-not-fragment

Μετρήστε το ταβάνι αντί να το μαντέψετε. Στείλτε δοκιμές που αρνούνται τον τεμαχισμό και μειώστε το φορτίο βήμα βήμα μέχρι να επιστρέψει μια απάντηση, ξεκινώντας με μια εντολή όπως ping -M do -s 1472 host. Μια απάντηση που παραπονιέται ότι χρειάζεται τεμαχισμός ενώ το DF είναι ορισμένο σημαίνει ότι η τιμή είναι ακόμη πολύ υψηλή. Επαναλάβετε στο 1462, μετά στο 1452, και σταματήστε στο πρώτο μέγεθος που επιστρέφει. Καταγράψτε τον αριθμό μαζί με τον κεντρικό υπολογιστή που δοκιμάσατε, γιατί η απάντηση ανήκει σε εκείνη τη διαδρομή και όχι στο πρωτόκολλο γενικά.

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

Εφαρμόστε την τιμή στη συσκευή της σήραγγας

Εφαρμόστε το αποτέλεσμα στη διεπαφή που δημιούργησε ο πελάτης, όχι στον προσαρμογέα Wi-Fi. Σε πελάτη Linux αυτό είναι ip link set dev tun0 mtu 1300 και μετά ip link show tun0 για να επιβεβαιώσετε ότι η τιμή εφαρμόστηκε. Χρησιμοποιήστε όποιο όνομα συσκευής αναφέρει ο πελάτης, καθώς ποικίλλει ανάλογα με την υλοποίηση και με το πώς χτίστηκε η σήραγγα.

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

Χρησιμοποιήστε πρώτα τα αιτήματα MTU του ίδιου του πελάτη

Όταν ελέγχετε την κλήση, ο πελάτης μπορεί να ζητήσει ένα μέγεθος αντί να μπαλωθεί εκ των υστέρων. --mtu ζητά MTU σήραγγας από τον διακομιστή, και --base-mtu δηλώνει το MTU της υποκείμενης διαδρομής ώστε η πύλη να μπορεί να υπολογίσει το νούμερο της σήραγγας. Και τα δύο είναι αιτήματα, και το εγχειρίδιο του πελάτη δεν υπόσχεται ότι η πύλη θα ικανοποιήσει κανένα από αυτά.

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

Επαληθεύστε με τη μεταφορά που απέτυχε και μετά κάντε το μόνιμο

Μια τοπική αλλαγή ip link διαρκεί μέχρι ο πελάτης να ξαναχτίσει τη σήραγγα, κάτι που συμβαίνει στην επόμενη επανασύνδεση ή συνέχιση. Βάλτε την τιμή εκεί όπου ξεκινά η σύνδεση: ένα περιτύλιγμα που τρέχει τον πελάτη και μετά ρυθμίζει τη συσκευή, μια μονάδα systemd με βήμα ExecStartPost, ή την επιλογή του πελάτη όταν την αποδέχεται η πύλη. Κρατήστε την δίπλα στο προφίλ στον έλεγχο εκδόσεων ώστε ο επόμενος να δει γιατί υπάρχει ο αριθμός.

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

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

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