VPN σε Mac και διαμεσολαβητής PAC: δύο αποφάσεις, όχι μία ρύθμιση
Ένα αρχείο PAC επιλέγει διαμεσολαβητή ανά αίτημα, ενώ το VPN επιλέγει διαδρομή. Παρακολουθήστε τη λήψη, την επιλογή και τον υποδοχέα και σταματήστε να διαβάζετε το DIRECT ως εκτός σύνδεσης.
Ο Mac σας κατεβάζει ένα σενάριο πολιτικής και μετά ρωτά αυτό το σενάριο ποιον ενδιάμεσο πρέπει να χρησιμοποιήσει ένα αίτημα, ενώ η σήραγγα αποφασίζει μόνο πώς φτάνει το επιλεγμένο άλμα. Και οι δύο απαντήσεις καταλήγουν στον ίδιο υποδοχέα, οπότε ένα αίτημα που αποτυγχάνει αφού πέτυχαν και οι δύο μοιάζει με ένα σφάλμα ενώ είναι δύο. Ο διαχωρισμός της λήψης από την επιλογή, και της επιλογής από τη διαδρομή, είναι το μεγαλύτερο μέρος της δουλειάς σε αυτά τα δελτία. Η σειρά παρακάτω ακολουθεί το τι κάνει πραγματικά το macOS, με τους ελέγχους που κάνουν κάθε στάδιο ορατό.
Πού αποκλίνουν η διεύθυνση PAC και ο διαμεσολαβητής
Μια διεύθυνση όπως https://config.corp.example/proxy.pac ονομάζει ένα έγγραφο προς λήψη, και αυτό το έγγραφο ονομάζει έναν διακομιστή από τον οποίο θα περνά η κίνηση. Η επικόλληση του URL σε πεδίο κεντρικού υπολογιστή διαμεσολαβητή ζητά από τον πελάτη να ανοίξει σύνδεση διαμεσολαβητή προς έναν διακομιστή αρχείων που ποτέ δεν ακούει για μια τέτοια. Μέσα στο αρχείο υπάρχει μια συνάρτηση που ο πελάτης καλεί ανά αίτημα, και η τιμή επιστροφής της είναι το επόμενο άλμα για αυτόν τον έναν προορισμό. Αυτή η έμμεση οδός εξηγεί γιατί δύο μηχανήματα στην ίδια υπηρεσία δικτύου μπορούν να συμπεριφέρονται διαφορετικά ενώ και τα δύο έχουν το σωστό URL. Εξηγεί επίσης γιατί μια αλλαγή πολιτικής τίθεται σε ισχύ χωρίς κανείς να αγγίξει τον ίδιο τον διαμεσολαβητή.
Διαβάστε το σενάριο πριν ερμηνεύσετε οτιδήποτε κατάντη, γιατί οι κανόνες μέσα του φέρουν τις εξαιρέσεις του οργανισμού και τη σειρά με την οποία εφαρμόζονται. Ένα πρώιμο ευρύ εύρος μπορεί να επισκιάσει ένα μεταγενέστερο εσωτερικό επίθημα, και ένας κεντρικός υπολογιστής που προφανώς θα έπρεπε να παρακάμπτει τον διαμεσολαβητή συνεχίζει να τον χρησιμοποιεί. Όταν κάποιος επιμένει ότι η πολιτική είναι λάθος, το σενάριο είναι το μόνο μέρος όπου αυτός ο ισχυρισμός διευθετείται.
Το σενάριο πρέπει να ληφθεί πριν αποφασίσει οτιδήποτε
Η λήψη της πολιτικής απαιτεί ένα όνομα που επιλύεται και μια διαδρομή προς ό,τι σερβίρει το αρχείο, και μια συνδεδεμένη σήραγγα δεν συνεπάγεται κανένα από τα δύο. Αν ο κεντρικός υπολογιστής επιλύεται μόνο μέσω ιδιωτικού DNS, ο resolver που χρησιμοποιείται εκείνη τη στιγμή αποφασίζει αν η λήψη μπορεί να ξεκινήσει. Αν ο κεντρικός υπολογιστής βρίσκεται σε ιδιωτικό εύρος, η διαδρομή πρέπει να υπάρχει από αυτό το μηχάνημα και όχι από το φορητό ενός συναδέλφου. Ένα αντίγραφο που έχει κρυφτεί σε προηγούμενη συνεδρία κρύβει όλα αυτά μέχρι να λήξει η προσωρινή μνήμη ή να επανεκκινήσει το μηχάνημα.
Εκτελέστε τους τρεις ελέγχους παρακάτω με σειρά και σταματήστε στην πρώτη αποτυχία, γιατί τα στάδια δεν μοιράζονται αιτία. Μαζί δείχνουν αν η πολιτική είναι ρυθμισμένη, αν είναι προσβάσιμη και τι επιστρέφει.
scutil --proxy
networksetup -getautoproxyurl "Wi-Fi"
curl -sS -o /dev/null -w "%{http_code}\n" https://config.corp.example/proxy.pac
Η πρώτη εντολή εκτυπώνει το λεξικό διαμεσολαβητή για την ενεργή υπηρεσία, συμπεριλαμβανομένου οποιουδήποτε URL αυτόματης διαμόρφωσης κρατά το σύστημα. Η δεύτερη αναφέρει το URL που συνδέεται με μία ονομασμένη υπηρεσία, κάτι που έχει σημασία σε φορητό που κινείται μεταξύ Wi-Fi και Ethernet. Η τρίτη φέρνει το αρχείο χωρίς να το αποδώσει, ώστε ένα 404, ένα timeout και μια αποτυχία resolver να παραμένουν διακριτά. Αν η τελευταία εντολή επιστρέφει το σενάριο ενώ οι εφαρμογές εξακολουθούν να αποτυγχάνουν, το πρόβλημα έχει ήδη περάσει τη λήψη.
Τι πραγματικά παραλείπει μια απάντηση DIRECT
Η προδιαγραφή PAC δίνει στον πελάτη ένα μικρό λεξιλόγιο, και το DIRECT είναι μία από τις λέξεις του. Η λέξη λέει στον πελάτη να παρακάμψει τον διαμεσολαβητή για εκείνο το αίτημα και δεν λέει τίποτα για το ποια διεπαφή θα χρησιμοποιήσει μετά ο υποδοχέας. Ένας άμεσος υποδοχέας σε πλήρη σήραγγα εξακολουθεί να βγαίνει μέσω του VPN και εξακολουθεί να δείχνει στον προορισμό τη διεύθυνση εξόδου της σήραγγας.
Το να διαβάζετε το DIRECT ως εκτός VPN είναι το λάθος που στέλνει ανθρώπους στο λάθος πάνελ ρυθμίσεων. Η κατοπτρική εικόνα είναι εξίσου συχνή, γιατί ένας ιδιωτικός διαμεσολαβητής μπορεί να φτάνει μέσω διαχωρισμένης διαδρομής ενώ το υπόλοιπο μηχάνημα μένει εκτός σήραγγας. Τότε αυτό που αναφέρει ο προορισμός ανήκει στην έξοδο του ίδιου του διαμεσολαβητή, που μπορεί να βρίσκεται σε άλλη χώρα. Το να γράψετε την προσδοκία για έναν εσωτερικό και έναν δημόσιο κεντρικό υπολογιστή το αποκαλύπτει γρήγορα, αφού το σενάριο συχνά απαντά διαφορετικά στους δύο. Μόλις μάθετε ποιο άλμα παρήγαγε τη διεύθυνση, η αναφορά παύει να είναι μυστηριώδης.
Τρεις αποτυχίες που εμφανίζονται ως μία σελίδα σφάλματος
Η πολιτική μπορεί να αποτύχει να ληφθεί, ο επιλεγμένος διαμεσολαβητής μπορεί να μην είναι προσβάσιμος, και ένα αίτημα που φτάνει στην υπηρεσία μπορεί να απορριφθεί εκεί. Και τα τρία φτάνουν ως timeout ή ως γενική σελίδα σφάλματος, και κανένα δεν ονομάζει το στάδιο που έσπασε. Η καταγραφή της απόφασης δίπλα στο σφάλμα είναι αυτό που τα χωρίζει. Οι δύο δοκιμές παρακάτω ελέγχουν το άλμα που επέλεξε το σενάριο, μία για κάθε κλάδο που μπορεί να επιστρέψει.
curl -v --max-time 8 http://proxy.corp.example:8080/
curl -v --max-time 8 https://intranet.corp.example/
Μια ολοκληρωμένη σύνδεση με τον διαμεσολαβητή μεταφέρει το ερώτημα στην αυθεντικοποίηση ή στην ίδια την πολιτική του διαμεσολαβητή, που έχει άλλον ιδιοκτήτη. Μια ολοκληρωμένη σύνδεση με τον εσωτερικό κεντρικό υπολογιστή χωρίς διαμεσολαβητή στη διαδρομή αποκλείει τη διαδρομή και δείχνει προς την πολιτική. Και οι δύο εντολές αγνοούν το λεξικό διαμεσολαβητή του macOS εκτός αν το κέλυφος εξάγει μεταβλητές διαμεσολαβητή, οπότε καθαρίστε τις πρώτα. Καμία από τις δύο δοκιμές δεν αποδεικνύει την άλλη, και γι' αυτό μία σελίδα σφάλματος παραπλανά τόσο καιρό.
Τι να παραδώσετε με το δελτίο
Στείλτε την ενεργή υπηρεσία δικτύου, το URL του PAC, το αποτέλεσμα αξιολόγησης για τον κεντρικό υπολογιστή που αποτυγχάνει και το στάδιο όπου εμφανίστηκε το σφάλμα. Αυτά τα τέσσερα επιτρέπουν στο επόμενο άτομο να αναπαράγει την απόφαση αντί να μαντεύει ποιο επίπεδο ενεπλάκη. Προσθέστε την κατάσταση της σήραγγας τη στιγμή της δοκιμής, γιατί ένα αποτέλεσμα που καταγράφηκε πριν από επανασύνδεση είναι παρωχημένο. Κρατήστε και την αναθεώρηση του σεναρίου, αφού το αρχείο πολιτικής αλλάζει χωρίς προειδοποίηση και η χθεσινή απάντηση μπορεί να μην ισχύει πλέον.
Καταγράψτε πώς συμπεριφέρεται ο πελάτης όταν το σενάριο δεν μπορεί να ληφθεί, γιατί οι υλοποιήσεις διαφέρουν και η απόφαση για τον διαμεσολαβητή δεν είναι διακόπτης ασφαλείας για όλη τη συσκευή. Κάποιες πέφτουν σε άμεση σύνδεση και άλλες αποτυγχάνουν κλειστά, και αυτή η διαφορά αλλάζει αν μια διακοπή μοιάζει με χαλασμένο διαμεσολαβητή ή με πολιτική που λειτουργεί. Επιβεβαιώστε τη συμπεριφορά για τον ακριβή πελάτη και την έκδοση πριν βασιστείτε σε αυτήν κατά τη διάρκεια ενός περιστατικού.