Τι αποκαλύπτουν τα τοπικά αρχεία συστήματος για μια σύνδεση VPN
Το λειτουργικό σύστημα καταγράφει εκκινήσεις υπηρεσιών, αλλαγές προσαρμογέα και αποτυχίες δρομολόγησης που μια εφαρμογή δεν γράφει ποτέ. Διαβάστε ένα στενό παράθυρο και συσχετίστε το.
Κάθε επιφάνεια εργασίας κρατά το δικό της αρχείο για το τι έκανε ένα VPN, και η εξαγωγή της εφαρμογής είναι συνήθως η λιγότερο πλήρης από αυτά. Οι διαχειριστές υπηρεσιών σημειώνουν πότε ξεκίνησε μια μονάδα, ο πυρήνας σημειώνει πότε εμφανίστηκε μια διεπαφή και η στοίβα δικτύου σημειώνει πότε δεν μπόρεσαν να εφαρμοστούν διαδρομές. Καμία από αυτές τις υποδομές δεν γνωρίζει τι σκόπευε ο πελάτης, και ο πελάτης δεν γνωρίζει τι έκανε ο πυρήνας με το αίτημά του.
Η ανάγνωση ενός τέτοιου αρχείου μεμονωμένα οδηγεί στο λάθος συμπέρασμα. Διαβάστε δύο, από το ίδιο λεπτό, και η ακολουθία γίνεται ορατή.
Τρεις υποδομές με τρία λεξιλόγια
Στο Linux το ημερολόγιο systemd συλλαμβάνει μηνύματα κύκλου ζωής της μονάδας από wg-quick@wg0 ή το πρόσθετο VPN του NetworkManager, και ο κυκλικός δίαυλος του πυρήνα μεταφέρει μηνύματα διεπαφής και δρομολόγησης. Στα Windows το αρχείο συμβάντων μοιράζει την ιστορία σε παρόχους συστήματος, WLAN και απομακρυσμένης πρόσβασης, ο καθένας με τα δικά του αναγνωριστικά. Στο macOS το ενοποιημένο αρχείο μεταφέρει μηνύματα περιορισμένα σε υποσύστημα που η γραφική Console εκθέτει μόνο εν μέρει.
Τα λεξιλόγια δεν μεταφράζονται. Ένα αναγνωριστικό συμβάντος από μια πλατφόρμα δεν σημαίνει τίποτα σε άλλη, και ένα στιγμιότυπο οθόνης ενός παραθύρου των Windows δεν αποδεικνύει τίποτα για μια μονάδα Linux.
Το κοινό στοιχείο και των τριών είναι μια χρονική σφραγίδα, μια πηγή και μια σοβαρότητα, και αυτή η τριάδα είναι που καθιστά δυνατή τη συσχέτιση μεταξύ ενός αρχείου πελάτη και μιας εγγραφής του λειτουργικού συστήματος. Η διαθεσιμότητα επίσης ποικίλλει: ένα κοντέινερ χωρίς ημερολόγιο, μια περικομμένη εικόνα Windows ή ένα επίπεδο καταγραφής μειωμένο κατά την κατασκευή μπορούν να κρύψουν ένα ολόκληρο επίπεδο.
| Facility | What it records | What it cannot show |
|---|---|---|
| systemd journal | Unit start and stop, helper output, exit status | Whether packets actually reached the peer |
| Kernel and netlink | Interface creation, address assignment, route changes | Why the client asked for that configuration |
| Windows event log | Provider-specific connection and adapter events | Anything the provider chose not to log |
Τι αποδεικνύει μια συνδεδεμένη γραμμή και τι όχι
Ένα συμβάν εκκίνησης υπηρεσίας καταγράφει ότι η τοπική μονάδα κλήθηκε να ξεκινήσει και ότι δεν τερμάτισε αμέσως. Δεν καταγράφει ολοκληρωμένη χειραψία, έγκυρο κλειδί ομότιμου ή λειτουργική διαδρομή. Το να θεωρεί κανείς αυτή τη γραμμή απόδειξη σήραγγας είναι η πιο συνηθισμένη λανθασμένη ανάγνωση αυτών των αρχείων. Η γραμμή αποδεικνύει πρόθεση και κατάσταση διεργασίας, και απολύτως τίποτα για την προσβασιμότητα.
Η κατάσταση προώθησης είναι ξεχωριστή παρατήρηση, και προέρχεται από τον πίνακα δρομολόγησης και όχι από οποιοδήποτε αρχείο.
Ένα συμβάν προσαρμογέα μπορεί να εξηγήσει μια σιωπηλή αποτυχία: η διεπαφή ανέβηκε, η διεύθυνση εκχωρήθηκε, και οι διαδρομές δεν εγκαταστάθηκαν ποτέ επειδή ένας κανόνας πολιτικής τις απέρριψε. Σε αυτή την ακολουθία κάθε ορατή γραμμή φαίνεται υγιής ενώ τίποτα δεν δρομολογείται, και ο μόνος τρόπος να το δει κανείς είναι να συγκρίνει τις χρονικές σφραγίδες του αρχείου με τον πίνακα δρομολόγησης την ίδια στιγμή. Κρατήστε τη δική του σειρά συμβάντων του πελάτη δίπλα και στα δύο, γιατί ο πελάτης είναι η μόνη πηγή που γνωρίζει τι ζήτησε. Τα δύο γεγονότα που χρειάζεστε μαζί σχεδόν ποτέ δεν εμφανίζονται στην ίδια γραμμή.
Μια μεταγενέστερη επανασύνδεση αντικαθιστά το ενδιαφέρον μέρος αυτής της εικόνας, οπότε καταγράψτε το παράθυρο στην πρώτη αποτυχία και όχι μετά από τρεις προσπάθειες.
Συσχετίστε ένα στενό παράθυρο
Καταγράψτε την ώρα της προσπάθειας με τη ζώνη ώρας της και μετά τραβήξτε τα λίγα λεπτά γύρω της. Το πρώτο σφάλμα στο παράθυρο σχεδόν πάντα προηγείται της γραμμής αποσύνδεσης που επικαλούνται τα δελτία υποστήριξης.
journalctl -u wg-quick@wg0 --since "today 09:00" --until "today 09:20" ip route show table all | grep wg0 log show --last 20m --predicate 'subsystem == "com.apple.network"'
Κάθε εντολή απαντά σε διαφορετικό μέρος του ερωτήματος: η πρώτη δίνει τον κύκλο ζωής, η δεύτερη την κατάσταση προώθησης, η τρίτη το υποσύστημα δικτύου του macOS. Στα Windows φιλτράρετε το αρχείο συστήματος με το όνομα παρόχου αντί να κυλάτε ολόκληρο το κανάλι, και εξάγετε μόνο τα συμβάντα που ταιριάζουν.
Κρατήστε το απόσπασμα αρκετά μικρό ώστε να μπορεί να το ακολουθήσει ένας αναγνώστης. Ένα παράθυρο είκοσι λεπτών με τέσσερα σχετικά συμβάντα στηρίζει ένα συμπέρασμα· μια εξαγωγή ολόκληρης ημέρας με χιλιάδες γραμμές δεν στηρίζει τίποτα.
Πού σταματούν αυτά τα αρχεία
Τα τοπικά αρχεία περιγράφουν τη συσκευή, όχι τη διαδρομή. Δεν μπορούν να δείξουν τι αποθήκευσε ένας πάροχος, αν μια συνεδρία αντιστοιχίστηκε σε λογαριασμό ή τι είδε ένας προορισμός. Η δήλωση ενός παρόχου ότι δεν τηρεί αρχεία δεν λέει τίποτα για το λειτουργικό σύστημα στο φορητό σας, και ένα τοπικό συμβάν δεν αποδεικνύει τίποτα για τα ιστορικά αρχεία του παρόχου.
Φέρουν επίσης περισσότερα προσωπικά δεδομένα από το αναμενόμενο: ονόματα χρηστών, ονόματα κεντρικών υπολογιστών, διαδρομές προσάρτησης και αναγνωριστικά συσκευών εμφανίζονται σε συνηθισμένα μηνύματα συστήματος ακόμη και όταν δεν υπάρχει περιεχόμενο περιήγησης. Αφαιρέστε τα πριν επισυνάψετε οτιδήποτε σε ένα δελτίο, και κρατήστε το πρωτότυπο υπό κανονικούς ελέγχους πρόσβασης.
Σε μια διαχειριζόμενη συσκευή, ζητήστε το σχετικό απόσπασμα από το τμήμα IT αντί να προσπαθείτε να σβήσετε την οργανωτική καταγραφή. Ο διαγνωστικός στόχος είναι ένα στενό ερώτημα που απαντούν δύο πηγές, όχι ένα πλήρες ιστορικό του μηχανήματος.