Ποιο άλμα NAT χάνει την ανενεργή αντιστοίχιση VPN και πώς να το καταλάβετε
Μια ανενεργή ροή VPN μπορεί να πεθάνει σε κάθε άλμα που κρατά κατάσταση. Επαναλάβετε μία δοκιμή, συγκρίνετε τι είδε κάθε όριο και αναφέρετε το περιορισμένο αποτέλεσμα αντί για έναν εικαζόμενο ένοχο.
Μετά από μια ήσυχη περίοδο η σήραγγα επανασυνδέεται, κανένα αρχείο καταγραφής δεν ονομάζει ένοχο, και η προφανής κίνηση είναι να διαλέξετε τη συσκευή με την πιο εντυπωσιακή τεκμηρίωση χρονικού ορίου. Αυτό είναι μια εικασία ντυμένη ως διάγνωση. Η κατάσταση μπορεί να επιβιώσει για λίγο σε έναν οικιακό δρομολογητή, σε έναν μεταφραστή παρόχου και σε ένα άκρο cloud, και οποιοδήποτε από αυτά μπορεί να ρίξει μια ροή που σωπαίνει. Αυτό που μπορείτε να κάνετε αντ’ αυτού είναι να χαρτογραφήσετε τη διαδρομή, να σημειώσετε ποιες συσκευές μπορείτε πραγματικά να παρατηρήσετε και να εκτελέσετε μία δοκιμή αδράνειας που μπορείτε να επαναλάβετε.
Μια επαναλήψιμη δοκιμή μετατρέπει ένα ανέκδοτο σε μέτρηση. Όλα τα παρακάτω προϋποθέτουν έναν πελάτη, έναν διακομιστή και ένα πρωτόκολλο, και προϋποθέτουν ότι αντιστέκεστε στην αλλαγή δύο μεταβλητών ταυτόχρονα. Το νόημα είναι να κάνετε την επόμενη εμφάνιση φθηνότερη από αυτήν.
Εκτελέστε την ίδια δοκιμή αδράνειας κάθε φορά
Γράψτε πότε ήταν η ροή τελευταία φορά σε τάξη, πόσο έμεινε μετά αδρανής και αν ένα φρέσκο πακέτο την επανέφερε. Αυτά τα τρία γεγονότα είναι η μέτρηση· χωρίς αυτά έχετε μια ιστορία για ένα φορητό υπολογιστή που έπεσε. Χρησιμοποιήστε τον ίδιο πελάτη, τον ίδιο διακομιστή και το ίδιο πρωτόκολλο σε κάθε επανάληψη, και σημειώστε τη στιγμή που στάλθηκε το πρώτο πακέτο μετά τη σιωπή.
Έπειτα συγκρίνετε τι είδε πραγματικά κάθε όριο που σας ανήκει. Η διάκριση που κρίνει την έρευνα είναι αν ο διακομιστής δεν είδε καθόλου τίποτα μετά την παύση, ή είδε το αίτημα και απάντησε σε μια διαδρομή που δεν μετέφερε πια τις απαντήσεις.
| What you observe | What it suggests | What it does not prove |
|---|---|---|
| server records no packet after the pause | state was lost upstream of the server | which hop dropped it |
| server answers, client never receives | return-path state or filtering | that the timer belongs to the client |
| client sends nothing at all | client-side timer or application behaviour | that the network path is healthy |
Σύγκριση διαδρομών χωρίς αλλαγή πέντε πραγμάτων
Ένα δεύτερο εγκεκριμένο δίκτυο πρόσβασης είναι θεμιτή σύγκριση, γιατί η αλυσίδα NAT διαφέρει. Διαφέρει επίσης σε πάροχο, συνθήκες ραδιοφώνου και ίσως οικογένεια διευθύνσεων, οπότε το αποτέλεσμα είναι ένα όριο και όχι μια απόδοση. Καταγράψτε τους περιορισμούς μαζί με το αποτέλεσμα αντί να τους αφήνετε σιωπηλά όταν αναφέρετε. Γράψτε και τη διαδρομή καθώς το κάνετε: συσκευή, ρόλος και αν η κατάστασή της μπορεί να διαβαστεί καθόλου.
Αυτό που σας αγοράζει η σύγκριση διαδρομών είναι μια περιορισμένη ερώτηση: η ροή επιβιώνει στη μία και πεθαίνει στην άλλη μετά από παρόμοια σιωπή, άρα η μεταβλητή ζει κάπου στα μέρη που διαφέρουν. Είναι πραγματικό αποτέλεσμα ακόμη και όταν δεν ονομάζεται καμία συσκευή, και λέει στον επόμενο μηχανικό πού να ξοδέψει ένα απόγευμα και πού όχι.
Η τοπική κατάσταση αξίζει να διαβαστεί πριν κάνετε εικασίες για τους παρόχους. Σε μια πύλη Linux, το conntrack -L απαριθμεί τις ροές που παρακολουθούνται με τον υπόλοιπο χρόνο ζωής τους, κάτι που μετατρέπει μια εικασία για χρονόμετρο σε αριθμό που μπορείτε να δείτε να λήγει. Διαβάστε το πριν και μετά την περίοδο αδράνειας, όχι μόνο μετά.
Τι θα κρατήσει ένα σήμα διατήρησης και τι όχι
Ένα υποστηριζόμενο σήμα διατήρησης κρατά μια αντιστοίχιση ανοιχτή, και το να κρατάς μια αντιστοίχιση ανοιχτή δεν αποδεικνύει τίποτα για την υπηρεσία πίσω της. Η σήραγγα μπορεί να μείνει αντιστοιχισμένη ενώ η εφαρμογή που μεταφέρει έχει σταματήσει να απαντά, και από μια λυχνία κατάστασης αυτές οι δύο καταστάσεις φαίνονται ίδιες. Αντιμετωπίστε το σήμα διατήρησης ως ασφάλεια κατά της λήξης λόγω αδράνειας, όχι ως έλεγχο υγείας.
Ρυθμίστε το διάστημα με βάση το συντομότερο χρονικό όριο που μετρήσατε πραγματικά, όχι έναν αριθμό αντιγραμμένο από φόρουμ. Ένα σήμα διατήρησης συντονισμένο κάτω από κάθε πιθανό χρονόμετρο είναι κίνηση που δεν χρειαζόταν κανείς, και αφαιρεί επίσης το σύμπτωμα που θα σας έλεγε ποιο όριο λήγει πρώτο. Διαλέξτε το διάστημα από τον μετρημένο αριθμό και αφήστε όλα τα άλλα ήσυχα.
Μία αλλαγή, μετά μετρήστε ξανά
Αντισταθείτε στην παρόρμηση να ανεβάσετε κάθε χρονικό όριο και να καθαρίσετε κάθε πύλη κατά τη διάρκεια μιας ζωντανής δοκιμής. Αυτό σβήνει τα στοιχεία για τα οποία ήρθατε και διακόπτει ροές άλλων ανθρώπων, κάτι που είναι κακή ανταλλαγή για μια υπόθεση που δεν δοκιμάσατε. Αλλάξτε μία υποστηριζόμενη ρύθμιση σε μία συσκευή, έπειτα επαναλάβετε την περίοδο αδράνειας και την ανάκαμψη της εφαρμογής.
Σημειώστε ποια παρατήρηση ορίου μετακινήθηκε, και σημειώστε την ακόμη και όταν τίποτα δεν βελτιώθηκε. Μια ρύθμιση που δεν διόρθωσε τίποτα είναι πληροφορία, και είναι φθηνότερο να το προσέξετε μία φορά παρά να το κυλήσετε σε όλο το συγκρότημα.
Γράφοντας ένα εύρημα που μπορείτε να υπερασπιστείτε
Όταν ένας μεταφραστής ανάντη δεν μπορεί να επιθεωρηθεί, πείτε μόνο ό,τι υποστηρίζουν τα στοιχεία: η ανταλλαγή πεθαίνει κάπου κατά μήκος αυτού του τμήματος της διαδρομής μετά από τόση ησυχία, και το υπεύθυνο άλμα μένει χωρίς απόδοση. Μια περιορισμένη δήλωση αντέχει στην αναθεώρηση και δείχνει στον επόμενο άνθρωπο το σωστό τμήμα. Το να ονομάσεις έναν κρυφό δρομολογητή ως αιτία δεν κάνει ούτε το ένα ούτε το άλλο. Παραδώστε το περιορισμένο εύρημα σε όποιον κατέχει το μη παρατηρήσιμο τμήμα, με το διάστημα συνημμένο.
RFC 4787 περιγράφει γιατί τα χρονόμετρα αντιστοίχισης UDP είναι δύσκολο να συναχθούν από ένα άκρο, και αυτή η δυσκολία είναι ο λόγος που το περιορισμένο εύρημα είναι το έντιμο. Τα χρονόμετρα είναι πραγματικά, και τόσο είναι και η αβεβαιότητα γύρω τους.