Κανόνες VPN στον δρομολογητή: ταιριάξτε την πηγή και τον προορισμό
Ένας κανόνας VPN στον δρομολογητή έχει δύο άκρα: τη συσκευή που στέλνει κίνηση και τον προορισμό που πρέπει να χρησιμοποιεί τη σήραγγα. Αποφασίστε πρώτα την τομή και τη συμπεριφορά εφεδρείας.
Οι σελίδες αγοράς δρομολογητών παρουσιάζουν τη δρομολόγηση VPN ως ένα πλαίσιο ελέγχου, και η φράση κρύβει τρία διαφορετικά ερωτήματα. Ταιριάζει ο κανόνας με τη συσκευή που στέλνει την κίνηση, με τον διακομιστή που τη λαμβάνει ή με τα δύο; Τι συμβαίνει με την κίνηση που δεν ταιριάζει με κανένα; Και όταν δύο κανόνες επικαλύπτονται, ποιος κερδίζει; Αν γράψετε την απάντηση ως ζεύγος πηγής και προορισμού, μια αόριστη λίστα χαρακτηριστικών γίνεται σχέδιο που μπορεί να ελεγχθεί.
Το όνομα της λειτουργίας κρύβει δύο άκρα
Μια συσκευή αναπαραγωγής πολυμέσων που πρέπει να χρησιμοποιεί τη σήραγγα είναι αντιστοίχιση πηγής. Ένα ιδιωτικό πρόθεμα γραφείου που πρέπει να είναι προσβάσιμο μέσω της σήραγγας είναι αντιστοίχιση προορισμού. Ένας σταθμός εργασίας που πρέπει να χρησιμοποιεί τη σήραγγα μόνο για μία υπηρεσία είναι και τα δύο, και αυτή η τομή είναι η περίπτωση που το περισσότερο firmware καταναλωτών χειρίζεται άσχημα.
Γράψτε την απαίτηση ως ζεύγος πριν συγκρίνετε προϊόντα. Αυτό το ζεύγος θα δοκιμάσετε αργότερα.
Ένα προϊόν που προσφέρει λίστα συσκευών ή καθολική λίστα προορισμών μπορεί να μην εκφράζει «μόνο αυτή η συσκευή, μόνο αυτοί οι προορισμοί». Το κενό δεν είναι καλλωπιστικό: ένας κανόνας καθολικού προορισμού στέλνει την κίνηση κάθε συσκευής προς αυτόν τον ιστότοπο μέσω της σήραγγας, και ένας κανόνας συσκευής στέλνει όλη την κίνηση αυτής της συσκευής. Κανένα από τα δύο δεν είναι η απαίτηση. Δοκιμάστε αυτή την περίπτωση με δύο συσκευές πριν εμπιστευτείτε την οθόνη.
Χτίστε τον κανόνα ως τομή
Ένας πίνακας κρατά το σχέδιο έντιμο. Βάλτε το σενάριο αριστερά και μετά ονομάστε χωριστά την αντιστοίχιση αποστολέα και την αντιστοίχιση στόχου:
| Scenario | Sender match | Target match | Rule shape |
|---|---|---|---|
| Media player uses the tunnel | Player address | Any internet destination except the LAN | Source only |
| Office prefix reachable | Authorized LAN devices | 10.40.0.0/16 | Target only |
| One app on one laptop | Laptop address | The service address set | Source and target |
| Guest network never tunnels | Guest subnet | Any | Deny, evaluated first |
Η τρίτη γραμμή είναι η ενδιαφέρουσα, γιατί χρειάζεται και τα δύο μισά ταυτόχρονα. Αν το firmware μπορεί να εκφράσει μόνο έναν άξονα, η απαίτηση πρέπει να χωριστεί σε δύο κανόνες ή να μεταφερθεί σε συσκευή που μπορεί.
Κρατήστε σταθερή την ταυτότητα της πηγής. Μια δέσμευση DHCP, ένα αποκλειστικό τμήμα ή ένας μηχανισμός ταυτότητας συσκευής λειτουργούν, αλλά μια διεύθυνση που αλλάζει μετά τη λήξη της μίσθωσης δεν λειτουργεί. Συμπεριλάβετε IPv6, γιατί μία διεύθυνση IPv4 δεν προσδιορίζει όλη την κίνηση μιας συσκευής.
Η προτεραιότητα αποφασίζει την επικάλυψη
Οι επικαλυπτόμενοι κανόνες είναι φυσιολογικοί. Ένας ευρύς κανόνας συσκευής και ένας στενός κανόνας προορισμού μπορούν να περιγράφουν την ίδια ροή, και η τεκμηριωμένη σειρά προτεραιότητας αποφασίζει ποιος κερδίζει. Μια ελκυστική οθόνη ρυθμίσεων δεν σας λέει αυτή τη σειρά.
Διαβάστε το εγχειρίδιο για τη σειρά και για την περίπτωση χωρίς αντιστοίχιση, και μετά δοκιμάστε και τα δύο με κίνηση που μπορείτε να παρατηρήσετε:
ip rule show
ip route get 203.0.113.10
Αν η τεκμηρίωση δεν αναφέρει τη σειρά, υποθέστε ότι ο στενότερος κανόνας μπορεί να μην κερδίσει και σχεδιάστε ανάλογα. Δύο κανόνες που δεν μπορούν να συγκρουστούν είναι ευκολότεροι στη συντήρηση από έναν έξυπνο κανόνα με ατεκμηρίωτη προτεραιότητα.
Τα ονόματα χρειάζονται πολιτική ανανέωσης
Ένας προορισμός γραμμένος ως τομέας προσθέτει πρόβλημα συντήρησης. Ο δρομολογητής πρέπει να τον επιλύσει, να ανανεώσει την αντιστοίχιση, να χειριστεί πολλαπλές διευθύνσεις και υποτομείς και να αντεπεξέλθει στο DNS εφαρμογών που παρακάμπτει τον αναμενόμενο επιλυτή.
Η αντιγραφή ενός αποτελέσματος αναζήτησης σε κανόνα IP είναι στιγμιότυπο, όχι πολιτική τομέα.
Αποφασίστε πόσο παλιά μπορεί να είναι μια απάντηση πριν ο κανόνας γίνει λάθος, και τι κάνει ο δρομολογητής όταν αποτύχει η επίλυση. Ένας κανόνας που κρατά την τελευταία γνωστή διεύθυνση μπορεί να επιβιώσει από μετεγκατάσταση υπηρεσίας· ένας κανόνας που πετά την εγγραφή μπορεί να σταματήσει αθόρυβα τη σήραγγα. Και οι δύο συμπεριφορές είναι αποδεκτές αν καταγράφονται δίπλα στον κανόνα.
Ορίστε την κατάσταση μη διαθεσιμότητας
Μια προτίμηση διαδρομής δεν επιβάλλει κίνηση μόνο μέσω VPN. Όταν η σήραγγα είναι κάτω, ο δρομολογητής μπορεί να μπλοκάρει τη ροή, να τη στείλει απευθείας ή να χρησιμοποιήσει άλλη σήραγγα, και κάθε επιλογή έχει διαφορετική υπογραφή αποτυχίας.
Αποφασίστε ποια χρειάζεται η απαίτηση και μετά επαληθεύστε το σταματώντας τη σήραγγα και παρατηρώντας τη ροή:
curl -sS -o /dev/null -w "%{http_code}" --max-time 5 https://service.example/
ping -c 2 203.0.113.10
Η κίνηση που προέρχεται από τον ίδιο τον δρομολογητή είναι ξεχωριστό πεδίο. Η προώθηση DNS, οι έλεγχοι ενημερώσεων και η παρακολούθηση μπορούν να ξεκινούν νέες ροές από τον ίδιο τον δρομολογητή αντί να κληρονομούν την αντιστοίχιση πηγής της συσκευής. Υπολογίστε αυτές τις ροές ρητά, αλλιώς θα εμφανιστούν ως ανεξήγητες διαρροές στα αρχεία καταγραφής.