Στα Windows, το "πού είναι το προφίλ OpenVPN μου" έχει δύο διαφορετικές απαντήσεις, και η λάθος επιλογή κοστίζει ένα απόγευμα. Το κοινοτικό OpenVPN GUI αντιμετωπίζει έναν κατάλογο ως λίστα προφίλ: κάθε αρχείο .ovpn στον διαμορφωμένο φάκελο εμφανίζεται στο μενού της περιοχής ειδοποιήσεων, και ένα αρχείο που αφαιρείται από αυτόν τον φάκελο εξαφανίζεται. Το OpenVPN Connect εργάζεται από έναν χώρο εισαγωγής, οπότε κρατά ένα προφίλ που διαγράψατε από τον δίσκο και αγνοεί ένα αρχείο που αντιγράψατε μέσα. Η σύγκριση παρακάτω είναι αυτή που χρησιμοποιώ για να αποφασίσω ποιον φάκελο θα ανοίξω πριν αγγίξω οτιδήποτε.

Λίστα φακέλου έναντι χώρου εισαγωγής

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

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

Το κοινοτικό GUI: ποιος φάκελος χρησιμοποιείται πραγματικά

Δύο φάκελοι έχουν σημασία. Μια εγκατάσταση ανά χρήστη διαβάζει το %USERPROFILE%\OpenVPN\config· μια εγκατάσταση για όλους τους χρήστες διαβάζει το C:\Program Files\OpenVPN\config, ή τη διαδρομή x86 όταν ο πελάτης είναι 32-bit. Αν ένα προφίλ εμφανίζεται μόνο για έναν λογαριασμό Windows, βρίσκεται στον φάκελο ανά χρήστη και ο άλλος λογαριασμός δεν θα το δει ποτέ.

Μην συνάγετε τη διαδρομή από το πρόγραμμα εγκατάστασης. Το GUI δέχεται όρισμα --config_dir και θυμάται τον κατάλογο με τον οποίο ξεκίνησε, οπότε μια συντόμευση μπορεί να δείχνει εντελώς αλλού. Ελέγξτε τον προορισμό της συντόμευσης και το πεδίο Start in, ή τις ρυθμίσεις του GUI, πριν δημιουργήσετε οποιοδήποτε αρχείο.

Η αφαίρεση είναι αφαίρεση αρχείου. Κλείστε πρώτα το GUI ώστε να μην κρατά την καταχώριση στη μνήμη, διαγράψτε το .ovpn μαζί με τυχόν αρχεία πιστοποιητικού ή κλειδιού δίπλα του, και μετά ξεκινήστε ξανά τον πελάτη.

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

Connect: ο χώρος εισαγωγής και η διπλή παγίδα AppData

Οι τρέχουσες εκδόσεις 2.x και 3.x κρατούν τα προφίλ κάτω από το %APPDATA%\OpenVPN Connect\profiles. Οι εκδόσεις γύρω από την 2.5 χρησιμοποιούσαν αντίθετα το %ProgramFiles(x86)%\OpenVPN Technologies\OpenVPN Client\etc\profile, γι' αυτό οι παλιότερες και οι νεότερες απαντήσεις στα φόρουμ φαίνονται αντιφατικές. Ένα μηχάνημα που αναβαθμίστηκε επί τόπου μπορεί να κρατά ακόμη και τα δύο.

Οι διαδρομές παραμορφώνονται όταν τις αφηγείσαι. Το %AppData% ήδη επιλύεται σε AppData\Roaming, οπότε η γραφή %AppData%\Roaming\OpenVPN Connect\profiles επεκτείνεται σε AppData\Roaming\Roaming και δεν δείχνει πουθενά. Χρησιμοποιήστε τη μεταβλητή ή την κυριολεκτική διαδρομή, ποτέ μείγμα των δύο.

Διαγράψτε μέσω του πελάτη: ανοίξτε το Profiles, χρησιμοποιήστε το εικονίδιο μολυβιού, επιλέξτε Delete. Αυτό αφαιρεί την εγγραφή και το αποθηκευμένο αντίγραφο μαζί. Η αφαίρεση του φακέλου ενώ το Connect τρέχει μπορεί να αφήσει μια εγγραφή που δεν ανοίγει τίποτα, που είναι το παράπονο "profile still shows up" στην άλλη του μορφή.

Το εισαγμένο αντίγραφο είναι αυτό που εκτελεί ο πελάτης. Η επεξεργασία του .ovpn που έμεινε στο Downloads δεν αλλάζει τίποτα, γιατί το Connect διαβάζει το αποθηκευμένο του αντίγραφο· για να αλλάξετε ένα remote ή ένα cipher, επεξεργαστείτε το προφίλ μέσα στον πελάτη, ή επεξεργαστείτε το αρχείο και εισαγάγετέ το ξανά .

Γιατί επιστρέφει ένα διαγραμμένο προφίλ

Δύο εγκαταστάσεις της ίδιας οικογένειας πελατών είναι ο συνηθισμένος λόγος. Ένα GUI ανά χρήστη και ένα GUI για όλους τους χρήστες έχουν ξεχωριστούς καταλόγους διαμόρφωσης, οπότε η διαγραφή από τον έναν αφήνει τον άλλον άθικτο και η περιοχή ειδοποιήσεων εξακολουθεί να εμφανίζει το όνομα. Στο Programs and Features επιβεβαιώνετε αν είναι εγκατεστημένα και τα δύο.

Ο δεύτερος λόγος είναι ένα προφίλ που δεν ήταν ποτέ στον φάκελο που ελέγξατε. Το άνοιγμα ενός .ovpn μία φορά από κοινόχρηστο δίκτυο ή από φάκελο Downloads μπορεί να το αντιγράψει στον κατάλογο διαμόρφωσης ανά χρήστη, και τα εισαγμένα προφίλ Connect υπάρχουν μόνο στο AppData. Πριν επεξεργαστείτε οτιδήποτε, αναζητήστε το όνομα αρχείου κάτω από το %USERPROFILE% και το %APPDATA%. Ένας φάκελος προφίλ συνήθως κρατά το ιδιωτικό κλειδί δίπλα στο .ovpn, οπότε μην επικολλάτε ποτέ τον φάκελο σε δελτίο ή συνομιλία για να αποδείξετε ποιο προφίλ αφαιρέσατε - αναφέρετε αντίθετα το όνομα αρχείου και τη χρονική σήμανση.

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

Δύο σήραγγες ταυτόχρονα: πρώτα οι προσαρμογείς, μετά η διαδρομή

Το GUI μπορεί να κρατά πολλές συνδέσεις, μία ανά εικονικό προσαρμογέα· προσθέστε προσαρμογείς από την καταχώριση του μενού Start που εγκαθιστά το TAP-Windows6, και μετά επιβεβαιώστε τον αριθμό στο Network Connections, γιατί δύο ταυτόχρονες σήραγγες χρειάζονται δύο προσαρμογείς και οι δύο πρέπει να λαμβάνουν τη διεύθυνσή τους αυτόματα. Η δρομολόγηση είναι το δυσκολότερο όριο. Δύο προφίλ που το καθένα ανακατευθύνει όλη την κίνηση ανταγωνίζονται για την προεπιλεγμένη διαδρομή, και μόνο ένα μπορεί να την κατέχει, οπότε παίρνετε διακοπτόμενες αποτυχίες αντί για δύο σήραγγες που λειτουργούν. Κρατήστε μία πλήρη σήραγγα και δώστε στη δεύτερη ένα προφίλ split-tunnel που σπρώχνει μόνο το δικό του υποδίκτυο.

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

Τα ονόματα προσαρμογέων σας λένε τι κοιτάτε. Το Get-NetAdapter στο PowerShell απαριθμεί τους προσαρμογείς TAP-Windows και τον προσαρμογέα Wintun ονομαστικά, που είναι ταχύτερο από το μέτρημα εικονιδίων στο Network Connections όταν μια σήραγγα ανέβηκε στον λάθος.

Εκκίνηση ονομασμένου προφίλ από σενάριο

Το GUI παίρνει ένα όνομα προφίλ σχετικά με τον κατάλογο διαμόρφωσής του, οπότε ένας εκκινητής μοιάζει έτσι: "C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --connect "myvpn.ovpn". Μια απόλυτη διαδρομή, ή μια διεργασία που ξεκίνησε σε διαφορετικό κατάλογο εργασίας, αποτυγχάνει σιωπηλά, γι' αυτό μια συντόμευση που λειτουργεί με διπλό κλικ σπάει κάτω από το Task Scheduler.

Ορίστε τον κατάλογο εργασίας αντί να ελπίζετε. Σε εκκινητή AutoHotkey αυτό είναι SetWorkingDir, C:\Program Files\OpenVPN\config· στο Task Scheduler είναι το πεδίο Start in της ενέργειας. Η μετάδοση --config_dir με την ίδια διαδρομή κάνει τον εκκινητή ανεξάρτητο και από τα δύο.

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

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