Μόνο συμπερίληψη ή μόνο αποκλεισμός στη διαίρεση σήραγγας: ποια προεπιλογή;
Επιλέξτε την προεπιλογή πριν φτιάξετε τη λίστα: να διοχετεύετε μόνο ό,τι ονομάζετε, ή να διοχετεύετε τα πάντα και να χαράζετε εξαιρέσεις. Έπειτα δοκιμάστε την εφαρμογή που δεν κατέγραψε κανείς.
Ανοίξτε την ενότητα δρομολόγησης του προγράμματος-πελάτη VPN σας και θα δείτε δύο χειριστήρια με διαφορετικό σχήμα που συχνά φέρουν την ίδια ετικέτα. Το ένα σας ζητά να καταγράψετε τους προορισμούς που ανήκουν στη σήραγγα, και όλα τα υπόλοιπα συνεχίζουν να χρησιμοποιούν το τοπικό δίκτυο. Το άλλο υποθέτει ότι όλα περνούν από τη σήραγγα και ρωτά τι πρέπει να εξαιρεθεί. Και τα δύο σας δίνουν μια σήραγγα που λειτουργεί από την πρώτη δοκιμή, και τα δύο συντηρούνται προσθέτοντας γραμμές σε μια λίστα, γι' αυτό η διαφορά μένει αόρατη μέχρι να εγκαταστήσει κάποιος κάτι καινούριο.
Η επιλογή είναι μια προεπιλογή, όχι μια λειτουργία. Καθορίστε την πριν η λίστα αποκτήσει είκοσι καταχωρίσεις.
Διαβάστε την προεπιλογή από το πρόγραμμα-πελάτη, όχι από το διαφημιστικό
Το WireGuard κάνει την απόφαση ασυνήθιστα ορατή, γιατί το AllowedIPs είναι λίστα συμπερίληψης και τίποτα άλλο. Ένας peer με 0.0.0.0/0, ::/0 διοχετεύει τα πάντα· ένας peer με 10.20.0.0/16 διοχετεύει μόνο αυτό. Δεν υπάρχει σύνταξη αποκλεισμού, οπότε αν θέλετε να αφήσετε έξω ένα υποδίκτυο, είτε απαριθμείτε κάθε άλλο πρόθεμα είτε προσθέτετε δρομολόγηση πολιτικής έξω από τη διεπαφή.
OpenVPN φτάνει στο ίδιο σημείο από την αντίθετη κατεύθυνση, με το redirect-gateway def1 να εγκαθιστά πλήρη σήραγγα και ρητές οδηγίες route να προσθέτουν ή να υπερισχύουν συγκεκριμένων προθεμάτων. Τα εμπορικά προγράμματα-πελάτες συνήθως κρύβουν και τα δύο πίσω από ένα πλαίσιο επιλογής και έναν πίνακα προορισμών, οπότε διαβάστε ποιο από τα δύο επεξεργάζεται πραγματικά ο πίνακας πριν εμπιστευτείτε την ετικέτα.
Το ερώτημα που πρέπει να θέσετε δεν είναι πώς ονομάζεται το πλαίσιο επιλογής. Είναι τι συμβαίνει σε ένα πακέτο του οποίου ο προορισμός δεν εμφανίζεται σε καμία από τις δύο λίστες. Απαντήστε το γραπτώς και η υπόλοιπη διαμόρφωση προκύπτει από αυτό. Παραλείψτε το ερώτημα και η πρώτη ανεξήγητη αποτυχία θα κριθεί από όποιον βρίσκεται πιο κοντά στο πρόγραμμα-πελάτη εκείνη την ημέρα.
Ακολουθήστε μια εφαρμογή που δεν κατέγραψε κανείς
Σε ένα σχέδιο μόνο με συμπερίληψη, αυτή η εφαρμογή πηγαίνει απευθείας, στο τοπικό δίκτυο, με το τοπικό DNS. Σε ένα σχέδιο μόνο με αποκλεισμό, περνά από τη σήραγγα, υπόκειται σε ό,τι επιτρέπει ο διακομιστής, και αυτό είναι συχνά η διαφορά ανάμεσα σε ένα νέο εργαλείο SaaS που δουλεύει από την πρώτη ημέρα και σε ένα δελτίο που λέει ότι το VPN το χάλασε.
Καμία από τις δύο προεπιλογές δεν είναι πιο ασφαλής από μόνη της. Η μόνο-συμπερίληψη περιορίζει το τι μεταφέρει η σήραγγα και κάνει το τοπικό δίκτυο τη διαδρομή ελάχιστης αντίστασης· η μόνο-αποκλεισμός θεωρεί τη σήραγγα κανονική διαδρομή και αντιμετωπίζει τις εξαιρέσεις ως εξαιρέσεις, κάτι που είναι πιο κοντά σε αυτό που πραγματικά εννοούν οι περισσότερες εταιρικές πολιτικές.
| Question | Include-only | Exclude-only |
|---|---|---|
| Unlisted new app | goes direct | goes through the tunnel |
| A site that breaks over the VPN | add it to the list | carve it out |
| Internal names still resolve | only if routed and served | usually, until split DNS says otherwise |
| Upkeep | one entry per internal service | one entry per misbehaving public service |
Προσέξτε τι είδους αντικείμενο καταγράφει η πλατφόρμα
Το VpnService.Builder στο Android εκθέτει μια λίστα επιτρεπόμενων εφαρμογών και μια λίστα μη επιτρεπόμενων εφαρμογών ως δύο ξεχωριστά μοντέλα, και οι κανόνες ανά εφαρμογή επιλέγουν με βάση το πακέτο και όχι τον προορισμό. Ένα πρόγραμμα περιήγησης που μπαίνει σε μια τέτοια λίστα μεταφέρει κάθε προορισμό που ανοίγει, κάτι που είναι διαφορετική κοκκοποίηση από έναν πίνακα δρομολόγησης και δεν μπορεί να διορθώσει μία προβληματική τοποθεσία μέσα σε μια εφαρμογή που δουλεύει.
Τα προγράμματα-πελάτες για υπολογιστές συνήθως αναμειγνύουν και τα δύο είδη σε ένα περιβάλλον, οπότε ελέγξτε αν η γραμμή που προσθέτετε είναι πακέτο, όνομα κεντρικού υπολογιστή ή πρόθεμα. Αποτυγχάνουν με διαφορετικούς τρόπους και επιλύονται σε διαφορετικά σημεία. Μια γραμμή ονόματος κεντρικού υπολογιστή γίνεται συνήθως δρομολόγηση συν ένα όνομα, ενώ μια γραμμή πακέτου γίνεται απόφαση πολιτικής μέσα στο πρόγραμμα-πελάτη. Γράψτε ποιο από τα δύο προσθέσατε, γιατί όποιος το αποσφαλματώσει αργότερα θα υποθέσει το άλλο.
Δοκιμάστε την κατάσταση αποτυχίας, όχι μόνο την καλή διαδρομή
Μια εφαρμογή που εξαιρείται από τη σήραγγα δεν αποκτά αυτόματα καθαρή άμεση πρόσβαση. Αν το πρόγραμμα-πελάτης επιβάλλει επίσης κανόνα αποκλεισμού χωρίς VPN, η εξαιρούμενη κίνηση μπορεί να απορρίπτεται εντελώς, κάτι που μοιάζει με χαλασμένη εφαρμογή και όχι με απόφαση δρομολόγησης. Δοκιμάστε αυτή την περίπτωση σκόπιμα αντί να την ανακαλύψετε από μια αναφορά χρήστη.
Έπειτα ελέγξτε το DNS και το IPv6 ως ξεχωριστά στοιχεία. Μια σήραγγα που μεταφέρει μόνο IPv4 αφήνει σε μια εφαρμογή με υποστήριξη v6 έναν δρόμο γύρω της, και το διαχωρισμένο DNS αποφασίζει αν τα εσωτερικά ονόματα επιλύονται για κίνηση που δεν περνά καθόλου από τη σήραγγα. Εκτελέστε μια καταγεγραμμένη εφαρμογή, μια μη καταγεγραμμένη εφαρμογή, μια αναζήτηση ονόματος και μια επανασύνδεση, και κρατήστε τα αποτελέσματα μαζί με τη διαμόρφωση.
Καταγράψτε την προεπιλογή εκεί που θα τη βρει ο επόμενος
Καταγράψτε την επιλεγμένη προεπιλογή, τις εξαιρέσεις και ποιος τις διαχειρίζεται στο ίδιο σημείο με το προφίλ του προγράμματος-πελάτη, γιατί ο επόμενος διαχειριστής θα προσθέσει μια καταχώριση χωρίς να διαβάσει αυτό το σκεπτικό. Σημειώστε την ημερομηνία και τον λόγο κάθε εξαίρεσης, ώστε μια παλιά εξαίρεση για μια τοποθεσία που έχει πλέον διορθωθεί να αφαιρεθεί με σιγουριά. Μια λίστα χωρίς λόγους μεγαλώνει για πάντα.
Όταν κάποιος αναφέρει έναν προορισμό που δεν δουλεύει, αλλάξτε την εξαίρεση και όχι τη βάση. Η ανατροπή της προεπιλογής για να διορθωθεί μία μόνο τοποθεσία μετακινεί σιωπηλά κάθε μη καταγεγραμμένη εφαρμογή στην άλλη πλευρά της σήραγγας.