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

Δύο σκέλη, μία διεπαφή

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

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

same-security-traffic permit intra-interface

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

Σκέλος A: ο πελάτης θέλει το διαδίκτυο

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

object network VPN_POOL
 subnet 10.80.0.0 255.255.255.0
nat (outside,outside) after-auto source dynamic VPN_POOL interface route-lookup

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

Το υπόλοιπο του σκέλους είναι συνηθισμένο: μια χρησιμοποιήσιμη προεπιλεγμένη ή συγκεκριμένη διαδρομή από την εξωτερική διεπαφή, μια πολιτική πρόσβασης που επιτρέπει τη ροή και DNS που χειρίζεται σύμφωνα με την πολιτική resolver που επιλέξατε. Προσθέστε route-lookup εδώ για τον ίδιο λόγο όπως παρακάτω, αφού η διεπαφή εισόδου και εξόδου είναι ίδια.

Σκέλος B: ο πελάτης θέλει ιδιωτική τοποθεσία

Αυτό το σκέλος αποτυγχάνει σε περισσότερα σημεία, οπότε γράψτε το με σειρά. Πρώτα η διαδρομή πελάτη: το πρόθεμα προορισμού πρέπει να είναι στη λίστα διαχωρισμένης σήραγγας, αλλιώς ο πελάτης δεν θα το βάλει στη σήραγγα. Δεύτερον ο επιλογέας σήραγγας: το κρυπτογραφικό ACL τοποθεσίας-με-τοποθεσία πρέπει να καλύπτει διεύθυνση ομάδας προς απομακρυσμένο πρόθεμα, όχι μόνο το τοπικό LAN προς το απομακρυσμένο πρόθεμα. Τρίτον ταυτότητα, ώστε η διεύθυνση της ομάδας να μη μεταφραστεί στο PAT διαδικτύου στην πορεία.

nat (outside,outside) source static VPN_POOL VPN_POOL
    destination static SITE_PREFIX SITE_PREFIX route-lookup

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

Ελέγξτε και τη σειρά κανόνων. Ένας ευρύς κανόνας PAT πάνω από τον κανόνα ταυτότητας θα μεταφράσει την ιδιωτική ανταλλαγή πριν αξιολογηθεί καν ο κανόνας ταυτότητας, και το σύμπτωμα είναι σήραγγα τοποθεσίας χωρίς αντίστοιχο SA παρά σφάλμα NAT.

Η δοκιμή που σας λέει ποιο σκέλος χτίσατε

Χρησιμοποιήστε την αξιολόγηση διαδρομής του ίδιου του ASA αντί να διαβάζετε τη διαμόρφωση και να ελπίζετε. packet-tracer input outside tcp 10.80.0.25 40000 203.0.113.10 443 detailed δείχνει την απόφαση NAT, τη διαδρομή και το αποτέλεσμα ACL για μία ροή· επαναλάβετε το με ιδιωτικό προορισμό. Αν η φάση NAT ξαναγράφει ροή από ιδιωτικό σε ιδιωτικό, χτίσατε σκέλος A για πακέτο που χρειαζόταν σκέλος B.

Δύο ακόμη εντολές κλείνουν το κενό. show nat detail εκτυπώνει τη σειρά κανόνων που ακολούθησε το packet-tracer, και show crypto ipsec sa δείχνει αν υπάρχει επιλογέας για το ζεύγος που περιμένετε. Ένα SA που λείπει είναι ζήτημα διαμόρφωσης επιλογέα ή ομοτίμου, όχι κάτι που μπορεί να διορθώσει ο κανόνας NAT.

Επαληθεύστε κάθε σκέλος με την κίνηση που υπηρετεί

Δεχτείτε το σκέλος A με ένα συνηθισμένο δημόσιο αίτημα από τον πελάτη και το σκέλος B με αίτημα προς ιδιωτικό πόρο που υπάρχει πραγματικά. Έπειτα επαναλάβετε καθένα με απορριφθέντα πόρο, γιατί το «επιτρέπεται» και το «εγκρίνεται από την πολιτική πρόσβασης» δεν είναι η ίδια απόδειξη, και ένα ping που ξεκινά από τον κόμβο δεν ασκεί καμία από τις διαδρομές πελάτη.

Κρατήστε τα δύο αρχεία δοκιμών χωριστά στο δελτίο: διεύθυνση πηγής, προορισμός, κανόνας NAT που ταίριαξε και αποτέλεσμα. Όταν η επόμενη αναφορά πει «το VPN είναι χαλασμένο», αυτό το ζεύγος σας λέει μέσα σε ένα λεπτό ποιο σκέλος υποβαθμίστηκε, και η απάντηση είναι συνήθως διαδρομή ή επιλογέας παρά η γραμμή της ίδιας διεπαφής που όλοι υποψιάζονται πρώτη.

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