Γιατί το EC2 δεν μπορεί να φτάσει το φορητό σας με AWS Client VPN
Το Client VPN μεταφράζει τις πηγές IPv4 του πελάτη στη διεπαφή του τελικού σημείου. Γι' αυτό η απάντηση λειτουργεί και μια νέα σύνδεση από το EC2 όχι.
Ένας φορητός υπολογιστής συνδεδεμένος μέσω AWS Client VPN φτάνει σε μια εφαρμογή EC2 χωρίς πρόβλημα. Μετά δοκιμάζετε το αντίστροφο, από το EC2 στη διεύθυνση που εκχωρήθηκε στον πελάτη, και η σύνδεση κολλάει ή απορρίπτεται. Αυτή η ασυμμετρία σπάνια οφείλεται σε κανόνα ομάδας ασφαλείας που λείπει. Σε ένα τελικό σημείο Client VPN συνδεδεμένο με υποδίκτυα VPC, το AWS μεταφράζει τις πηγές IPv4 του πελάτη στη διεπαφή δικτύου του τελικού σημείου, οπότε δεν υπάρχει εισερχόμενη διεύθυνση VPC που να αντιπροσωπεύει τον φορητό σας.
Ξεκινήστε από αυτό που δείχνει η καταγραφή
Κάντε μια καταγραφή στον κεντρικό υπολογιστή EC2 όσο ο πελάτης συνδέεται και διαβάστε τη διεύθυνση προέλευσης που βλέπει πραγματικά η εφαρμογή. Αν είναι η διεπαφή του τελικού σημείου στην πλευρά του VPC και όχι μια διεύθυνση από τη δεξαμενή πελατών, η μετάφραση επιβεβαιώνεται πριν αλλάξετε ούτε έναν κανόνα.
Η δεξαμενή πελατών είναι ένα εύρος εκχώρησης, όχι ένα υποδίκτυο με διαδρομή επιστροφής. Σε αυτή τη διάκριση πάνε λάθος οι περισσότερες τέτοιες έρευνες.
Η μετάφραση που εξηγεί την ασυμμετρία
Τρεις ροές συγχέονται μεταξύ τους και μόνο μία από αυτές είναι αυτή που δοκιμάζουν οι άνθρωποι.
| Flow | Started by | What the VPC sees | Outcome |
|---|---|---|---|
| Client to EC2 service | The client | A translated source at the endpoint interface | Works, with a stateful reply |
| EC2 host to client pool address | The EC2 host | A destination with no route and no translation state | No usable path |
| Client to client | A client, when the feature is configured | Traffic mediated by the endpoint | Works only with that feature and its authorisation |
Η περιγραφή των συστατικών του Client VPN αναφέρει ρητά ότι οι πηγές IPv4 του πελάτη μεταφράζονται στη διεπαφή του τελικού σημείου, κάτι που αρκεί για να δει κανείς γιατί η μεσαία γραμμή δεν έχει τίποτα να αντιστοιχήσει.
Μια νέα σύνδεση χρειάζεται διαδρομή, βήμα επίλυσης διεύθυνσης και απόφαση εξουσιοδότησης. Η κατάσταση μετάφρασης από τη συνεδρία κάποιου άλλου δεν παρέχει κανένα από τα τρία.
Γιατί μια απάντηση δεν είναι νέα σύνδεση
Μια απάντηση TCP αντιστοιχίζεται με μια υπάρχουσα εγγραφή, γι' αυτό η διαδρομή επιστροφής λειτουργεί χωρίς κανέναν εισερχόμενο κανόνα. Ένα νέο SYN από τον κεντρικό υπολογιστή EC2 δεν έχει εγγραφή να αντιστοιχίσει, οπότε γίνεται μια συνηθισμένη εξερχόμενη απόπειρα προς έναν προορισμό που το VPC δεν ξέρει πώς να φτάσει.
Γι' αυτό επίσης είναι παραπλανητικό να το περιγράφει κανείς ως κίνηση που πηγαίνει μόνο προς μία κατεύθυνση. Η κίνηση επιστροφής ρέει συνεχώς σε αυτές τις συνεδρίες. Η έναρξη είναι το μέρος χωρίς διαδρομή.
Τι εξακολουθεί να σπάει μια συνεδρία που θα έπρεπε να λειτουργεί
Οι ομάδες ασφαλείας, οι ACL δικτύου και το τείχος προστασίας του ίδιου του φορητού έχουν όλα σημασία για τις συνδέσεις που πρέπει να πετύχουν. Ένα αποτυχημένο ping λέει τα λιγότερα, γιατί η πολιτική ICMP είναι συχνά χωριστή από την πολιτική TCP που σας ενδιαφέρει.
Γράψτε αυτούς τους κανόνες με βάση τη μεταφρασμένη πηγή, όχι τη διεύθυνση του πελάτη. Οι κανόνες που κλειδώνουν στη διεύθυνση που δεν εμφανίζεται ποτέ στο δίκτυο είναι η πιο συχνή αυτοπροκαλούμενη αποτυχία σε αυτόν τον σχεδιασμό.
Όταν το VPC πρέπει πραγματικά να ξεκινήσει τη συνομιλία
Αν μια υπηρεσία πρέπει να ειδοποιήσει έναν σταθμό εργασίας, αντιστρέψτε την κατεύθυνση και αφήστε τον πελάτη να διατηρεί ένα μόνιμο εξερχόμενο κανάλι στο οποίο απαντά η υπηρεσία. Αν ολόκληρο ένα απομακρυσμένο δίκτυο πρέπει να είναι προσβάσιμο από το VPC, επιλέξτε αρχιτεκτονική που δημοσιεύει τα προθέματά της και την πολιτική πρόσβασης αντί να υποθέτετε ότι το Client VPN το κάνει ήδη. Η πρόσβαση πελάτη-σε-πελάτη είναι μια τρίτη, στενότερη περίπτωση με δικά της αντικείμενα διαδρομής και εξουσιοδότησης. Κανένα από αυτά δεν είναι ένα πλαίσιο ελέγχου στο υπάρχον τελικό σημείο.
Κρατήστε ειλικρινές και το εύρος της εξήγησης για το IPv4. Η τρέχουσα τεκμηρίωση του AWS διαχωρίζει το IPv6, όπου δεν εφαρμόζεται αυτή η μετάφραση, και άλλα μοντέλα προσάρτησης που δρομολογούν διαφορετικά.
Δοκιμάστε σε τρία χαρακτηρισμένα βήματα: ο πελάτης ανοίγει μια επιτρεπόμενη συνεδρία, η υπηρεσία του VPC απαντά σε αυτή τη συνεδρία και ένας κεντρικός υπολογιστής του VPC ανοίγει μια νέα συνεδρία προς τον πελάτη. Το ότι τα δύο πρώτα πετυχαίνουν ενώ το τρίτο αποτυγχάνει είναι η αναμενόμενη μορφή αυτού του σχεδιασμού, όχι ελάττωμα για να κυνηγήσετε με κανόνες τείχους προστασίας.