Τρεις ρυθμίσεις σε έναν πελάτη Linux ακούγονται όλες σαν «κάνε τα πακέτα μικρότερα» και λειτουργούν σε διαφορετικά επίπεδα. Το MTU της διεπαφής περιορίζει κάθε πακέτο που στέλνει η συσκευή. Το MTU μιας διαδρομής περιορίζει τα πακέτα που χρησιμοποιούν αυτή τη διαδρομή, που είναι συχνά αυτό που θέλετε πραγματικά για έναν προορισμό VPN. Ο περιορισμός TCP MSS αλλάζει αυτό που διαπραγματεύονται τα δύο άκρα και δεν κάνει τίποτα για το UDP.

Τρεις έλεγχοι που μοιάζουν με το ίδιο κουμπί

Βάλτε τους δίπλα-δίπλα πριν επιλέξετε, γιατί η λάθος γραμμή εξηγεί τις περισσότερες συμβουλές που δεν δουλεύουν:

ControlScopeWhat it cannot fix
Interface MTUEvery packet the device sendsNothing, but it over-constrains unrelated traffic
Route MTUPackets using that routeA send that the lookup never routes there
MSS clampTCP handshake on that pathUDP payload sizes and ICMP

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

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

Συνδέστε τον προϋπολογισμό με τη διαδρομή που κερδίζει την αναζήτηση

Μια ενδεικτική εγγραφή διαδρομής IPv4 μοιάζει έτσι:

ip -4 route get 10.60.0.20
ip -4 route add 10.60.0.0/16 dev tun-office src 10.90.0.2 mtu 1380

Διαβάστε την εγγραφή ως περιγραφή πρόθεσης, όχι ως τιμή για επικόλληση. Το πρόθεμα, η συσκευή και η προτιμώμενη πηγή πρέπει να ταιριάζουν με την πραγματική διαμόρφωση, και ο αριθμός πρέπει να προέρχεται από στοιχεία για την ενθυλακωμένη διαδρομή, όχι από ανάρτηση ιστολογίου. Το MTU της διαδρομής περιορίζει το εσωτερικό πακέτο IP, που δεν είναι το ίδιο με ωφέλιμο φορτίο TCP 1380 byte ή κρυπτογραφημένο εξωτερικό πακέτο 1380 byte.

Δείτε πού επιλύεται πραγματικά η αναζήτηση πριν προσθέσετε οτιδήποτε. Ένας υπολογιστής με κανόνες πολιτικής μπορεί να δρομολογήσει έναν προορισμό μέσω πίνακα διαφορετικού από main, και μια μετρική που υπάρχει μόνο στον main είναι αόρατη σε αυτό το αίτημα. Συγκρίνετε ip -4 route show table all με την απάντηση από ip route get, συμπεριλαμβανομένου του πλαισίου σήμανσης ή χώρου ονομάτων όταν οι κανόνες τα χρησιμοποιούν. Αν τα δύο διαφωνούν, ο πίνακας που απάντησε είναι αυτός που χρειάζεται τη μετρική, όχι αυτός που φαίνεται πιο τακτοποιημένος.

το mtu δεν είναι mtu lock

Από προεπιλογή ο πυρήνας μπορεί ακόμη να ενημερώνει το MTU της διαδρομής από ανατροφοδότηση ICMP, και γι' αυτό υπάρχει η ανακάλυψη MTU διαδρομής. Η προσθήκη lock το σταματά. Είναι διαφορετική απόφαση, όχι ισχυρότερος τρόπος να κρατήσετε τον ίδιο αριθμό, και για το IPv4 αλλάζει την τεκμηριωμένη διαχείριση του bit «μην κατατμήσεις».

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

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

Το λογισμικό σήραγγας προσθέτει δικά του κουμπιά μεγέθους

OpenVPN- mssfix ρυθμίζει το μέγεθος τμήματος TCP για τη τεκμηριωμένη περίπτωση σήραγγας UDP. Λειτουργεί στη συνομιλία TCP, άρα δεν είναι άλλη γραφή του MTU διαδρομής του λειτουργικού συστήματος και δεν μπορεί να βοηθήσει υπηρεσία UDP που αγνοεί τη διαπραγμάτευση.

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

Κάντε το αναστρέψιμο και μετά αποδείξτε το

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

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

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

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