Μια Elastic IP του EC2 δεν είναι η ιδιωτική διεύθυνση VPN του στιγμιοτύπου
Το φιλοξενούμενο σύστημα δεν βλέπει ποτέ την Elastic IP. Ακολουθήστε πού γίνεται η μετάφραση και μετά επιλέξτε τη διεύθυνση που ανήκει στη διαδρομή που χρειάζεστε πραγματικά.
Το στιγμιότυπο έχει μια ιδιωτική διεύθυνση, η Elastic IP είναι συνδεδεμένη με αυτήν και μια διαδρομή για αυτό το δημόσιο /32 προστίθεται στο VPN με την ελπίδα ότι τα δύο θα γίνουν το ίδιο πράγμα. Δεν γίνονται. Η Elastic IP είναι μια μετάφραση που εκτελείται έξω από το φιλοξενούμενο σύστημα, από την πύλη διαδικτύου, στην κίνηση που ακολουθεί τη διαδρομή του διαδικτύου. Το λειτουργικό σύστημα του φιλοξενούμενου δεν βλέπει ποτέ αυτή τη διεύθυνση ρυθμισμένη σε διεπαφή. Η προσθήκη της σε διεπαφή σήραγγας δεν αναπαράγει τη μετάφραση ανάντη και δημιουργεί μια δεύτερη, αντιφατική ταυτότητα για το ίδιο μηχάνημα.
Δύο διευθύνσεις, ένα στιγμιότυπο
Η διεπαφή δικτύου του στιγμιοτύπου κρατά μια ιδιωτική διεύθυνση μέσα στο VPC, και αυτή είναι η διεύθυνση που γνωρίζει το φιλοξενούμενο. Η Elastic IP είναι συνδεδεμένη με την ίδια διεπαφή αλλά ζει στη δημόσια πλευρά της αντιστοίχισης.
Ό,τι φτάνει στο στιγμιότυπο μέσω διαδικτύου φτάνει μεταφρασμένο στην ιδιωτική διεύθυνση. Ό,τι στέλνει το στιγμιότυπο στο διαδίκτυο φεύγει με την Elastic IP ως πηγή, πάλι εξαιτίας αυτής της μετάφρασης.
Μέσα στο φιλοξενούμενο υπάρχει μία διεύθυνση. Έξω υπάρχουν δύο. Αυτή η ασυμμετρία εξηγεί το μεγαλύτερο μέρος της σύγχυσης σε αυτόν τον τομέα. Το φιλοξενούμενο δεν μπορεί να ρυθμίσει τι μεταφράζει η πύλη. Μπορεί μόνο να απαντήσει στη διεύθυνση που πραγματικά κρατά.
Τι κάνει στην πραγματικότητα η πύλη διαδικτύου
Η τεκμηρίωση της AWS για την πύλη διαδικτύου περιγράφει τη διάταξη: το στιγμιότυπο γνωρίζει την ιδιωτική διεύθυνση IPv4 του και η πύλη παρέχει την αντίστοιχη μετάφραση δημόσιας IPv4 ή Elastic IP για την κίνηση στη διαδρομή του διαδικτύου.
Αυτή είναι μετάφραση διευθύνσεων δικτύου, όχι ψευδώνυμο. Η αντιστοίχιση συντηρείται από την πύλη, συνδέεται με τη συσχέτιση και ισχύει μόνο για πακέτα που τη διασχίζουν. Αφαιρέστε τη συσχέτιση και η δημόσια ταυτότητα εξαφανίζεται χωρίς το φιλοξενούμενο να αντιληφθεί τίποτα.
Γι' αυτό ένα ιδιωτικό πακέτο VPN που απευθύνεται στο δημόσιο /32 δεν επανερμηνεύεται ως ιδιωτικό πακέτο προς την τοπική διεύθυνση του φιλοξενούμενου. Το πακέτο ακολουθεί τη διαδρομή που ταιριάζει, η οποία το στέλνει στην πύλη διαδικτύου, και η συμπεριφορά της πύλης εξαρτάται από το αν η διαδρομή επιτρέπεται και προς τις δύο κατευθύνσεις.
Γιατί αποτυγχάνει το τέχνασμα της διεπαφής σήραγγας
Η ανάθεση της Elastic IP σε διεπαφή σήραγγας ζητά από το φιλοξενούμενο να αντιμετωπίσει μια δημόσια διεύθυνση ως τοπική. Τώρα δύο πράγματα διεκδικούν την ίδια διεύθυνση: η μετάφραση της πύλης στη διαδρομή του διαδικτύου και η τοπική διεπαφή μέσα στη σήραγγα. Η κίνηση επιστροφής δεν έχει συνεπή απάντηση για το ποια ισχύει.
Ακόμη και όταν φαίνεται να λειτουργεί, ο σχεδιασμός έχει κρύψει το πραγματικό ερώτημα. Οι πελάτες είτε φτάνουν στην ιδιωτική διεύθυνση μέσω της σήραγγας είτε φτάνουν στο δημόσιο τελικό σημείο μέσω του διαδικτύου, και οι δύο διαδρομές έχουν διαφορετικές ομάδες ασφαλείας, διαφορετική καταγραφή και διαφορετικούς τρόπους αποτυχίας.
Η διεύθυνση δεν ήταν ποτέ το πρόβλημα. Η επιλογή διαδρομής ήταν.
Τρεις στόχοι, τρεις σχεδιασμοί
Αν ο στόχος είναι ένα δημόσιο τελικό σημείο VPN, η Elastic IP είναι το σωστό εργαλείο: οι απομακρυσμένοι ομότιμοι συνδέονται σε αυτό μέσω διαδικτύου και η κρυπτογραφημένη μεταφορά τερματίζεται στο στιγμιότυπο. Η εσωτερική κίνηση εφαρμογών χρησιμοποιεί στη συνέχεια την ιδιωτική διεύθυνση.
Αν ο στόχος είναι ιδιωτική πρόσβαση στην εφαρμογή, ο προορισμός είναι η ιδιωτική διεύθυνση ή ένα ιδιωτικό όνομα DNS που αναλύεται σε αυτήν, και η διαδρομή VPN, η ομάδα ασφαλείας και η διαδρομή επιστροφής πρέπει όλες να συμφωνούν. Η Elastic IP δεν εμφανίζεται καθόλου σε αυτόν τον σχεδιασμό.
Αν ο στόχος είναι μια σταθερή δημόσια ταυτότητα εξόδου για τους χρήστες VPN, αυτός είναι σχεδιασμός NAT στην πλευρά εξόδου, όχι διεύθυνση στη σήραγγα του πελάτη. Τρεις στόχοι που ακούγονται παρόμοιοι παράγουν τρία διαφορετικά διαγράμματα, και μόνο ένα από αυτά περιλαμβάνει την τοποθέτηση μιας Elastic IP σε νέο σημείο.
Επαληθεύστε τη διαδρομή που επιλέξατε
Για ιδιωτική πρόσβαση, επιβεβαιώστε ότι η διαδρομή VPN καλύπτει το ιδιωτικό πρόθεμα, ότι ο πίνακας διαδρομών του VPC επιστρέφει την κίνηση στη σήραγγα, ότι η ομάδα ασφαλείας επιτρέπει την πηγή του πελάτη και ότι το τείχος προστασίας του πελάτη επιτρέπει την απάντηση. Στη συνέχεια δοκιμάστε ένα πραγματικό αίτημα αντί για ping.
Για δημόσια πρόσβαση, επιβεβαιώστε την έξοδο του πελάτη στο διαδίκτυο, τη δρομολόγηση της δημόσιας εισόδου και την πολιτική ασφαλείας της. Το αν ένας πελάτης VPN μπορεί να φτάσει σε δημόσιο τελικό σημείο μέσω της σήραγγας εξαρτάται από τους κανόνες εξόδου και τείχους προστασίας της σήραγγας, όχι από τη συσχέτιση της Elastic IP.
Αν ένα δημόσιο όνομα κεντρικού υπολογιστή πρέπει να λειτουργεί και από τις δύο πλευρές, χρησιμοποιήστε σχεδιασμό DNS που απαντά με την ιδιωτική διεύθυνση για τους πελάτες VPN και τη δημόσια διεύθυνση για όλους τους άλλους, και κρατήστε το πιστοποιητικό έγκυρο για το όνομα και όχι για τη διεύθυνση. Σειρά εργασίας: ονομάστε τον στόχο, επιλέξτε τη διεύθυνση που του ανήκει και μετά επαληθεύστε διαδρομές, πολιτική και ένα αίτημα.