VPN από τοποθεσία σε τοποθεσία βάσει δρομολόγησης ή βάσει πολιτικής: τι διαφέρει
Το IPsec βάσει πολιτικής επιλέγει την κίνηση με επιλογέα· το βάσει δρομολόγησης τη στέλνει μέσα από διεπαφή σήραγγας. Και τα δύο χρειάζονται ακόμη κανόνες τείχους προστασίας και διαδρομή επιστροφής.
Και τα δύο σχέδια προστατεύουν την ίδια κίνηση με τον ίδιο μηχανισμό IPsec και διαφέρουν ως προς το τι αποφασίζει ποιο πακέτο μπαίνει στη σήραγγα. Σε σύνδεση βάσει πολιτικής αυτή τη δουλειά την κάνουν οι διαπραγματευμένοι επιλογείς κίνησης· σε σύνδεση βάσει δρομολόγησης την κάνει μια διαδρομή που δείχνει σε διεπαφή σήραγγας. Η σύγχυση των δύο παράγει το γνώριμο νήμα υποστήριξης όπου η σήραγγα αναφέρεται ως ενεργή ενώ η εφαρμογή δεν φτάνει πουθενά. Η διάκριση έχει τη μεγαλύτερη σημασία όταν προσθέτετε δίκτυο, τρέχετε πρωτόκολλο δρομολόγησης ή εντοπίζετε σφάλμα σε διαδρομή που βγαίνει ήσυχα από τη λάθος έξοδο.
Δύο τρόποι να αποφασίσετε τι μπαίνει στη σήραγγα
Ένα VPN βάσει πολιτικής χτίζει πολιτική ασφαλείας που ταιριάζει προθέματα πηγής και προορισμού και μετά κρυπτογραφεί ό,τι ταιριάζει. Ο ομότιμος πρέπει να διαπραγματευτεί συμβατούς επιλογείς, οπότε το πραγματικό εύρος καταλήγει να είναι η τομή όσων πρότειναν και οι δύο πλευρές. Τίποτα έξω από αυτή την τομή δεν προστατεύεται, ό,τι κι αν λέει ο πίνακας δρομολόγησης.
Ένα VPN βάσει δρομολόγησης δημιουργεί μια διεπαφή που αντιπροσωπεύει τη σήραγγα και αφήνει τον πίνακα δρομολόγησης να στέλνει κίνηση μέσα της. Ο δαίμονας IKE εξακολουθεί να εγκαθιστά την κατάσταση και την πολιτική ανά διεπαφή, και αυτή είναι η λεπτομέρεια που προσπερνούν όσοι αποφασίζουν ότι οι διαδρομές αντικατέστησαν την κρυπτογράφηση. Και τα δύο σχέδια κρυπτογραφούν με IPsec· μόνο ο μηχανισμός επιλογής διαφέρει.
Διαβάστε τη σύγκριση παρακάτω ως σύνολο υπογραφών αστοχίας και όχι ως πίνακα βαθμολογίας, γιατί καμία στήλη δεν κερδίζει από μόνη της.
| Aspect | Policy-based | Route-based |
|---|---|---|
| What selects traffic | Negotiated selectors | A route into the tunnel interface |
| Adding a network | Edit selectors on both peers | Add a route, widen the selector once |
| Dynamic routing | Awkward to run over the tunnel | Runs over the interface directly |
| Typical failure | Tunnel up, host outside the selector | Tunnel up, no route or wrong source |
Βάσει πολιτικής: ο επιλογέας είναι το συμβόλαιο
Οι επιλογείς διαπραγματεύονται, δεν ρυθμίζονται απλώς. Προτείνετε 10.10.0.0/16 στη μία πλευρά και 10.10.1.0/24 στην άλλη, και ο συσχετισμός καλύπτει ό,τι συμφώνησε η διαπραγμάτευση, ενώ κάθε άλλος υπολογιστής μένει έξω.
Διαβάστε την εγκατεστημένη κατάσταση αντί για το αρχείο ρυθμίσεων. Σε ομότιμο Linux οι ίδιοι οι πίνακες του πυρήνα είναι η αλήθεια, και δείχνουν τι επέζησε της διαπραγμάτευσης. Πολιτική που ονομάζει τα σωστά προθέματα χωρίς αντίστοιχη κατάσταση σημαίνει ότι ο συσχετισμός δεν ανέβηκε ποτέ. Κατάσταση μαζί με πολιτική για λάθος πρόθεμα είναι το αντίθετο πρόβλημα, και παράγει τη σήραγγα που φαίνεται υγιής ενώ ένα υποδίκτυο δεν φτάνει πουθενά.
sudo ip xfrm state
sudo ip xfrm policy
sudo swanctl --list-sas
Συγκρίνετε και τις δύο εξόδους με τα προθέματα που νομίζετε ότι προστατεύετε. Αυτή η μία σύγκριση λύνει τις περισσότερες αναφορές για σήραγγα που λειτουργεί με διακομιστή απρόσιτο. Δείχνει επίσης ποιον ομότιμο να αλλάξετε, αφού η αναντιστοιχία φαίνεται συνήθως μόνο προς μία κατεύθυνση.
Βάσει δρομολόγησης: η διεπαφή είναι το συμβόλαιο
Μια διεπαφή XFRM δίνει στη σήραγγα όνομα και ταυτότητα, και η κίνηση τη φτάνει επειδή το λέει ο πίνακας δρομολόγησης. Πολλά απομακρυσμένα προθέματα γίνονται τότε πρόβλημα δρομολόγησης και όχι πρόβλημα επιλογέα, και ένα πρωτόκολλο δρομολόγησης μπορεί να τα διαφημίσει. Αυτό είναι το πραγματικό κέρδος, όχι η κρυπτογράφηση.
Η διεπαφή δεν αφαιρεί την ανάγκη για πολιτική. Ο δαίμονας εγκαθιστά κανόνες ανά διεπαφή δεμένους με την ταυτότητα της διεπαφής, οπότε πακέτο που φτάνει στη λάθος διεπαφή αποτυγχάνει ακόμη. Διεύθυνση πηγής που ο ομότιμος δεν θα δεχτεί αποτυγχάνει επίσης, ακόμη και με τέλεια διαδρομή. Βάσει δρομολόγησης σημαίνει ότι η διαδρομή αποφασίζει την είσοδο, όχι ότι η πολιτική εξαφανίστηκε.
sudo ip link add xfrm0 type xfrm dev eth0 if_id 42
sudo ip route add 10.20.0.0/16 dev xfrm0
ip -s link show xfrm0
ip route get 10.20.5.10
Παρακολουθήστε τους μετρητές της διεπαφής μόλις μπει η διαδρομή. Διαδρομή που υπάρχει ενώ οι μετρητές μένουν στο μηδέν σημαίνει ότι τίποτα δεν ταιριάζει μέσα στη σήραγγα, κάτι που συνήθως δείχνει λείπουσα κατάσταση και όχι λείπουσα διαδρομή.
Πού τα δύο σχέδια πραγματικά αποκλίνουν
Η προσθήκη δικτύου είναι το καθαρότερο τεστ για το ποιο μοντέλο σας ταιριάζει. Το σχέδιο βάσει δρομολόγησης προσθέτει μια διαδρομή και διευρύνει τον επιλογέα το πολύ μία φορά, ενώ το σχέδιο βάσει πολιτικής επεξεργάζεται ζεύγη προθεμάτων και στους δύο ομότιμους και διαπραγματεύεται ξανά. Δύο σταθερά υποδίκτυα κάνουν αυτή την αλλαγή ασήμαντη, και είκοσι την κάνουν έργο.
Κανένα μοντέλο δεν αντικαθιστά τείχος προστασίας, και οι συγκρίσεις συνήθως σταματούν πριν από αυτό το σημείο. Ένας ευρύς επιλογέας ή μια ευρεία διαδρομή αποφασίζει τι κρυπτογραφείται, όχι τι επιτρέπεται.
Η συμπεριφορά του MTU διαφέρει επίσης στην πράξη. Η ενθυλάκωση μειώνει το ωφέλιμο φορτίο και μια διεπαφή βάσει δρομολόγησης φέρει το δικό της MTU, οπότε ο περιορισμός του MSS και στις δύο πύλες αποφεύγει το σύμπτωμα της μαύρης τρύπας όπου φτάνουν μικρές απαντήσεις και εξαφανίζονται οι μεγάλες. Οι σήραγγες βάσει πολιτικής συναντούν τον ίδιο τοίχο από την άλλη πλευρά, γιατί ο επιλογέας δεν λέει τίποτα για το μέγεθος πακέτου. Ορίστε τον περιορισμό σκόπιμα αντί να κατηγορείτε τον ομότιμο.
Μετάβαση χωρίς απώλεια της διαδρομής επιστροφής
Καταγράψτε τα υπάρχοντα ζεύγη προθεμάτων πριν αλλάξετε οτιδήποτε, μετά μετακινήστε μία διαδρομή εφαρμογής και παρακολουθήστε την από άκρη σε άκρη. Σήραγγα που εγκαθίσταται δεν είναι σήραγγα που προωθεί, και η διαφορά εμφανίζεται στην κατεύθυνση της απάντησης.
Όταν οι ομότιμοι συνδέονται αλλά οι υπολογιστές LAN δεν μπορούν, ελέγξτε τη διαδρομή επιστροφής και τη διεύθυνση πηγής που θα χρησιμοποιήσει ο απομακρυσμένος υπολογιστής. Υπολογιστής με δύο διεπαφές μπορεί να απαντήσει από τη λάθος, και καμία αλλαγή επιλογέα δεν το διορθώνει. Καταγράψτε κίνηση και στα δύο άκρα πριν επεξεργαστείτε αλγορίθμους.
ip route get 10.20.5.10
sudo tcpdump -ni any host 10.20.5.10 and icmp
sudo swanctl --list-conns
Κρατήστε μια διαδρομή διαχείρισης που δεν εξαρτάται από τη σήραγγα όσο εργάζεστε. Η επαναφορά είναι ευκολότερη όταν η πρόσβαση της ίδιας της πύλης δεν ταξιδεύει στη σύνδεση που ελέγχετε.