Χαλάει η επιτάχυνση NAT υλικού τους κανόνες δρομολόγησης του VPN σας;
Η επιτάχυνση μπορεί να παρακάμψει το άγκιστρο στο οποίο βασίζεται η πολιτική σας ή απλώς να μετακινήσει το σημείο όπου ενημερώνονται οι μετρητές. Διαχωρίστε αυτά τα ενδεχόμενα πριν αλλάξετε ρυθμίσεις.
Η ενεργοποίηση της επιτάχυνσης NAT υλικού μπορεί να κάνει μια εγκατάσταση VPN ταχύτερη, αλλά μπορεί επίσης να κάνει μια πολιτική δρομολόγησης να πάψει να εφαρμόζεται σε ορισμένα πακέτα χωρίς κανένα σφάλμα. Ποιο από τα δύο συμβαίνει εξαρτάται από το τι παρακάμπτει η γρήγορη διαδρομή, και αυτό διαφέρει ανάμεσα στο firmware, στην έκδοση του πυρήνα και στο είδος της επιτάχυνσης που χρησιμοποιείται. Το μενού ρυθμίσεων σπάνια σας λέει ποια μόλις ενεργοποιήσατε.
Δύο ισχυρισμοί αξίζει να διαχωριστούν πριν κατηγορηθεί ο επιταχυντής: ότι ένας κανόνας έπαψε να επιβάλλεται και ότι ένας μετρητής έπαψε να ενημερώνεται. Δεν είναι η ίδια παρατήρηση.
Τρεις διαφορετικές επιταχύνσεις συνενώνονται
Το offload προώθησης, η κρυπτογραφική επιτάχυνση και το offload του καναλιού δεδομένων της σήραγγας είναι ξεχωριστοί μηχανισμοί που συχνά μοιράζονται έναν μόνο διακόπτη. Το offload προώθησης επιτρέπει στις εδραιωμένες ροές να παρακάμπτουν μέρος της κανονικής στοίβας, η κρυπτογραφική επιτάχυνση κάνει τη δουλειά κρυπτογράφησης φθηνότερη και το offload σήραγγας μεταφέρει την ενθυλάκωση στο υλικό. Ένας δρομολογητής που επιταχύνει συνηθισμένη δρομολογούμενη κίνηση μπορεί να αφήσει την κίνηση της σήραγγας εξ ολοκλήρου στην αργή διαδρομή, και αυτό είναι αποτέλεσμα απόδοσης και όχι αλλαγή πολιτικής. Υπάρχει και το αντίστροφο, όπου η κίνηση της σήραγγας περνά από offload ενώ η γύρω πολιτική εξακολουθεί να αξιολογείται.
Τα flowtables του Linux είναι η τεκμηριωμένη περίπτωση που αξίζει περισσότερο ανάγνωση, αφού οι εδραιωμένες ροές μπορούν να παραδοθούν σε μια γρήγορη διαδρομή. Η λογιστική και η διαχείριση κατάστασης τότε διαφέρουν από την κλασική προώθηση, και γι' αυτό οι μετρητές αρχίζουν να φαίνονται περίεργοι.
Ένας μετρητής που σταματά να κινείται αποδεικνύει λίγα
Οι μετρητές κανόνων μετρούν τα πακέτα που περνούν από τον κανόνα, και μια ροή που πέρασε από offload μπορεί να μην ξαναπεράσει ποτέ από αυτόν μετά το πρώτο πακέτο. Αυτό παράγει έναν μετρητή που παγώνει ενώ η κίνηση συνεχίζεται, και μοιάζει ακριβώς με παράκαμψη αν εμπιστεύεστε τον αριθμό. Η παρακολούθηση του μετρητή εξακολουθεί να είναι χρήσιμη ως ένδειξη ότι η ροή εγκατέλειψε τη μετρούμενη διαδρομή. Το υπόλοιπο της διάγνωσης πρέπει να προέλθει από το πού πηγαίνουν πραγματικά τα πακέτα.
Το αντίθετο συμπέρασμα αποτυγχάνει εξίσου άσχημα. Μια γρήγορη λήψη δεν δείχνει ότι οι κανόνες εξαιρέσεων και η διαχείριση αστοχιών εξακολουθούν να ισχύουν, γιατί δοκιμάζει μία ροή και όχι την πολιτική.
Τρεις συνθήκες καθορίζουν αν το offload χαλάει την πολιτική
Η πρώτη συνθήκη είναι αν η γρήγορη διαδρομή συμβουλεύεται το άγκιστρο από το οποίο εξαρτάται η πολιτική σας, γιατί μια πολιτική εκφρασμένη ως σημάνσεις και διαδρομές επιβιώνει συχνότερα από μία που χτίζεται από φιλτράρισμα ανά πακέτο. Η δεύτερη είναι αν το firmware επιτρέπει καθόλου τον συνδυασμό, γιατί μερικές εκδόσεις απενεργοποιούν αυτόματα το offload όταν είναι ενεργή μια σήραγγα ή μια λειτουργία τείχους προστασίας. Η τρίτη είναι αν η κίνηση είναι κατάλληλη, γιατί η επιτάχυνση συνήθως συνδέεται με εδραιωμένες ροές και μπορεί να αποκλείει κατακερματισμένα ή ασυνήθιστα πακέτα. Όπου και οι τρεις ευνοούν την επιτάχυνση, η πολιτική εξακολουθεί να ισχύει, και όπου η πρώτη αποτυγχάνει, καμία ποσότητα συντονισμού δεν την αποκαθιστά.
Διαβάστε την τεκμηρίωση του κατασκευαστή για τον συνδυασμό που εκτελείτε, όχι για το μοντέλο δρομολογητή γενικά. Οι εκδόσεις firmware αλλάζουν αυτές τις απαντήσεις σιωπηλά.
Δοκιμάστε την πολιτική, όχι τη διεκπεραιωτική ικανότητα
Μετρήστε τι υποτίθεται ότι εγγυάται η πολιτική πριν μετρήσετε πόσο γρήγορη είναι. Οι παρακάτω εντολές δείχνουν αν είναι εγκατεστημένο ένα flowtable, τι βλέπει η παρακολούθηση συνδέσεων και από ποια διεύθυνση βγαίνει ο πελάτης. Συγκρίνετε μια νέα σύνδεση μετά την αλλαγή, αφού μια εδραιωμένη μπορεί να κρατήσει την παλιά της διαδρομή.
nft list flowtables
conntrack -L | head -n 20
curl -sS --max-time 8 https://api.ipify.org; echo
ping -c 3 192.168.50.20
Μια καταχώριση flowtable που καλύπτει την κίνηση της σήραγγας σας λέει ότι η γρήγορη διαδρομή είναι σε δράση, και ο πίνακας συνδέσεων δείχνει αν η ροή παρακολουθείται όπως περιμένετε. Ο έλεγχος διεύθυνσης επιβεβαιώνει την έξοδο όταν η πολιτική αφορά την έξοδο στο διαδίκτυο, ενώ το ping επιβεβαιώνει έναν ιδιωτικό προορισμό που πρέπει να παραμείνει προσβάσιμος. Εκτελέστε το ίδιο σύνολο με την επιτάχυνση κλειστή και μετά ανοιχτή, και συγκρίνετε τα αποτελέσματα αντί για τους χρόνους.
Καταγράψτε την προηγούμενη ρύθμιση ώστε το πείραμα να παραμείνει αναστρέψιμο. Μια γενική οδηγία να απενεργοποιηθεί το offload παντού θεωρείται παράκαμψη, όχι εύρημα.