Η πύλη του υποκαταστήματος εμφανίζει το πρόθεμα του cloud στον πίνακα BGP, η συνεδρία με τον πάροχο έχει εδραιωθεί, και όμως το αίτημα ενός χρήστη προς αυτό το πρόθεμα φεύγει από τη λάθος διεπαφή. Τίποτα δεν είναι χαλασμένο με τον τρόπο που υπονοεί η παρακολούθηση, γιατί το «το BGP το έμαθε» είναι δήλωση για το επίπεδο ελέγχου. Ανάμεσα σε αυτόν τον πίνακα και το πακέτο υπάρχουν τέσσερις ξεχωριστές μεταβάσεις, και η ροή σταματά σε ακριβώς μία από αυτές. Περάστε τις πύλες με σειρά και σταματήστε στην πρώτη που αποτυγχάνει.

Πρώτη πύλη: τι έστειλε πραγματικά ο γείτονας

Ξεκινήστε από το πρόθεμα όπως ελήφθη, όχι όπως συνοψίστηκε. Βρείτε το ακριβές δίκτυο και μάσκα στον πίνακα BGP και καταγράψτε το επόμενο άλμα, τη διαδρομή AS και οποιαδήποτε community που μπορεί να ταιριάξει μια πολιτική εισαγωγής. Μια συνοπτική διαδρομή σε ένα ταμπλό μπορεί να κρύψει το γεγονός ότι το συγκεκριμένο πρόθεμα δεν έγινε ποτέ δεκτό.

Η πολιτική εισαγωγής είναι το συνηθισμένο σημείο όπου μια διαδρομή εξαφανίζεται χωρίς σφάλμα. Μια λίστα προθεμάτων, ένα φίλτρο community ή ένας χάρτης εισερχόμενων διαδρομών μπορούν να απορρίψουν την ενημέρωση ενώ η συνεδρία μένει ενεργή και υγιής, και γι' αυτό ένα πράσινο φως γείτονα αποδεικνύει τόσο λίγα. Η απουσία γραμμής στο log δεν σημαίνει απουσία απόφασης. Συνήθως σημαίνει ότι η απόφαση ελήφθη σιωπηλά, ακριβώς όπως έχει ρυθμιστεί.

show ip bgp 10.60.20.0/24
show ip bgp neighbors 203.0.113.5 advertised-routes
show ip route 10.60.20.0
show ip cef 10.60.20.0

Διαβάστε την έξοδο με αυτή τη σειρά. Οι δύο πρώτες εντολές λένε αν έφτασε η πληροφορία και τι ισχυρίζεται ο ομότιμος ότι έστειλε· οι δύο τελευταίες λένε αν κάτι έφτασε στους πίνακες δρομολόγησης και προώθησης. Ένα πρόθεμα παρόν στην πρώτη εντολή και απόν στην τρίτη είναι πρόβλημα επιλογής ή εγκατάστασης, όχι συνδεσιμότητας.

Δεύτερη πύλη: επιλογή, μετά εγκατάσταση

Το BGP επιλέγει την καλύτερη διαδρομή, και η επιλεγμένη διαδρομή δεν εγκαθίσταται αυτόματα. Το επόμενο άλμα πρέπει να επιλυθεί, και μια άλλη πηγή διαδρομών μπορεί ήδη να κατέχει αυτό το πρόθεμα με καλύτερη διοικητική απόσταση. Μια στατική διαδρομή που έμεινε από τη μετανάστευση θα κερδίσει εύκολα μια έγκυρη διαδρομή BGP και θα στείλει την κίνηση αλλού.

RFC 4271 κρατά τρεις ιδέες χωριστά: τι έστειλε ένας ομότιμος, τι επέλεξε ως καλύτερο αυτός ο ομιλητής και τι θα διαφημίσει στη συνέχεια. Είναι εννοιολογικοί ρόλοι, όχι τρεις φυσικές βάσεις δεδομένων που πρέπει να εκθέσει ένας κατασκευαστής, αλλά ακριβώς αυτός ο διαχωρισμός κάνει το «είναι στο BGP» μια ελλιπή απάντηση.

Ελέγξτε επίσης ποιο πλαίσιο δρομολόγησης διαβάζετε. Μια διαδρομή εγκατεστημένη σε VRF στην οποία δεν ανήκει η διεπαφή του χρήστη είναι αόρατη για τα πακέτα αυτού του χρήστη, και ο πίνακας φαίνεται σωστός όλη την ώρα.

Τρίτη πύλη: η αναζήτηση που ισχύει για αυτή τη ροή

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

ip route get 10.60.20.25 from 10.60.10.40
ip rule show
sudo tcpdump -ni tun0 'host 10.60.20.25'

Ένα πιο συγκεκριμένο πρόθεμα είναι η συνηθέστερη έκπληξη εδώ, και μια διαδρομή πολιτικής είναι η δεύτερη. Και οι δύο υπερισχύουν του αθροίσματος που κοιτάζατε, και καμία δεν είναι ορατή σε μια σύνοψη του πίνακα BGP.

Ένα ping από την ίδια την πύλη δεν είναι απόδειξη για τη συνεδρία ενός χρήστη. Διαφορετική διεύθυνση προέλευσης, διαφορετική διαδρομή πολιτικής και συχνά διαφορετικό αποτέλεσμα. Δοκιμάστε με την ίδια προέλευση που χρησιμοποιεί η εφαρμογή, ή δεχτείτε ότι η δοκιμή απαντά σε άλλο ερώτημα.

Τέταρτη πύλη: το μακρινό μισό της διαδρομής

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

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

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

Ονομάστε τη μετάβαση που απέτυχε

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

Κρατήστε και ένα αρνητικό τεστ στο σχέδιο αποδοχής: έναν προορισμό που δεν πρέπει να διασχίζει το τούνελ, επαληθευμένο μετά την αλλαγή. Μια λίστα ελέγχου που αποδεικνύει μόνο την ευτυχή διαδρομή δεν θα πιάσει τον ευρύ κανόνα πολιτικής που θα προσθέσει κάποιος στο επόμενο παράθυρο συντήρησης.

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