Η υπηρεσία OpenVPN αποτυγχάνει σε προφίλ που ανοίγει το GUI: πέντε έλεγχοι
Ίδιο προφίλ, άλλος εκκινητής. Ελέγξτε τον κατάλογο εργασίας, τον λογαριασμό της υπηρεσίας, το χαρακτηριστικό του κρυπτογραφημένου αρχείου, τον κάτοχο και μετά το περιτύλιγμα.
Δύο εκκινητές ανοίγουν το ίδιο προφίλ σε ένα μηχάνημα, και μόνο το GUI συνδέεται. Το αρχείο είναι ακέραιο και ο εγκαταστάτης μάλλον εντάξει· αυτό που διαφέρει είναι το περιβάλλον που δίνει κάθε εκκινητής στο openvpn.exe. Ο κατάλογος εργασίας, η ταυτότητα του λογαριασμού και τα χαρακτηριστικά του αρχείου ταξιδεύουν όλα μαζί με αυτό το περιβάλλον. Ελέγξτε τα με αυτή τη σειρά και σταματήστε στο πρώτο που εξηγεί το σφάλμα.
Επιβεβαιώστε ποιος εκκινητής αποτυγχάνει
Ξεκινήστε αποδεικνύοντας τον διαχωρισμό. Αν το GUI συνδέεται και η υπηρεσία όχι, με την ίδια διαδρομή προφίλ, το αρχείο είναι αναγνώσιμο από κάποιον και το ερώτημα γίνεται ποιος το διαβάζει και από πού. Αν αποτυγχάνουν και τα δύο, το προφίλ είναι χαλασμένο και τίποτα από αυτά δεν ισχύει. Σημειώστε το όνομα της υπηρεσίας και το ακριβές προφίλ που της ζητήθηκε να φορτώσει.
Μια υπηρεσία που δείχνει στον δικό της κατάλογο αυτόματης εκκίνησης μπορεί να μη φορτώνει το αρχείο που έχετε ανοιχτό σε έναν επεξεργαστή. Συγκρίνετε τη διαδρομή στη ρύθμιση της υπηρεσίας με τη διαδρομή στο GUI, χαρακτήρα προς χαρακτήρα, γιατί ένα όνομα φακέλου στο τέλος ή ένα διαφορετικό γράμμα μονάδας αρκεί για να σας στείλει στον λάθος κλάδο.
Πού επιλύονται οι σχετικές διαδρομές
Ένα προφίλ που παραπέμπει στο ca.crt ή σε ένα βοηθητικό σκριπτ μόνο με το όνομά του ζητά αναζήτηση σε σχέση με το σημείο όπου βρίσκεται η διεργασία. Το GUI ξεκινά στον φάκελο ρυθμίσεων, οπότε αυτά τα ονόματα επιλύονται. Μια υπηρεσία που ξεκινά ο διαχειριστής υπηρεσιών δεν έχει τέτοιο σημείο εκκίνησης, και η αναζήτηση αποτυγχάνει πριν διαβαστεί οποιοδήποτε πιστοποιητικό. Γι’ αυτό το ίδιο προφίλ λειτουργεί στον έναν εκκινητή και όχι στον άλλον.
Δώστε στο περιτύλιγμα έναν κατάλογο για να ξεκινήσει, ή κάντε κάθε παραπομπή απόλυτη. Η αναπαραγωγή του περιβάλλοντος του GUI σε γραμμή εντολών μοιάζει έτσι:
openvpn --cd "C:\VPN\profiles\office" --config "C:\VPN\profiles\office\office.ovpn"
Η αύξηση της λεπτομέρειας σε αυτή την εντολή δείχνει την ακριβή διαδρομή που δοκιμάστηκε. Κάντε το πριν αλλάξετε δικαιώματα, γιατί ένα αρχείο που λείπει και μια ανάγνωση που απορρίφθηκε χρειάζονται διαφορετικές διορθώσεις. Το προεπιλεγμένο αρχείο καταγραφής δεν τα ξεχωρίζει. Μια επιπλέον σημαία γλιτώνει μια ώρα εικασιών.
Όταν η ταυτότητα της υπηρεσίας δεν μπορεί να διαβάσει
Μια υπηρεσία εκτελείται ως ταυτότητα συστήματος, όχι ως εσείς. Ένα ACL που δίνει στον χρήστη σας πλήρη έλεγχο και σε κανέναν άλλον αποτυγχάνει εκεί, ενώ λειτουργεί τέλεια στη συνεδρία σας. Ένα προφίλ που τηρείται σε αντιστοιχισμένη μονάδα ή σε πιστοποιημένο κοινόχρηστο πόρο αποτυγχάνει για τον ίδιο λόγο. Επιβεβαιώστε τα δικαιώματα του αρχείου πριν κοιτάξετε οτιδήποτε άλλο.
Ο έλεγχος είναι μια ανάγνωση των πραγματικών δικαιωμάτων συν μια ανάγνωση που επιχειρείται ως ταυτότητα της υπηρεσίας. Εκτελέστε το πρώτο μέρος από αναβαθμισμένο περιβάλλον εντολών:
icacls "C:\VPN\profiles\office\office.ovpn"
Στη συνέχεια επιχειρήστε την ίδια ανάγνωση ως ταυτότητα της υπηρεσίας, για παράδειγμα με το psexec -s -i από το Sysinternals, και παρατηρήστε αν ανοίγει το αρχείο. Αν δεν ανοίγει, καμία διόρθωση διαδρομής δεν θα βοηθήσει. Διορθώστε το ACL ή μετακινήστε το προφίλ σε θέση που μπορεί να διαβάσει η ταυτότητα της υπηρεσίας.
Η κρυπτογράφηση σε επίπεδο αρχείου είναι η δεύτερη, σπανιότερη περίπτωση. Ένα προφίλ με το χαρακτηριστικό Encrypting File System αποκρυπτογραφείται διαφανώς για τον χρήστη που το κρυπτογράφησε και παραμένει μη αναγνώσιμο για λογαριασμό υπηρεσίας. Γι’ αυτό το ίδιο αρχείο ανοίγει στον επεξεργαστή σας και όχι κάτω από την υπηρεσία.
Το χαρακτηριστικό είναι ορατό από αναβαθμισμένο περιβάλλον εντολών, και ο έλεγχός του δεν ανοίγει το προφίλ. Εκτελέστε και τις δύο εντολές και διαβάστε την έξοδο:
cipher /s:"C:\VPN\profiles\office"
attrib "C:\VPN\profiles\office\office.ovpn"
Η αφαίρεση του χαρακτηριστικού κάνει το αρχείο αναγνώσιμο, και αφαιρεί επίσης την προστασία που έφερε. Αν το προφίλ πρέπει να μείνει προστατευμένο, βάλτε το μυστικό υλικό εκεί όπου η ταυτότητα της υπηρεσίας έχει ρητή παραχώρηση αντί να βασίζεστε σε κρυπτογράφηση ανά χρήστη. Μια τέτοια διάταξη αντέχει σε αλλαγή κωδικού, και κάνει την πρόσβαση ελέγξιμη από κάποιον άλλον εκτός από το πρόσωπο που κρυπτογράφησε το αρχείο.
Αποφασίζοντας ποιος κατέχει το τούνελ
Το GUI μπορεί να ζητήσει κωδικό και να διαβάσει πιστοποιητικό από το χώρο χρήστη σας. Η υπηρεσία δεν μπορεί κανένα από τα δύο, οπότε ένα προφίλ που εξαρτάται από διαδραστικό μυστικό δεν θα ξεκινήσει ποτέ χωρίς επίβλεψη, όσο κι αν διορθωθούν οι διαδρομές. Αυτό το όριο είναι σχεδιαστική απόφαση, όχι ελάττωμα προς παράκαμψη. Διαλέξτε έναν ιδιοκτήτη πριν αλλάξετε οτιδήποτε άλλο.
Αν το τούνελ πρέπει να είναι ενεργό πριν τη σύνδεση, δώστε στην υπηρεσία πηγή διαπιστευτηρίων χωρίς επίβλεψη και δικό της αντίγραφο του προφίλ. Αν χρειάζεται να υπάρχει μόνο όσο είστε στο γραφείο, κρατήστε το στο GUI και αφαιρέστε το αντίγραφο της υπηρεσίας. Και τα δύο μαζί είναι η ρύθμιση που παράγει συγκρούσεις προσαρμογέων και διπλές διαδρομές.
Αυτή η σύγκρουση συνήθως διαγιγνώσκεται ως σφάλμα ρύθμισης αντί για δύο ιδιοκτήτες που μαλώνουν για έναν προσαρμογέα. Το αρχείο καταγραφής συμβάντων θα δείξει μια διεργασία που αποτυγχάνει να ανοίξει τη συσκευή TAP, κάτι που μοιάζει με πρόβλημα δικαιωμάτων και δεν είναι. Μετρήστε πρώτα τους ιδιοκτήτες.
Τι ξεκινά στην πραγματικότητα το περιτύλιγμα της υπηρεσίας
Το σημείο εισόδου της υπηρεσίας είναι ένα μικρό περιτύλιγμα που διαβάζει τις δικές του αποθηκευμένες παραμέτρους και μετά ξεκινά το openvpn.exe. Όταν η γραμμή εντολών στο αρχείο καταγραφής συμβάντων διαφωνεί με την προσδοκία σας, αυτές οι τιμές είναι το πράγμα που πρέπει να εξετάσετε. Η επανεγκατάσταση τις επαναφέρει στις προεπιλογές και καταστρέφει τα στοιχεία. Διαβάστε τις πρώτα.
Οι τιμές ζουν στο μητρώο κάτω από το δικό του κλειδί της υπηρεσίας, και το sc qc δείχνει τη διαδρομή του δυαδικού αρχείου που θα ξεκινήσει ο διαχειριστής υπηρεσιών. Συγκρίνετε αυτή τη διαδρομή με την αποθηκευμένη ρύθμιση του περιτυλίγματος πριν επεξεργαστείτε οποιοδήποτε από τα δύο.
Η αντικατάσταση του περιτυλίγματος με σκριπτ που ελέγχετε είναι πιο επεμβατική, αλλά συμπτύσσει την πραγματική γραμμή εντολών σε ένα αναγνώσιμο αρχείο. Τελειώστε με επανεκκίνηση, και μετά διαβάστε το αρχείο καταγραφής ανά προφίλ μέχρι να εμφανιστεί η πρώτη επιτυχημένη γραμμή εκκίνησης. Μια κατάσταση υπηρεσίας σε λειτουργία σημαίνει μόνο ότι το περιτύλιγμα δεν έχει τερματιστεί, κάτι που ισχύει και όταν το παιδί του πέθανε αμέσως.