Το σπίτι και το γραφείο τρέχουν και τα δύο 192.168.1.0/24, οπότε ένα αίτημα προς το 192.168.1.1 έχει δύο πιθανές απαντήσεις και ο πελάτης διαλέγει μία χωρίς να ρωτήσει. Η αναρίθμηση ενός γραφείου που δουλεύει σπάνια είναι δημοφιλής, και οι διευθύνσεις του δρομολογητή είναι συχνά ενσωματωμένες σε εκτυπωτές, κάμερες και τεκμηρίωση. Η αντιστοίχιση διευθύνσεων στην πλευρά του πελάτη μπορεί αντ' αυτού να παρουσιάσει το απομακρυσμένο δίκτυο κάτω από ένα ελεύθερο εύρος, και το τμήμα κεντρικού υπολογιστή μπορεί να μείνει ίδιο ώστε το 192.168.1.20 να εμφανίζεται ως 10.203.41.20. Η παγίδα είναι ότι μόνο μερικοί πελάτες το υλοποιούν, και δεν κάνει τίποτα για τη διαδρομή επιστροφής.

Δύο όψεις του ίδιου host

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

The application dialsThe remote device is
10.203.41.1192.168.1.1
10.203.41.20192.168.1.20

Οι τοπικές συσκευές στο σπίτι κρατούν τις δικές τους διευθύνσεις 192.168.1.x, και αυτό είναι το νόημα της άσκησης. Ο εκτυπωτής στο διπλανό δωμάτιο παραμένει προσβάσιμος ενώ το γραφείο εμφανίζεται κάτω από ένα εύρος που δεν συγκρούεται.

Η σειρά των ορισμάτων είναι όλο το κόλπο

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

push "route 10.203.41.0 255.255.255.0"
push "client-nat dnat 10.203.41.0 255.255.255.0 192.168.1.0"

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

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

Η αντιστοίχιση δεν δημιουργεί διαδρομή επιστροφής

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

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

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

Τα ονόματα και τα ωφέλιμα φορτία επιβιώνουν της μετάφρασης

Ένα όνομα host που επιλύεται στην πραγματική 192.168.1.20 στέλνει το πρόγραμμα περιήγησης στην τοπική συσκευή αντί για την απομακρυσμένη, ό,τι κι αν λέει ο πίνακας δρομολόγησης. Η απάντηση του ιδιωτικού DNS πρέπει να δείχνει στο εύρος που βλέπει ο πελάτης, ενώ το πιστοποιητικό TLS εξακολουθεί να φέρει το όνομα που περιμένει η εφαρμογή. Δοκιμάστε με το όνομα και όχι με τη διεύθυνση, γιατί η διεύθυνση μπορεί να δουλεύει ενώ το όνομα επιλύεται ήσυχα προς τη λάθος κατεύθυνση. Όταν η απομακρυσμένη πύλη εξυπηρετεί και αυτή τη ζώνη, και οι δικές της εγγραφές χρειάζονται το εύρος που βλέπει ο πελάτης.

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

Τρεις έλεγχοι πριν δεσμευτείτε

Πρώτον, επιβεβαιώστε την υλοποίηση του πελάτη. Το Community OpenVPN υποστηρίζει αυτή την επιλογή· η βάση κώδικα του OpenVPN 3 την απαριθμεί στα μη υποστηριζόμενα χαρακτηριστικά, οπότε ένα προφίλ που ωθείται σε πελάτη τύπου Connect μπορεί απλώς να την αγνοήσει. Μια οδηγία που γίνεται δεκτή και δεν εφαρμόζεται ποτέ είναι χειρότερη από σφάλμα, γιατί η σήραγγα φαίνεται υγιής.

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

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

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