Το Homebrew εγκαθιστά ένα πρόγραμμα OpenVPN· το Tunnelblick εγκαθιστά έναν διαχειριστή που εκτελεί μία ή περισσότερες μηχανές. Αυτά είναι διαφορετικά επίπεδα, και το χρήσιμο ερώτημα δεν είναι αν σας αρέσει να χρησιμοποιείτε τερματικό. Είναι ποιος κατέχει τη διαμόρφωση, τις αλλαγές DNS, το αίτημα διαπιστευτηρίων και τον καθαρισμό όταν τελειώνει η σύνοδος. Ένας μόνο ιδιοκτήτης για αυτά τα επίπεδα κάνει τη ρύθμιση προβλέψιμη.

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

Έλεγχος πρώτος: ποιο δυαδικό του OpenVPN εκτελείται πραγματικά

Εκτελέστε pgrep -fl openvpn όσο είστε συνδεδεμένοι και διαβάστε ολόκληρη τη γραμμή εντολών. Η πρώτη διαδρομή είναι η μηχανή που εκτελείται πραγματικά. Στο Apple Silicon μια εγκατάσταση Homebrew βρίσκεται συνήθως κάτω από /opt/homebrew, ενώ τα Intel Mac χρησιμοποιούν /usr/local, και το Tunnelblick εκτελεί μηχανή μέσα από το δικό του πακέτο εφαρμογής.

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

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

Έλεγχος δεύτερος: ποιος αλλάζει DNS και διαδρομές

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

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

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

Έλεγχος τρίτος: από πού έρχονται τα διαπιστευτήρια

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

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

Έλεγχος τέταρτος: ποιος ξεκινά, επιβλέπει και σταματά τη διεργασία

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

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

Όποιον ιδιοκτήτη κι αν επιλέξετε, ορίστε τι συμβαίνει σε ύπνο, αλλαγή δικτύου και αποσύνδεση χρήστη. Ένας διαχειριστής συνήθως χειρίζεται αυτά τα γεγονότα· μια γυμνή διεργασία συνήθως όχι, και η προκύπτουσα παρωχημένη διαδρομή ή resolver διαβάζεται εύκολα λάθος ως βλάβη διακομιστή.

Έλεγχος πέμπτος: πώς επαληθεύεται η παράδοση

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

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

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

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

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