Πώς να χτίσετε πολιτική εναλλαγής VPN στον δρομολογητή χωρίς διαρροές
Αποφασίστε τι πρέπει να κάνει η κίνηση όταν πέσει το προτιμώμενο τούνελ: εφεδρικό τούνελ, κοινό WAN ή αποκλεισμός. Στη συνέχεια χτίστε το και δοκιμάστε το στον δρομολογητή.
Η εναλλαγή λειτούργησε ακριβώς όπως είχε ρυθμιστεί, και αυτό ακριβώς ήταν το πρόβλημα. Όταν έπεσε το κύριο τούνελ, ο δρομολογητής μετακίνησε την προεπιλεγμένη διαδρομή στο μόντεμ καλωδίου, οι φορητοί υπολογιστές συνέχισαν να περιηγούνται και κανείς δεν τηλεφώνησε. Δύο ημέρες αργότερα κάποιος παρατήρησε ότι ο οικονομικός κοινόχρηστος φάκελος ήταν προσβάσιμος μέσω της ανοιχτής διαδρομής του διαδικτύου για έξι ώρες. Μια πολιτική εναλλαγής VPN στον δρομολογητή δεν είναι κόλπο δρομολόγησης· είναι απόφαση για το τι πρέπει να κάνει η κίνηση όταν η προτιμώμενη διαδρομή έχει φύγει, και αυτή η απόφαση πρέπει να υπάρχει πριν εξαφανιστεί η διαδρομή.
Αποφασίστε το αποτέλεσμα πριν διαλέξετε τον ανιχνευτή
Συνήθως υπάρχουν τρία αποτελέσματα στο τραπέζι: να στείλετε τους επηρεαζόμενους πελάτες μέσω εφεδρικού τούνελ, να τους αφήσετε να χρησιμοποιούν το κοινό WAN ή να τους αποκλείσετε εντελώς. Καταγράψτε ποιο ισχύει για ποιο VLAN, SSID ή κατηγορία συσκευής. Ένας μόνο επίπεδος κανόνας «μετάβαση στο WAN» είναι ο τρόπος με τον οποίο ο παραπάνω οικονομικός φάκελος κατέληξε σε δημόσια διαδρομή.
Τα τρία δεν είναι ανταλλάξιμα. Η εφεδρεία στο WAN κρατά το γραφείο υποστήριξης να απαντά σε τηλέφωνα ενώ εκθέτει εσωτερικά ονόματα στον τοπικό resolver. Ένα εφεδρικό τούνελ διατηρεί την πολιτική αλλά μπορεί να προσγειωθεί σε διεύθυνση εξόδου που η άλλη πλευρά δεν δέχεται. Ο αποκλεισμός είναι σωστός για VLAN μισθοδοσίας και λάθος για δίκτυο επισκεπτών που δεν χρησιμοποίησε ποτέ το τούνελ.
| Αποτέλεσμα | Κατάλληλο για | Τι σπάει |
|---|---|---|
| Εφεδρικό τούνελ | Η πολιτική πρέπει να ισχύει, απαιτείται απομακρυσμένη πρόσβαση | Νέα διεύθυνση εξόδου, διαδρομή επιστροφής, πιο αργή ανανέωση κλειδιού |
| Κοινό WAN | Κίνηση επισκεπτών ή μόνο δημόσια | Εσωτερικά ονόματα, έκθεση DNS και IPv6 |
| Αποκλεισμός | Μισθοδοσία, διαχείριση, οτιδήποτε μόνο-VPN | Οι χρήστες χάνουν κάθε πρόσβαση και σας καλούν |
Ταιριάξτε τον ανιχνευτή με την αστοχία που πραγματικά φοβάστε
Η κατάσταση της χειραψίας, η κατάσταση της διεπαφής και η χρησιμοποιήσιμη προώθηση είναι τρία διαφορετικά σήματα, και μόνο το τελευταίο έχει σημασία για έναν χρήστη. Ένας peer WireGuard μπορεί να δείχνει πρόσφατη χειραψία ενώ το upstream του παρόχου ρίχνει πακέτα σε μαύρη τρύπα. OpenVPN ο πελάτης μπορεί να μένει στο «συνδεδεμένος» αφού η διαδρομή που έσπρωξε σταμάτησε να επιλύεται.
Στο pfSense η πρακτική διάταξη είναι μια ομάδα πυλών που τροφοδοτείται από το dpinger, το οποίο ελέγχει μια διεύθυνση παρακολούθησης και σημαδεύει μια πύλη ως κάτω όταν η απώλεια ή η καθυστέρηση ξεπερνά τα κατώφλιά του. Στρέψτε αυτή την παρακολούθηση σε κάτι πέρα από το τούνελ, όπως έναν κεντρικό υπολογιστή στο απομακρυσμένο LAN ή μια δημόσια διεύθυνση που φτάνετε μέσω αυτού. Το να τη στρέψετε στη διεύθυνση peer του ίδιου του τούνελ μετρά το κομμάτι που ξέρετε ήδη ότι είναι ζωντανό.
Χτίστε την ομάδα ώστε το εφεδρικό να παραμένει η τελευταία λύση
Χρησιμοποιήστε βαθμίδες αντί για μία επίπεδη λίστα μελών. Κύριο στη βαθμίδα 1, εφεδρικό τούνελ στη βαθμίδα 2, WAN στη βαθμίδα 3 μόνο για τα VLAN των οποίων η πολιτική το επιτρέπει. Στο pfSense αυτό βρίσκεται κάτω από System > Routing > Gateway Groups: προσθέστε και τις δύο πύλες, δώστε τους διαφορετικές βαθμίδες, θέστε το Trigger Level σε member down plus packet loss, αποθηκεύστε και μετά εφαρμόστε την ομάδα ως προεπιλογή της διεπαφής ή στο πεδίο Gateway των κανόνων τείχους προστασίας που τη χρειάζονται.
Για μια παρουσία πελάτη OpenVPN στο pfSense 2.5 και νεότερο, η ρύθμιση Default Gateway της παρουσίας καθορίζει αν το τούνελ αντικαθιστά καθόλου την προεπιλεγμένη διαδρομή του συστήματος. Η δρομολόγηση πολιτικής κατά κανόνα συμπεριφέρεται όπως περιμένετε μόνο όταν η διαδρομή που υποθέτετε ότι υπάρχει είναι πράγματι εγκατεστημένη. Ελέγξτε το Status > Gateways μετά την αλλαγή αντί να εμπιστεύεστε το εικονίδιο κατάστασης του τούνελ.
Δύο ρυθμίσεις προκαλούν τις περισσότερες αναπηδήσεις. Η μία είναι διάστημα ανίχνευσης μικρότερο από τη δική του επανασύγκλιση του παρόχου. Η άλλη είναι μια ομάδα όπου το κύριο και το εφεδρικό μοιράζονται βαθμίδα, οπότε και τα δύο παραμένουν επιλέξιμα όλη την ώρα. Προσθέστε υστέρηση μέσω κατωφλίων απώλειας και καθυστέρησης πριν οι χρήστες σας νιώσουν τις μεταβάσεις αντί για εσάς.
Κλείστε τις διαδρομές που το τούνελ δεν είχε ποτέ
Πρώτα οι διαρροές DNS. Ο resolver συνεχίζει να απαντά στο WAN και να προωθεί έξω από αυτό, οπότε τα ονόματα συνεχίζουν να επιλύονται μέσω του ISP ενώ η κίνηση είναι καρφιτσωμένη στο τούνελ. Περιορίστε τις εξερχόμενες διεπαφές του resolver, σπρώξτε τον εσωτερικό resolver στους πελάτες και αποκλείστε τη θύρα 53 για όλα τα άλλα στα VLAN μόνο-VPN.
Το IPv6 χρειάζεται τη δική του απόφαση. Ένα LAN διπλής στοίβας μπορεί να χάσει το τούνελ και να κρατήσει μια λειτουργική καθολική προεπιλεγμένη διαδρομή IPv6, οπότε τα προγράμματα περιήγησης προτιμούν το IPv6 και βγαίνουν μέσω του WAN ενώ το IPv4 φαίνεται απόλυτα περιορισμένο. Είτε δρομολογήστε το IPv6 μέσα στο τούνελ είτε σταματήστε να διαφημίζετε ένα καθολικό πρόθεμα όσο το τούνελ είναι κάτω. Μισή πολιτική είναι χειρότερη από καμία, γιατί φαίνεται ότι δουλεύει.
Έπειτα η διαδρομή επιστροφής. Αν η εφεδρική έξοδος χρησιμοποιεί διαφορετική διεύθυνση πηγής, η άλλη πλευρά πρέπει να ξέρει πώς να στέλνει την κίνηση πίσω, και κάθε κατάσταση δεμένη με την παλιά διεύθυνση είναι ήδη νεκρή. Οι συνεδρίες που ήταν ανοιχτές όταν έπεσε το κύριο δεν μεταναστεύουν· κολλάνε μέχρι να λήξουν και η εφαρμογή αποφασίζει τι θα κάνει.
Δοκιμάστε την πτώση, την αναπήδηση και τον δρόμο της επιστροφής
Τραβήξτε το κύριο με ακίνδυνη κίνηση σε λειτουργία και μετά διαβάστε τέσσερα πράγματα: Status > Gateways για τις καταστάσεις των μελών της ομάδας, pfctl -ss για καταστάσεις ακόμη καρφιτσωμένες στην παλιά πύλη, ένα traceroute από πελάτη για τη διαδρομή εξόδου και ένα ερώτημα resolver για να δείτε ποιος διακομιστής απάντησε.
Τώρα κάντε το να αναπηδήσει. Ανέβαστε το κύριο για τριάντα δευτερόλεπτα, κατεβάστε το για τριάντα, δύο φορές. Αν η κίνηση κυνηγά κάθε μετάβαση, τα κατώφλια είναι πολύ σφιχτά ή οι βαθμίδες λάθος. Διορθώστε το στο δικό σας πρόγραμμα, γιατί αλλιώς ένας πάροχος θα το κάνει στο δικό του.
Τέλος, επιβεβαιώστε ότι μπορείτε ακόμη να διαχειριστείτε τον δρομολογητή. Κρατήστε μια διαδρομή εκτός ζώνης, όπως καλώδιο κονσόλας, VLAN διαχείρισης ή κυψελωτό μόντεμ. Μια δοκιμή εναλλαγής που σας κλειδώνει έξω είναι δοκιμή που δεν μπορείτε να ολοκληρώσετε, και ένας μη προσβάσιμος δρομολογητής δεν μπορεί να επανέλθει μόνος του.
Πριν δηλώσετε την πολιτική έτοιμη, θα πρέπει να μπορείτε να απαντήσετε σε τέσσερις ερωτήσεις χωρίς να ανοίξετε τερματικό: ποια VLAN επιτρέπεται να χρησιμοποιούν το WAN όσο το τούνελ είναι κάτω, τι παρακολουθεί ο ανιχνευτής και πόσο περιμένει, ποιοι διακομιστές ονομάτων και διαδρομές IPv6 κινούνται με τη διαδρομή, και πώς μπαίνετε ξανά αν αποτύχει και το εφεδρικό. Αν οποιαδήποτε απάντηση είναι «ό,τι ήταν προεπιλογή», η πολιτική ανήκει ακόμη στον δρομολογητή και όχι σε εσάς.