Πού ανήκει η διαδρομή στο OpenVPN: στον πελάτη ή στον διακομιστή;
Μια γυμνή διαδρομή στη ρύθμιση παραμέτρων του διακομιστή αλλάζει τον διακομιστή, όχι τον πελάτη. Επιλέξτε το αρχείο πελάτη, ένα καθολικό push ή ένα push για έναν πελάτη και ελέγξτε τι έφτασε.
Προσθέτετε το route 10.60.0.0 255.255.255.0 στη ρύθμιση παραμέτρων του διακομιστή, κάνετε επανεκκίνηση, επανασυνδέετε ένα φορητό υπολογιστή και το υποδίκτυο εξακολουθεί να μην είναι προσβάσιμο από αυτόν τον φορητό. Η γραμμή έγινε δεκτή, η υπηρεσία ξεκίνησε καθαρά και τίποτα στο αρχείο καταγραφής δεν φαίνεται λάθος. Αυτό που συνέβη είναι ότι η διαδρομή εγκαταστάθηκε στο μηχάνημα που επεξεργαστήκατε: η πύλη τώρα πιστεύει ότι μπορεί να φτάσει αυτό το πρόθεμα, ενώ στον πελάτη δεν ειπώθηκε τίποτα. Η τοποθέτηση είναι όλο το ζήτημα, και υπάρχουν τέσσερα σημεία όπου μπορεί να ζήσει η ίδια γραμμή.
Τα τέσσερα σημεία και ποιος λαμβάνει το καθένα
Μια διαδρομή μπορεί να προστεθεί από τη ρύθμιση του ίδιου του πελάτη, να προσφερθεί σε κάθε πελάτη μέσω καθολικού push, να προσφερθεί σε έναν πελάτη μέσω αρχείου ειδικού για πελάτη ή να γραφτεί στο δικό του πλαίσιο δρομολόγησης του διακομιστή.
Αυτές οι τέσσερις περιπτώσεις χρησιμοποιούν σχεδόν ίδια σύνταξη και παράγουν εντελώς διαφορετικά αποτελέσματα. Οι τρεις πρώτες επηρεάζουν τι στέλνει ένας πελάτης στη σήραγγα· η τέταρτη επηρεάζει πώς ο διακομιστής φτάνει σε ένα δίκτυο, κάτι χρήσιμο όταν ο ίδιος ο διακομιστής χρειάζεται μια διαδρομή και επιβλαβές όταν παρερμηνεύεται ως διανομή.
Αποφασίστε ποια από τις τέσσερις θέλετε πριν γράψετε τη γραμμή και μετά επιβεβαιώστε τον παραλήπτη.
| Placement | Effect | Receiver |
|---|---|---|
| Client profile route | Installed by the client at connect | That client only |
Global push "route ..." | Sent to every client that accepts pushed options | All pulling clients |
| Client-specific push | Sent to the matching client context | One identity |
| Server config route, no push | Added to the server's own table | The gateway itself |
Γιατί η γυμνή διαδρομή στον διακομιστή εκπλήσσει
Η ρύθμιση του διακομιστή είναι το πρώτο μέρος όπου κοιτούν οι διαχειριστές, και μια οδηγία διαδρομής εκεί διαβάζεται σαν δήλωση για το δίκτυο VPN. Δεν είναι. OpenVPN τη χειρίζεται ως τοπική εγκατάσταση διαδρομής στο μηχάνημα που τρέχει τον δαίμονα, δηλαδή ακριβώς το ίδιο είδος αλλαγής που θα κάνατε με το ip route και μετά θα ξεχνούσατε.
Η διανομή απαιτεί να γίνει push της διαδρομής, και το push απαιτεί ο πελάτης να την τραβήξει. Ένας πελάτης που ξεκίνησε με απενεργοποιημένες τις τραβηγμένες επιλογές αγνοεί εντελώς την προσφορά. Ελέγξτε και τα δύο άκρα αυτής της χειραψίας πριν ξαναγράψετε το αρχείο του διακομιστή, γιατί το αρχείο καταγραφής του διακομιστή δεν θα παραπονεθεί: από την πλευρά του, η προσφορά στάλθηκε. Μια αποδεκτή διαδρομή επίσης ισχύει μόνο στην επόμενη σύνδεση, ποτέ στη συνεδρία στην οποία βρίσκεστε ήδη.
Μόλις δείτε τις δύο ως ξεχωριστές λειτουργίες, η αποτυχία παύει να είναι μυστηριώδης: ο διακομιστής φτάνει το πρόθεμα, ο πελάτης δεν μπορεί, και οι δύο δηλώσεις είναι αληθείς ταυτόχρονα.
Αρχεία ανά πελάτη και η ταυτότητα που ταιριάζουν
Ένα αρχείο ειδικό για πελάτη ονομάζεται με βάση την ταυτότητα που επαλήθευσε ο διακομιστής, η οποία από προεπιλογή είναι το κοινό όνομα του πιστοποιητικού. Ένα φιλικό όνομα σύνδεσης σε πελάτη επιφάνειας εργασίας δεν είναι αυτή η τιμή, και μια αναντιστοιχία παράγει αρχείο που δεν διαβάζεται ποτέ.
Ελέγξτε τον κατάλογο που χρησιμοποιεί πραγματικά ο διακομιστής και μετά επιβεβαιώστε ότι το όνομα αρχείου ταιριάζει ακριβώς με την επαληθευμένη ταυτότητα, συμπεριλαμβανομένων των πεζών και κεφαλαίων.
grep -n 'client-config-dir' /etc/openvpn/server/server.conf
ls -l /etc/openvpn/ccd/Μέσα σε αυτό το αρχείο η διαδρομή πρέπει ακόμη να γίνει push, γιατί το πλαίσιο ανά πελάτη είναι ένα σύνολο επιλογών που εφαρμόζονται στη συνεδρία εκείνου του πελάτη, όχι τοπικός πίνακας δρομολόγησης. Μια γυμνή διαδρομή εκεί έχει το ίδιο πρόβλημα με μια γυμνή διαδρομή στο καθολικό αρχείο.
Το δικό του αρχείο του πελάτη και το εργαλείο που το διαχειρίζεται
Μια διαδρομή που τοποθετείται στη ρύθμιση του πελάτη εγκαθίσταται όταν αυτός ο πελάτης συνδέεται και αφαιρείται όταν αποσυνδέεται, που είναι ο σωστός κύκλος ζωής για έναν στατικό προορισμό.
Αν το προφίλ το διαχειρίζεται ένας διαχειριστής δικτύου, μπορεί να εισαγάγει αυτές τις επιλογές μία φορά και μετά να κρατήσει το δικό του αντίγραφο. Η επεξεργασία του ληφθέντος αρχείου αργότερα δεν αλλάζει τίποτα, κάτι που είναι συνηθισμένη αιτία του "η διαδρομή υπάρχει αλλά δεν εφαρμόζεται".
Ελέγξτε το ενεργό προφίλ αντί για το αρχείο που κατεβάσατε, και ελέγξτε τις εισαγόμενες ρυθμίσεις που εμφανίζει ο διαχειριστής. Μετά συνδεθείτε και ρωτήστε το σύστημα ποια διαδρομή χρησιμοποιεί μια συγκεκριμένη διεύθυνση, αντί να υποθέσετε ότι κέρδισε η σήραγγα επειδή η διαδρομή υπήρχε σε ένα αρχείο κειμένου.
Επαληθεύστε στον πελάτη και μετά ελέγξτε τη διαδρομή επιστροφής
Ρωτήστε τον δικό του πίνακα δρομολόγησης του πελάτη για τον προορισμό, όχι του διακομιστή. Μια αναζήτηση για έναν μόνο κεντρικό υπολογιστή μέσα στο πρόθεμα αρκεί για να δείξει τη διεπαφή και το επόμενο άλμα που θα χρησιμοποιηθούν.
ip route get 10.60.0.10Αν η αναζήτηση δείχνει στη σήραγγα, η διανομή λειτούργησε και το υπόλοιπο πρόβλημα είναι αλλού. Αν δείχνει στην προεπιλεγμένη πύλη, η διαδρομή δεν εγκαταστάθηκε, φιλτραρίστηκε από επιλογή στην πλευρά του πελάτη ή ανήκει σε προφίλ που ο πελάτης δεν χρησιμοποιεί.
Υποθέστε ότι η διανομή λειτούργησε και ακόμη τίποτα δεν αποκρίνεται: τότε ελέγξτε την προώθηση στην πύλη, τη διαδρομή επιστροφής της απέναντι πλευράς και οποιοδήποτε τείχος προστασίας ανάμεσά τους. Μια διαδρομή επιλέγει έναν δρόμο, δεν παρέχει πρόσβαση.