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

Το ψευδώνυμο είναι τοπικό, η κυριότητα είναι απομακρυσμένη

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

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

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

Προσθέστε τη διεύθυνση στον πελάτη μόνιμα

Τοποθετήστε τη διεύθυνση υπηρεσίας στο loopback με πρόθεμα κεντρικού υπολογιστή, ώστε ο υπολογιστής να τη θεωρεί τοπική είσοδο και όχι υποδίκτυο προς προσέγγιση. Το ip address add 10.66.0.10/32 dev lo το κάνει αυτό για μία διεύθυνση, και η επανάληψη της εντολής για δεύτερη διεύθυνση μοντελοποιεί δύο υπηρεσίες.

Εκτελέστε το ως δοκιμή μίας φοράς και μετά μεταφέρετέ το σε ό,τι κατέχει τη διαμόρφωση δικτύου του κεντρικού υπολογιστή, γιατί μια προσθήκη κατά την εκτέλεση εξαφανίζεται με την επανεκκίνηση και τα αντίγραφα συσσωρεύονται μεταξύ επανασυνδέσεων. Μια μονάδα systemd ταξινομημένη μετά το δίκτυο είναι μια επιλογή, και ένας διαχειριστής δικτύου διανομής είναι άλλη. Όποιο κι αν επιλέξετε, η διεύθυνση πρέπει να υπάρχει πριν δεθεί η εφαρμογή, αλλιώς η υπηρεσία εμφανίζεται στη λάθος υποδοχή. Επαληθεύστε με το ip address show dev lo μετά από επανεκκίνηση και όχι μετά τη χειροκίνητη εντολή.

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

Διεκδικήστε την στο αρχείο CCD που διαβάζει πραγματικά ο κόμβος

Στον διακομιστή, η δήλωση κυριότητας πηγαίνει στο αρχείο ανά πελάτη που επιλέγεται από το πιστοποιημένο κοινό όνομα, μέσα στον κατάλογο που ονομάζεται από το client-config-dir. Η γραμμή είναι iroute 10.66.0.10 255.255.255.255, μία ανά διεύθυνση, και λέει στον διακομιστή ποιος ομότιμος πρέπει να λαμβάνει κίνηση για αυτόν τον προορισμό.

Δύο λεπτομέρειες το σπάνε σιωπηλά. Το όνομα αρχείου πρέπει να ταιριάζει με το όνομα που χρησιμοποιεί πραγματικά ο διακομιστής, το οποίο διαφέρει όταν παίζει το username-as-common-name. Και το iroute ισχύει μόνο σε λειτουργία TUN με διαμορφωμένο κατάλογο διαμόρφωσης πελάτη, οπότε η ίδια γραμμή δεν κάνει τίποτα σε γεφυρωμένη ανάπτυξη. Προσθέστε γραμμές στο υπάρχον αρχείο αντί να το αντικαταστήσετε, αφού μπορεί να φέρει ήδη σταθερή διεύθυνση ή επιλογές push. Η αναφορά του OpenVPN 2.6 τεκμηριώνει και τον κατάλογο και την οδηγία κυριότητας.

Ο πυρήνας του ίδιου του κόμβου χρειάζεται επίσης διαδρομή προς αυτούς τους προορισμούς ώστε η τοπικά παραγόμενη κίνηση να εισέλθει στη διεργασία σήραγγας. Το route 10.66.0.10 255.255.255.255 στη διαμόρφωση του διακομιστή καλύπτει κίνηση που δημιουργεί ο διακομιστής, ενώ άλλοι πελάτες χρειάζονται το push "route 10.66.0.10 255.255.255.255" για να μάθουν τον προορισμό μόνοι τους.

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

Ελέγξτε την πολιτική εισόδου και τη διαδρομή απάντησης

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

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

Προσέξτε για δεύτερο ακροατή στην ίδια θύρα δεσμευμένο σε άλλη διεύθυνση, γιατί ο πυρήνας παραδίδει στην υποδοχή που ταιριάζει και τα αποτελέσματα φαίνονται τυχαία. Ελέγξτε με το ss -lntp και επιβεβαιώστε ότι η δεσμευμένη διεύθυνση είναι το ψευδώνυμο υπηρεσίας. Το NAT πηγής δεν απαιτείται εδώ, και η προσθήκη του κρύβει την ταυτότητα του καλούντος από την οποία εξαρτώνται τα αρχεία καταγραφής σας.

Δοκιμάστε διευθύνσεις και κυριότητα ξεχωριστά

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

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

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