Κόμβος και ακτίνες ή πλήρες πλέγμα: ποια τοπολογία VPN ταιριάζει στις τοποθεσίες σας
Δύο σήραγγες που λειτουργούν δεν είναι τοπολογία. Συγκρίνετε τη διέλευση, τη συμπεριφορά σε βλάβη και το κόστος αλλαγής πριν επιλέξετε κόμβο, πλέγμα ή κόμβο με λίγες άμεσες συνδέσεις.
Δύο υποκαταστήματα μιλούν όλη μέρα μεταξύ τους, και η σήραγγα ανάμεσά τους κάνει παράκαμψη μέσα από ένα κέντρο δεδομένων σε άλλη περιοχή. Κάθε αίτημα πληρώνει αυτή την παράκαμψη δύο φορές, και κανείς δεν το προσέχει μέχρι ο συγχρονισμός αρχείων να αρχίσει να φαίνεται λάθος. Εδώ αρχίζει πραγματικά το ερώτημα της τοπολογίας: όχι με το ποιο διάγραμμα φαίνεται πιο ανθεκτικό, αλλά με το για ποιο μοτίβο κίνησης πληρώνετε. Και τα δύο σχέδια δουλεύουν, και αποτυγχάνουν με διαφορετικούς τρόπους και διαφορετικό κόστος.
Μετρήστε τις σχέσεις ομοτίμων πριν από οτιδήποτε άλλο
Με N τοποθεσίες, ένα πλήρες πλέγμα χρειάζεται N επί N μείον ένα, διά δύο, σήραγγες· ένας κόμβος χρειάζεται N. Σε πέντε τοποθεσίες είναι δέκα έναντι πέντε, που ακόμη ακούγεται διαχειρίσιμο. Σε δεκαπέντε είναι 105 έναντι δεκαπέντε, και η διαφορά δεν είναι πια αριθμητική αλλά στελέχωσης.
Καθεμία από αυτές τις σχέσεις κουβαλά κατάσταση που πρέπει να κατέχετε. Στο IPsec αυτό σημαίνει μια συσχέτιση ασφαλείας, μια ταυτότητα, ένα κλειδί ή πιστοποιητικό, εντοπισμό νεκρού ομοτίμου και τουλάχιστον μία διαδρομή ανά απομακρυσμένο πρόθεμα. Στο WireGuard σημαίνει ένα δημόσιο κλειδί και ένα AllowedIPs μπλοκ ανά ομότιμο, που είναι φθηνότερο ανά ομότιμο αλλά έρχεται χωρίς καμία ανακάλυψη: μια νέα τοποθεσία είναι ούτως ή άλλως αλλαγή ρύθμισης σε κάθε υπάρχουσα.
Αφήστε το μείγμα κίνησης να αποφασίσει, όχι το σχέδιο
Αν η κίνηση των υποκαταστημάτων είναι κυρίως αιτήματα σε κεντρικό ERP ή σύμπλεγμα αρχείων, ο κόμβος δεν είναι συμβιβασμός, είναι το σωστό σχήμα: η κίνηση ήθελε ήδη να πάει εκεί, και ένα σημείο πολιτικής ελέγχεται ευκολότερα από ένα πλέγμα κανόνων ανά ζεύγος. Το πλέγμα κερδίζει την πολυπλοκότητά του όταν τα υποκαταστήματα ανταλλάσσουν δεδομένα μεταξύ τους — αναπαραγωγή μεταξύ δύο γραφείων, φωνή μεταξύ τοποθεσιών, ένας κοινός χώρος CAD που μια ντουζίνα μηχανικοί ανοίγουν όλη μέρα.
Οι άβολες περιπτώσεις βρίσκονται ανάμεσα, και είναι η πλειοψηφία. Να μετρήσετε πρώτα, αντί να μαντεύετε από ένα οργανόγραμμα;
| Σήμα | Δείχνει κόμβο | Δείχνει πλέγμα |
|---|---|---|
| Κίνηση μεταξύ υποκαταστημάτων | Περιστασιακή, μικρή | Κυρίαρχη, όλη μέρα |
| Αριθμός τοποθεσιών | Αυξανόμενος, πάνω από δέκα | Μικρός και σταθερός |
| Ρυθμός αλλαγών | Συχνές προσθήκες και μετακινήσεις | Σπάνια |
| Ανοχή βλαβών | Ένας δεύτερος κόμβος είναι προσιτός | Κάθε τοποθεσία πρέπει να επιβιώνει μόνη |
Διαβάστε τον πίνακα ως λυμένη ισοπαλία, όχι ως κανόνα. Τρεις από τέσσερις γραμμές προς μία κατεύθυνση συνήθως κλείνουν το σχέδιο· ένα μοίρασμα σημαίνει υβρίδιο, στο οποίο καταλήγουν ούτως ή άλλως τα περισσότερα ώριμα δίκτυα.
Ο κόμβος πρέπει να του πεις να προωθεί
Δύο σήραγγες ακτίνας-προς-κόμβο που δουλεύουν δεν δημιουργούν πρόσβαση ακτίνας-προς-ακτίνα. Ο κόμβος χρειάζεται ενεργή προώθηση IP, διαδρομή προς κάθε δίκτυο ακτίνας, κανόνα τείχους προστασίας που επιτρέπει τη διέλευση, και υπολογισμένη διαδρομή επιστροφής· κάθε ακτίνα χρειάζεται διαδρομή για τα προθέματα της άλλης τοποθεσίας. Σε κόμβο Linux αυτό είναι net.ipv4.ip_forward=1 συν FORWARD μια αλυσίδα που δεν ρίχνει σιωπηλά το ζεύγος, και στο IPsec που βασίζεται σε πολιτική είναι επιλογείς κίνησης που απαριθμούν το απομακρυσμένο υποδίκτυο ακτίνας και στα δύο άκρα. Στο strongSwan οι σημειώσεις προώθησης καλύπτουν την πλευρά του πυρήνα και του τείχους προστασίας όταν αυτό είναι το επίπεδο που σας λείπει. Ένα φθηνό τεστ είναι να στείλετε κίνηση από μια ακτίνα σε μια υπηρεσία στην άλλη κοιτάζοντας τους μετρητές του κόμβου· ένας κανόνας που δεν αυξάνεται ποτέ σημαίνει ότι η σειρά είναι λάθος, όχι η διαδρομή.
Η κεντρική πολιτική είναι και το χρήσιμο κομμάτι. Τα υποκαταστήματα μπορούν να επιτραπεί να φτάνουν κοινές υπηρεσίες χωρίς να φτάνουν το ένα το άλλο, και αυτός ο πίνακας πρόσβασης αξίζει να γραφτεί ρητά. Οι διαδρομές που λείπουν είναι κακή αντικατάσταση για έναν κανόνα που μπορεί κάποιος να διαβάσει.
Προσέξτε τη μισοτελειωμένη εκδοχή: η ακτίνα A δρομολογεί προς την ακτίνα B μέσω του κόμβου, ο κόμβος δρομολογεί και προς τις δύο κατευθύνσεις, και το τείχος προστασίας του κόμβου επιτρέπει νέες συνδέσεις από το A αλλά όχι από το B. Η πρώτη κατεύθυνση δοκιμάζεται καλά και η δεύτερη κολλάει, που μοιάζει με βλάβη δρομολόγησης και δεν είναι.
Σχεδιάστε πρώτα τη βλάβη, μετά την κανονική διαδρομή
Ένας μόνος κόμβος είναι κοινή εξάρτηση και σημείο συμφόρησης διέλευσης, και ο πλεονασμός είναι εκεί όπου τα σχέδια με κόμβο συνήθως πάνε στραβά. Δύο κόμβοι σημαίνουν ότι κάθε ακτίνα κρατά δύο σήραγγες, και η διαδρομή επιστροφής πρέπει να συμφωνεί με την εξερχόμενη· όταν δεν συμφωνεί, ένα τείχος προστασίας με κατάσταση ρίχνει τις απαντήσεις και το σύμπτωμα είναι μια σύνδεση που ανοίγει και μετά πεθαίνει. Μεγαλύτερες εγκαταστάσεις το λύνουν με πρωτόκολλο δρομολόγησης πάνω από τις σήραγγες αντί για στατικά προθέματα, που είναι περισσότερη μηχανή αλλά αφαιρεί τη μαντεψιά. Ό,τι κι αν διαλέξετε, γράψτε τη διαδρομή επιστροφής δίπλα στην εξερχόμενη, γιατί το μισό της επιστροφής είναι αυτό που δεν δοκιμάζει κανείς.
Το πλέγμα διασκορπίζει αυτόν τον κίνδυνο: η πτώση της σύνδεσης μιας τοποθεσίας δεν απομονώνει τις άλλες. Πολλαπλασιάζει επίσης τα σημεία όπου η επιλογή διαδρομής μπορεί να σας εκπλήξει, και οι συνεδρίες εφαρμογών εξακολουθούν να μην επιβιώνουν από αλλαγή διαδρομής χωρίς βοήθεια.
Κανένα από τα δύο σχέδια δεν κρατά μια συνεδρία TCP ζωντανή κατά τη μετάπτωση από μόνο του. Αν η εφαρμογή δεν μπορεί να επανασυνδεθεί, η τοπολογία δεν είναι το πρόβλημά σας.
Διαλέξτε με κόστος αλλαγής, μετά επαληθεύστε τις διαδρομές
Ξεκινήστε με τον κόμβο, γιατί είναι το φθηνότερο πράγμα στο οποίο μπορείτε να κάνετε λάθος, και προσθέστε άμεσες σήραγγες για τα ζεύγη των οποίων η κίνηση το δικαιολογεί. Αυτό το υβρίδιο δεν είναι αποτυχία απόφασης· είναι το σχέδιο στο οποίο συγκλίνουν οι περισσότεροι οργανισμοί μέσα σε ένα χρόνο. Το σημαντικό είναι κάθε άμεση σύνδεση να έχει δηλωμένο λόγο και υπεύθυνο.
Έπειτα επαληθεύστε τα δύο σχέδια αντί για ένα. Για την κανονική διαδρομή, traceroute από κάθε τοποθεσία σε κάθε πρόθεμα υπηρεσίας και επιβεβαιώστε ότι τα άλματα ταιριάζουν με το διάγραμμα. Για τη διαδρομή βλάβης, κλείστε μία σήραγγα και επαναλάβετε, γιατί μια διαδρομή που δουλεύει μόνο όσο είναι όλα πάνω δεν έχει σχεδιαστεί, μόνο ρυθμιστεί.
Κρατήστε και τα δύο σχέδια μαζί με τον πίνακα πρόσβασης, και ξαναδείτε τα όταν προστίθεται τοποθεσία· το κόστος που διαχειρίζεστε είναι το κόστος της επόμενης αλλαγής, όχι η κομψότητα της τωρινής εικόνας.