Συμπίεση OpenVPN: απόρριψη, μόνο λήψη ή πλήρες LZO;
Το comp-lzo no δεν είναι αυστηρή απόρριψη. Συγκρίνετε την απόρριψη της συμπίεσης, την αποδοχή προς μία κατεύθυνση κατά τη μετάβαση και τη διατήρησή της, και μετά ελέγξτε τι κάνει το offload.
Τρεις γραμμές σε ένα προφίλ μοιάζουν να απενεργοποιούν όλες τη συμπίεση, και μόνο μία από αυτές το κάνει πραγματικά. Η διαφορά μετράει, γιατί η προειδοποίηση που θέλετε να σιγήσετε είναι σύμπτωμα, ενώ η πολιτική είναι αυτό που κρίνει αν ο απέναντι μπορεί ακόμη να συμπιέσει. Η σύγκριση των επιλογών σε έναν άξονα, δηλαδή τι επιτρέπει η καθεμία μετά την αλλαγή, αφαιρεί το μεγαλύτερο μέρος της ασάφειας. Ποια θέλετε εξαρτάται από το αν κάνετε μετάβαση ή εγκαθίσταστε.
Τρεις πολιτικές που μοιάζουν ίδιες σε ένα αρχείο ρυθμίσεων
Κάθε επιλογή απαντά σε διαφορετικό ερώτημα. Το allow-compression no απορρίπτει ευθέως τα συμπιεσμένα ωφέλιμα φορτία, το allow-compression asym αποσυμπιέζει ό,τι φτάνει και δεν συμπιέζει ποτέ ό,τι φεύγει, και το παλιό comp-lzo no αφήνει χώρο ώστε ένα push του απέναντι να ενεργοποιήσει τη συμπίεση. Μόνο το πρώτο είναι πολιτική που δεν μπορεί να παρακάμψει ένας διακομιστής.
Γράψτε τα τρία σε έναν πίνακα πριν επιλέξετε, γιατί τα ονόματα είναι αρκετά κοντά ώστε να παραπλανήσουν έναν ελεγκτή. Δύο από αυτά εκτελούν ακόμη κώδικα αποσυμπίεσης σε πακέτα που λαμβάνονται, και ακριβώς γι' αυτό μιλά το επιχείρημα ασφαλείας. Το τρίτο αφαιρεί την ικανότητα αντί να περιορίζει την κατεύθυνσή της. Αν το αρχείο αλλαγής λέει ότι η συμπίεση είναι απενεργοποιημένη, ακριβώς μία γραμμή ικανοποιεί αυτή την πρόταση.
Η προειδοποίηση που ξεκίνησε την έρευνα δεν είναι ο στόχος. Το να τη σιγήσετε αφήνοντας μια επιτρεπτική πολιτική δίνει καθαρό αρχείο καταγραφής και αμετάβλητη έκθεση.
| Setting | What it permits | When it is the right answer |
|---|---|---|
allow-compression no | No compressed payloads, and no compression framing under offload | Both ends can be changed now |
allow-compression asym | Decompress inbound only | A dated migration while peers catch up |
comp-lzo no | Off locally, still pushable by a peer | Legacy compatibility you can still justify |
Τι σημαίνει το no στην παλιά επιλογή LZO
Στην παρωχημένη επιλογή LZO, το no απενεργοποιεί τη συμπίεση για την τοπική πλευρά χωρίς να απαγορεύει στον απέναντι να την ενεργοποιήσει εκεί όπου η πολιτική το επιτρέπει. Αυτή η ασυμμετρία είναι ο λόγος που η μεταφορά ενός προφίλ σε αυστηρή απόρριψη αλλάζει τη συμπεριφορά με τρόπους που μια εργαστηριακή δοκιμή με έναν διακομιστή μπορεί να μην αποκαλύψει ποτέ.
Η ανησυχία ασφαλείας είναι υπό όρους, όχι απόλυτη. Όταν ένας επιτιθέμενος μπορεί να τοποθετήσει επιλεγμένο απλό κείμενο δίπλα σε ένα μυστικό και να παρακολουθήσει πώς η συμπίεση αλλάζει το μέγεθος της κρυπτογραφημένης κίνησης, υπάρχει κανάλι πληροφορίας. Η μετάβαση από το LZO στο LZ4 αλλάζει τον αλγόριθμο και την πλαισίωση, όχι αυτόν τον μηχανισμό.
Άρα το έντιμο πλαίσιο αφορά το τι είστε διατεθειμένοι να επιτρέψετε, όχι το ποιος αλγόριθμος συνιστάται τώρα. Η αυστηρή απόρριψη είναι η μόνη επιλογή που δεν εξαρτάται από τη συνεργασία της άλλης πλευράς.
Η μόνο λήψη είναι κατάσταση μετάβασης, όχι προορισμός
Η ασύμμετρη αποδοχή υπάρχει ώστε η μία πλευρά να σταματήσει να συμπιέζει ενώ η άλλη το περιμένει ακόμη. Είναι μια γέφυρα, και οι γέφυρες χρειάζονται ημερομηνία λήξης και υπεύθυνο. Καταγράψτε ποιοι ομότιμοι στέλνουν ακόμη συμπιεσμένη κίνηση, γιατί η πολιτική επιτρέπει ακριβώς αυτή την κίνηση. Χωρίς αυτή τη λίστα, η κατάσταση μετάβασης γίνεται μόνιμη ρύθμιση από αδράνεια.
Ένας πελάτης δεν μπορεί να εξαναγκάσει έναν ασύμβατο διακομιστή να εγκαταλείψει την παλιά πλαισίωση επεξεργαζόμενος το δικό του αρχείο. Η κατεύθυνση του push αποφασίζεται στον διακομιστή, οπότε η μετάβαση ολοκληρώνεται στη ρύθμιση του διακομιστή και στα αρχεία ανά πελάτη.
Οι λειτουργίες stub διατηρούν την πλαισίωση παρακάμπτοντας την ίδια την εργασία συμπίεσης, και δεν είναι άμεσο ισοδύναμο της παλαιότερης επιλογής. Δοκιμάστε τις με τον παλαιότερο ομότιμο που πρέπει ακόμη να υποστηρίζετε πριν δεσμευτείτε σε μία.
Πού το offload του καναλιού δεδομένων αλλάζει την απάντηση
Το offload του καναλιού δεδομένων μεταφέρει τη διαχείριση πακέτων στον πυρήνα, και ένα προφίλ που εξαρτάται ακόμη από την πλαισίωση συμπίεσης μπορεί να μην ταιριάζει σε αυτή τη διαδρομή. Η αποτυχία δεν είναι πάντα θορυβώδης: ένας πελάτης συνδέεται και μετά συμπεριφέρεται διαφορετικά από τη σήραγγα που δοκιμάσατε.
Ελέγξτε ποια υλοποίηση είναι ενεργή πριν και μετά την αλλαγή, όχι μόνο αν η σύνδεση πετυχαίνει. Όταν η διαδρομή με offload απορρίπτει την πλαισίωση συμπίεσης, μια πολιτική αυστηρής απόρριψης και μια ανάπτυξη με offload συμφωνούν, ενώ μια επιτρεπτική πολιτική και μια ανάπτυξη με offload δεν συμφωνούν.
Αυτός ο συνδυασμός αξίζει τη δική του δοκιμή, γιατί εκεί ακριβώς ένα αρχείο που φαίνεται σωστό είναι σιωπηλά όχι αυτό που χρησιμοποιείται. Συγκρίνετε τη διαπραγματευμένη κατάσταση με την πρόθεση που καταγράφεται στο προφίλ, γιατί μόνο μία από τις δύο φαίνεται σε ένα αρχείο καταγραφής.
Διαλέξτε πολιτική και μετά επαληθεύστε το διαπραγματευμένο αποτέλεσμα
Διαλέξτε αυστηρή απόρριψη όταν μπορείτε να αλλάξετε και τις δύο πλευρές, ασύμμετρη αποδοχή όταν δεν μπορείτε ακόμη, και πλήρη συμπίεση μόνο όταν μπορείτε να εξηγήσετε γιατί η έκθεση είναι αποδεκτή. Μετά επαληθεύστε τι διαπραγματεύτηκε και όχι τι λέει το αρχείο. Ένα πιο ήσυχο αρχείο καταγραφής είναι απόδειξη μόνο όταν ταιριάζει με την πολιτική που σκοπεύατε να εφαρμόσετε.
Κρατήστε την απόφαση δίπλα στο προφίλ στο οποίο εφαρμόζεται, με την ημερομηνία και τους ομότιμους που εξαιρούνται ακόμη. Έξι μήνες μετά, αυτή η σημείωση είναι η διαφορά ανάμεσα σε μια σκόπιμη εξαίρεση και ένα ατύχημα που κανείς δεν μπορεί να χρονολογήσει. Γράψτε την στο ίδιο αποθετήριο με το προφίλ, ώστε ο επόμενος συντάκτης να δει τον λόγο πριν από την οδηγία.