OpenVPN ή WireGuard; Αποφασίστε από την ταυτότητα και τη μεταφορά
Τα κλειδιά, οι ροές σύνδεσης και η μεταφορά μόνο μέσω UDP διαμορφώνουν την επιλογή πολύ πριν τη ρυθμαπόδοση. Κάντε τέσσερις ελέγχους και κρατήστε τη μέτρηση τίμια.
Η σύγκριση αυτών των δύο πρωτοκόλλων είναι χρήσιμη μόνο αν συγκρίνει αυτό που θα διαχειριστείτε πραγματικά. Το WireGuard αναγνωρίζει τους ομοτίμους με δημόσιο κλειδί και μεταφέρει το πρωτόκολλό του μέσω UDP, ενώ OpenVPN προσφέρει ευρύτερο σύνολο ρυθμίσεων ελέγχου ταυτότητας και μπορεί να λειτουργήσει μέσω UDP ή TCP όταν ο διακομιστής παρέχει και τα δύο. Αυτές οι διαφορές διαμορφώνουν την παροχή και την εφεδρική διαδρομή πολύ πριν διαμορφώσουν τη ρυθμαπόδοση. Εκτελέστε τους τέσσερις ελέγχους παρακάτω με σειρά· οι δύο πρώτοι συνήθως αποφασίζουν την επιλογή, και οι δύο τελευταίοι λένε αν η απόφαση ήταν σωστή.
Ξεκινήστε από την ταυτότητα, όχι από τη λίστα κρυπτογράφησης
Ένας ομότιμος του WireGuard αποθηκεύει ένα ιδιωτικό κλειδί και απαριθμεί τα δημόσια κλειδιά που μπορεί να προσεγγίσει. Ένας πάροχος μπορεί να τυλίξει γύρω του μια πύλη λογαριασμού, αλλά το ίδιο το πρωτόκολλο δεν έχει ανταλλαγή ονόματος χρήστη και κωδικού, οπότε ο κύκλος ζωής του λογαριασμού ζει σε ό,τι διανέμει τα κλειδιά. Το OpenVPN μπορεί να χρησιμοποιήσει πιστοποιητικά, μια προσθήκη απέναντι σε υπάρχοντα κατάλογο ή ένα σενάριο επαλήθευσης, γι’ αυτό οι οργανισμοί με σύστημα ταυτότητας το προτιμούν συχνά. Κανένα από τα δύο σχέδια δεν αφαιρεί το ερώτημα πώς αφαιρείται μια χαμένη συσκευή.
| Decision | OpenVPN | WireGuard |
|---|---|---|
| Identity | Certificates, plugins or scripts against an existing directory | One private key per peer, public keys listed for the peers it may reach |
| Transport | UDP or TCP profiles when the server offers both | UDP only in the native protocol |
| Routing and DNS | Server pushes routes and DNS options | AllowedIPs maps ranges to peers, and tooling installs the routes |
| Where it usually breaks | Profile mismatch, expired certificate, failing plugin | Blocked UDP, wrong AllowedIPs, key not installed |
Μια σύντομη διαμόρφωση δεν είναι το ίδιο με απλή παροχή. Το να δώσετε ένα ιδιωτικό κλειδί σε πολλά άτομα κάνει την ύστερη αφαίρεση αμφίσημη, γιατί η ανάκλησή του αφαιρεί όλους μαζί. Γράψτε την αντιστοίχιση από άτομο σε κλειδί ή πιστοποιητικό πριν επιλέξετε, και η απόφαση για το πρωτόκολλο γίνεται πολύ ευκολότερη.
Έπειτα δείτε τι επιτρέπει η μεταφορά
Το πρωτόκολλο του WireGuard χρησιμοποιεί UDP. Οι υπηρεσίες OpenVPN μπορούν να προσφέρουν προφίλ UDP και TCP, και σε δίκτυο που μπλοκάρει ή υποβαθμίζει το UDP αυτή η δεύτερη επιλογή είναι πρακτική εφεδρική διαδρομή και όχι θεωρητική. Ο διακομιστής πρέπει να υποστηρίζει το προφίλ που επιλέγετε, και η αλλαγή αριθμού θύρας δεν μετατρέπει τη σήραγγα σε HTTPS ούτε πείθει ένα τείχος προστασίας να την επιτρέψει.
Η μεταφορά TCP μέσα σε TCP αλλάζει επίσης τη συμπεριφορά υπό απώλειες, γιατί και τα δύο στρώματα επαναλαμβάνουν και αναδιατάσσουν ανεξάρτητα. Ένα προφίλ TCP που λειτουργεί σε περιοριστικό δίκτυο μπορεί να αποδίδει άσχημα σε δίκτυο με απώλειες, και αυτός είναι λόγος να κρατάτε και τα δύο προφίλ διαθέσιμα αντί να κηρύξετε το ένα ανώτερο.
Έπειτα ελέγξτε τη δρομολόγηση και την επίλυση ονομάτων
Το AllowedIPs του WireGuard αντιστοιχίζει εύρη διευθύνσεων σε ομοτίμους και λειτουργεί ως απόφαση δρομολόγησης μέσα στο πρωτόκολλο, και τα γύρω εργαλεία χρησιμοποιούν αυτά τα εύρη όταν εγκαθιστούν διαδρομές. Το OpenVPN σπρώχνει διαδρομές και επιλογές DNS από τον διακομιστή. Και στις δύο περιπτώσεις ο πελάτης μπορεί να σηκωθεί ενώ η επιδιωκόμενη πολιτική εφαρμόζεται μόνο κατά το ήμισυ.
ip route show
ip -6 route show
resolvectl status
wg show
Διαβάστε την έξοδο πριν εμπιστευτείτε την ένδειξη σύνδεσης. Το ip route show απαριθμεί τι εγκατέστησε ο πελάτης για IPv4, και η παραλλαγή IPv6 πιάνει μια σήραγγα που μεταφέρει μόνο μία οικογένεια. Το resolvectl status δείχνει ποιον επιλυτή θα ρωτήσει πραγματικά ο πελάτης, και το wg show εκτυπώνει τα AllowedIPs που το WireGuard πιστεύει ότι κατέχει. Αν ο επιλυτής εξακολουθεί να δείχνει στο τοπικό δίκτυο ενώ οι διαδρομές ισχυρίζονται πλήρη κάλυψη, το DNS βγαίνει έξω από τη σήραγγα.
Έπειτα μετρήστε την εργασία που σας ενδιαφέρει
Κρατήστε τη συσκευή, το δίκτυο και τον προορισμό σταθερά, και καταγράψτε τους πελάτες και τα τελικά σημεία που χρησιμοποιήσατε. Αν οι δύο υπηρεσίες εξέρχονται σε διαφορετικές πόλεις ή τρέχουν σε διαφορετικό υλικό, πείτε το, γιατί τότε το αποτέλεσμα περιγράφει αυτές τις υπηρεσίες και όχι τα πρωτόκολλα.
iperf3 -c 203.0.113.20 -t 30
mtr -rwzbc 50 203.0.113.20
Εκτελέστε και τις δύο εντολές δύο φορές, μία για κάθε ζεύγος προφίλ, στο ίδιο δίκτυο και στην ίδια συσκευή. Το iperf3 δίνει έναν αριθμό ρυθμαπόδοσης, και το mtr δίνει τη διαδρομή και πού εμφανίζονται απώλειες, κάτι που ένας μόνο αριθμός λήψης δεν μπορεί να δείξει. Ένας αριθμός λήψης χάνει επίσης αυτό που προσέχει μια κλήση: πρόσθετη καθυστέρηση, τρεμούλιασμα και πόσο διαρκεί μια επανασύνδεση. Καταγράψτε τα χωριστά, γιατί ένα πρωτόκολλο που κερδίζει στη ρυθμαπόδοση μπορεί να χάνει στην εργασία που εκτελείτε πραγματικά.
Για μια διαχειριζόμενη σύνδεση, η συμβατότητα, η υποστήριξη και η προσπάθεια ανανέωσης μπορούν να υπερβούν μια μικρή διαφορά μέτρησης. Για μια προσωπική έξοδο, η καταγραφή και η δικαιοδοσία του παρόχου μετράνε περισσότερο από την ετικέτα του πρωτοκόλλου. Και τα δύο πρωτόκολλα μπορούν να μεταφέρουν καλή σύνδεση· η υπηρεσία και η διαμόρφωσή της καθορίζουν τι παίρνετε.
Γράψτε το ζεύγος προφίλ πριν δοκιμάσετε
Επιλέξτε ένα προφίλ ανά πρωτόκολλο πριν μετρήσετε, και γράψτε τι υποτίθεται ότι κάνει το καθένα: μόνο ιδιωτικά υποδίκτυα, ή όλη η κίνηση με συγκεκριμένη έξοδο. Μια δοκιμή που συγκρίνει προφίλ διαχωρισμένης σήραγγας με προφίλ πλήρους σήραγγας μετράει τα προφίλ, όχι τα πρωτόκολλα. Βάλτε το όνομα του πελάτη, την έκδοση του πελάτη και την τοποθεσία εξόδου στην ίδια σημείωση.
Έπειτα εκτελέστε την ίδια εργασία και στα δύο, στο ίδιο δίκτυο, στην ίδια συνεδρία. Αν ένα αποτυγχάνει εντελώς να συνδεθεί, αυτή η αποτυχία είναι το αποτέλεσμα και ανήκει στο αρχείο μαζί με την αιτία. Κρατήστε το αρχείο με την τεκμηρίωση της υπηρεσίας ώστε ο επόμενος να συγκρίνει το ίδιο ζεύγος αντί να ξεκινά από την αρχή.