Ο έλεγχος πηγής/προορισμού είναι μια πύλη, όχι ολόκληρη η διαδρομή VPN
Ένα στιγμιότυπο προώθησης χρειάζεται άδεια AWS καθώς και διαδρομές Linux και κανόνες τείχους προστασίας. Ελέγξτε την επικύρωση πηγής/προορισμού στο στιγμιότυπο που προωθεί.
Το VPN τερματίζεται σε ένα στιγμιότυπο EC2, μπορείτε να φτάσετε στη διεύθυνση σήραγγας αυτού του στιγμιότυπου, και η κίνηση που προοριζόταν να περάσει μέσα από αυτό προς έναν άλλο ιδιωτικό κεντρικό υπολογιστή εξαφανίζεται. Είναι δύο διαφορετικές δοκιμές, και η ανάμειξή τους σπαταλά ώρες. Η πρώτη ρωτά αν μπορείτε να φτάσετε στο στιγμιότυπο: η δεύτερη ζητά να προωθεί κίνηση για έναν προορισμό που δεν είναι δικός του, κάτι που απαιτεί προώθηση Linux, πολιτική τείχους προστασίας, διαδρομή στην άλλη πλευρά και άδεια σε επίπεδο AWS που δεν έχει καμία σχέση με το λειτουργικό σύστημα φιλοξενίας. Τίποτα στην κονσόλα δεν εφιστά την προσοχή σε αυτή τη διαφορά. Το σύμπτωμα μοιάζει με βλάβη δρομολόγησης, και συνήθως δεν είναι.
Διαχωρίστε τις δύο δοκιμές πριν αλλάξετε οτιδήποτε
Το να φτάσετε στην πύλη αποδεικνύει τη σήραγγα, τη διαδρομή προς τη διεύθυνσή της και την ομάδα ασφαλείας που επιτρέπει την ανταλλαγή. Η προώθηση για άλλον κεντρικό υπολογιστή δεν αποδεικνύει τίποτα από αυτά: χρησιμοποιεί διαφορετική διεύθυνση πηγής, διαφορετικό προορισμό και ένα στιγμιότυπο σε ρόλο για τον οποίο δεν έχει απαραίτητα κατασκευαστεί. Γράψτε τις δύο δοκιμές χωριστά και σημειώστε ποια αποτυγχάνει, επειδή η διόρθωση για καθεμία βρίσκεται σε διαφορετική κονσόλα. Ένα στιγμιότυπο πύλης φτιαγμένο μόνο για τον τερματισμό σηράγγων δεν έχει λόγο να προωθεί για οτιδήποτε άλλο, και οι προεπιλογές του το αντανακλούν. Γι' αυτό η δεύτερη δοκιμή χρειάζεται τη δική της ρύθμιση και όχι μια μικρή προσαρμογή της πρώτης.
Μια δοκιμή ping που λειτουργεί προς την πύλη και μια δοκιμή ping που αποτυγχάνει προς τον κεντρικό υπολογιστή πέρα από αυτήν δεν είναι διαλείπον πρόβλημα. Είναι η αναμενόμενη συμπεριφορά ενός στιγμιότυπου στο οποίο δεν έχει ειπωθεί ότι επιτρέπεται να προωθεί.
Γράψτε τη διαδρομή πριν αγγίξετε μια ρύθμιση
Καταγράψτε το πρόθεμα του πελάτη, το στιγμιότυπο ή τη διασύνδεση δικτύου προώθησης, το υποδίκτυο προορισμού και τη διαδρομή απάντησης. Μια καταχώριση στον πίνακα δρομολόγησης VPC που δείχνει σε ένα στιγμιότυπο δεν ρυθμίζει το λειτουργικό σύστημα του στιγμιότυπου να προωθεί, και ένας πυρήνας φιλοξενίας με ενεργοποιημένη την προώθηση δεν δημιουργεί διαδρομή VPC. Και τα δύο άκρα αυτής της σχέσης πρέπει να υπάρχουν, και επεξεργάζονται σε διαφορετικά σημεία από ανθρώπους με διαφορετική πρόσβαση.
Στη συνέχεια εξετάστε τη ρύθμιση ελέγχου πηγής/προορισμού στο πραγματικό στοιχείο προώθησης, όχι σε κάθε στιγμιότυπο στο VPC. Η AWS τεκμηριώνει γιατί ένα στιγμιότυπο που προωθεί κίνηση για άλλους πρέπει να έχει αυτόν τον έλεγχο απενεργοποιημένο, καθώς και γιατί η ρύθμιση είναι απόφαση ανά στιγμιότυπο και όχι προεπιλογή για όλο το VPC.
Τέσσερα όρια, και ο έλεγχος είναι μόνο ένα από αυτά
Αντιμετωπίστε τη διαδρομή ως τέσσερα ερωτήματα και απαντήστε τα με τη σειρά. Η πρώτη απάντηση που αποτυγχάνει δείχνει πού είναι η δουλειά, και καμία από τις άλλες δεν θα το αντισταθμίσει.
| Boundary | Question it answers |
|---|---|
| VPC route tables | Do the destinations and replies select the intended gateway? |
| Forwarding instance | Do the AWS check and the guest OS both permit forwarding? |
| Access policy | Do security groups, ACLs and host rules allow the exchange? |
| Destination | Can the service accept that source and return a reply? |
Η σειρά μετράει επειδή ο έλεγχος είναι φθηνός: οι διαδρομές φαίνονται σε μία σελίδα, ο έλεγχος είναι ένα μόνο χαρακτηριστικό, και η γνώμη του προορισμού είναι συνήθως το τελευταίο που ρωτάει κανείς.
Η μετάφραση αλλάζει ποια πηγή βλέπει ο προορισμός
Ένας σχεδιασμός με δρομολόγηση διατηρεί τη διεύθυνση πηγής του πελάτη, οπότε ο προορισμός χρειάζεται διαδρομή επιστροφής προς το πρόθεμα του πελάτη. Ένας μεταφρασμένος σχεδιασμός παρουσιάζει αντίθετα τη διεύθυνση της πύλης, κάτι που αφαιρεί αυτή την απαίτηση και την αντικαθιστά με έναν πίνακα καταστάσεων στην πύλη. Αποφασίστε σύμφωνα με την αρχιτεκτονική που σκοπεύετε, αντί να προσθέσετε μετάφραση επειδή ένα άσχετο παράδειγμα τη χρησιμοποίησε και φάνηκε να λειτουργεί.
Αν μεταφράζετε, περιορίστε τον κανόνα στο πρόθεμα του πελάτη και στον επιδιωκόμενο προορισμό. Αν διατηρείτε, επιβεβαιώστε ότι η άλλη πλευρά γνωρίζει πραγματικά τη διαδρομή αντί να υποθέτετε ότι θα μάθει μία.
Δοκιμάστε από τον αρχικό πελάτη και μετά διατηρήστε την αλλαγή
Ένα αίτημα που παράγεται στην πύλη μπορεί να πετύχει ενώ ένα προωθημένο αίτημα αποτυγχάνει, επειδή είναι διαφορετική πηγή και διαφορετική περίπτωση προώθησης. Μετά από μια στοχευμένη διόρθωση, επαναλάβετε την ακριβή δοκιμή πελάτη προς πόρο που απέτυχε, από τον ίδιο πελάτη, και επιβεβαιώστε ότι η απάντηση επιστρέφει και όχι μόνο ότι το αίτημα έφτασε.
Τέλος, βάλτε τη ρύθμιση στη διαχειριζόμενη διαμόρφωση της πύλης ώστε να την παραλάβει ένα στιγμιότυπο αντικατάστασης. Μια επιτυχημένη δοκιμή που εξαρτάται από χειροκίνητη εξαίρεση είναι μια δοκιμή που λήγει στην επόμενη ανακατασκευή, και το άτομο που την ανακάλυψε δεν θα είναι εκεί για να θυμάται γιατί.