Μια ροή από το υποκατάστημα προς το Azure μπορεί να δρομολογηθεί σωστά και προς τις δύο κατευθύνσεις και παρ’ όλα αυτά να αποτύχει, επειδή οι δύο κατευθύνσεις περνούν από διαφορετικές συσκευές. Το αίτημα φεύγει από το υποκατάστημα μέσω VPN, προσγειώνεται στο NVA A και φτάνει στο φορτίο εργασίας. Η απάντηση φεύγει από το φορτίο εργασίας, ταιριάζει με μια διαδρομή που δείχνει στο NVA B και πεθαίνει εκεί. Κάθε διαδρομή σε αυτή την εικόνα είναι έγκυρη, και η συνεδρία TCP εξακολουθεί να είναι σπασμένη.

Request: branch -> VPN gateway -> NVA A -> workload
Reply:   workload -> NVA B -> VPN gateway -> branch

Αυτό το κενό είναι όλο το θέμα εδώ: η σύγκλιση δρομολόγησης και η κυριότητα της κατάστασης συνεδρίας είναι διαφορετικά προβλήματα που στο διάγραμμα φαίνονται ίδια.

Τι προγραμματίζει πραγματικά το Route Server

Το Azure Route Server κάνει peering με υποστηριζόμενους ομιλητές BGP, μαθαίνει τις διαδρομές τους και τις προγραμματίζει στις ενεργές διαδρομές του εικονικού δικτύου. Αυτή είναι δουλειά επιπέδου ελέγχου. Δεν διαβάζει τον πίνακα συνεδριών ενός firewall κατασκευαστή και δεν έχει ιδέα ποια συσκευή επέτρεψε μια δεδομένη σύνδεση. Δύο επόμενα άλματα ίσου κόστους είναι, για αυτό το ύφασμα, απλώς δύο τρόποι να φτάσεις το ίδιο πρόθεμα, και θα χρησιμοποιήσει οποιοδήποτε από τα δύο.

Η εκμάθηση μιας διαδρομής αποδεικνύει επομένως προσβασιμότητα. Δεν αποδεικνύει τίποτα για το αν η συσκευή στο άλλο άκρο έχει δει αυτή τη ροή πριν.

Διαβάστε και τις δύο κατευθύνσεις πριν σχεδιάσετε

Ξεκινήστε γράφοντας την κατεύθυνση που έχετε πραγματικά σε κάθε κατεύθυνση, όχι αυτή που σκοπεύατε. Πιο συγκεκριμένες διαδρομές BGP, διαδρομές που ορίζει ο χρήστης και συμπεριφορά πύλης ανταγωνίζονται όλες, και ο νικητής αποφασίζεται ανά προορισμό, όχι ανά συνεδρία. Μια προεπιλεγμένη διαδρομή σε NVA δεν σημαίνει ότι κάθε ιδιωτικό πρόθεμα τη διασχίζει.

Ένας χρήσιμος έλεγχος είναι να ρωτήσετε, για μια συγκεκριμένη IP φορτίου εργασίας, σε ποιο επόμενο άλμα επιλύεται κάθε κατεύθυνση. Αν η απάντηση είναι δύο διαφορετικές συσκευές, έχετε πρόβλημα ασυμμετρίας είτε έχει εμφανιστεί είτε όχι.

Πού ζει η κατάσταση

Ένα stateful firewall δέχεται μια σύνδεση και κρατά μια εγγραφή πίνακα με κλειδί την πεντάδα. Η απάντηση πρέπει να φτάσει στη συσκευή που κρατά αυτή την εγγραφή, ή η συσκευή πρέπει να αποκτήσει την κατάσταση με άλλο τρόπο. Τίποτα στο επίπεδο δεδομένων του Azure δεν προωθεί την εγγραφή μεταξύ συσκευών. Ή η κίνηση οδηγείται πίσω στον ιδιοκτήτη, ή οι συσκευές μοιράζονται κατάσταση μέσω μηχανισμού κατασκευαστή, ή το σχέδιο δεν λειτουργεί.

Γι’ αυτό δύο υγιή NVA δεν είναι έλεγχος υγείας για επιθεώρηση. Η υγεία αφορά την προσβασιμότητα· η επιθεώρηση αφορά ποια παρουσία κρατά τη συνεδρία.

Υποστηριζόμενα μοντέλα HA και τι υπόσχεται το καθένα

Microsoft's guidance on την πρόθεση δρομολόγησης του Virtual WAN περιγράφει περιορισμένη συμπεριφορά για συνδεσιμότητα διπλού ρόλου και firewall NVA, όπου η άμεση δρομολόγηση μπορεί να παρακάμψει την κανονική συμμετρική επιβολή του κόμβου. Διαβάστε αυτές τις σημειώσεις ως περιορισμούς στην τοπολογία που επιλέξατε, όχι ως απαγόρευση σχεδίων ενεργού-ενεργού. Ένα ζεύγος κατασκευαστή που συγχρονίζει κατάσταση ή κατευθύνει ανά ροή μπορεί να υποστηριχθεί. Ένα ζεύγος ίσου κόστους που δεν κάνει κανένα από τα δύο δεν είναι.

Στη συνέχεια ορίστε τι συμβαίνει στις υπάρχουσες συνεδρίες όταν ένας κόμβος αποτυγχάνει. Η σύγκλιση διαδρομών αποκαθιστά την προσβασιμότητα για νέες ροές μέσα σε δευτερόλεπτα, ενώ η παλιά κατάσταση firewall απλώς χάνεται. Η επανασύνδεση του πελάτη μπορεί να είναι το τεκμηριωμένο αποτέλεσμα, και αυτό είναι μια απόφαση που λαμβάνεται πριν από το περιστατικό, όχι κατά τη διάρκειά του.

Τι να δοκιμάσετε πριν το εμπιστευτείτε

Test with inspection enabled and την πολιτική πρόσβασης του φορτίου εργασίας στη θέση της, γιατί οποιοδήποτε από τα δύο μπορεί να κρύψει την ασυμμετρία. Στείλτε μια νέα εξουσιοδοτημένη ροή και προς τις δύο κατευθύνσεις και επιβεβαιώστε ότι η ίδια συσκευή είδε και τα δύο μισά. Στη συνέχεια εκτελέστε συνεχή κίνηση και ενεργοποιήστε τη μετάβαση αποτυχίας που εγκρίθηκε, παρατηρώντας αν οι εδραιωμένες συνεδρίες επιβιώνουν ή επανασυνδέονται.

Συσχετίστε κάθε ροή με τη συσκευή που τη χειρίστηκε. Μια καταγραφή πακέτων σε ένα NVA δεν σας λέει σχεδόν τίποτα αν η απάντηση δεν επέστρεψε ποτέ σε αυτό.

Τέλος, γράψτε το σχέδιο ως τρεις ξεχωριστές γραμμές: κυριότητα διαδρομών, κατεύθυνση κίνησης και κυριότητα κατάστασης συνεδρίας. Τα σχέδια σπάνε όταν τα δύο πρώτα έχουν λυθεί και το τρίτο υποτίθεται.

Σχετικά άρθρα