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

Αποφασίστε τι πρέπει να αποδείξει η δοκιμή

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

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

Αυτό το τελικό σημείο είναι το μόνο μέρος που πρέπει να κανονίσετε. Όλα τα άλλα είναι παρατήρηση από την πλευρά του πελάτη, και οι παρατηρήσεις από την πλευρά του πελάτη πάνε στραβά με ενδιαφέροντες τρόπους.

Εκτελέστε την παρατήρηση στο σωστό περιβάλλον

Το κέλυφος ενός διαχειριστή δεν είναι το περιβάλλον του φορτίου εργασίας. Μπορεί να μεταφέρει διαφορετική μεταβλητή μεσολάβησης, διαφορετικό πίνακα δρομολόγησης σε άλλο χώρο ονομάτων ή αρχείο περιβάλλοντος άλλου χρήστη. Εκτελέστε τη δοκιμή στο ίδιο περιβάλλον κεντρικού υπολογιστή, κοντέινερ, χώρου ονομάτων ή υπηρεσίας με αυτό που ελέγχετε. Αλλιώς μετράτε το δικό σας κέλυφος.

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

Το αίτημα που ακολουθεί έχει νόημα μόνο όταν βρίσκεστε στο σωστό περιβάλλον.

Ελέγξτε τις οικογένειες διευθύνσεων χωριστά

Ζητήστε κάθε οικογένεια ρητά, γιατί ένα επιτυχές αίτημα IPv4 δεν ασκεί καθόλου μια διαδρομή IPv6. Οι επιλογείς --ipv4 και --ipv6 επιβάλλουν την επιλογή, και η διαφορά μεταξύ των δύο αποτελεσμάτων είναι από μόνη της πληροφορία.

curl --ipv4 https://probe.example/observed-source
curl --ipv6 https://probe.example/observed-source

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

Καταγράψτε και τις δύο απαντήσεις δίπλα δίπλα. Η μία από μόνη της είναι το μισό ενός γεγονότος.

Προσθέστε τα τέσσερα πράγματα που παραβλέπει ένας έλεγχος εξόδου

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

CheckWhat it provesWhat it does not
Included and excluded destinationsThe split behaves as designed for those flowsCoverage of any other destination
Resolver pathWhere a fresh lookup actually travelledWhere a cached answer came from
Tunnel-down behaviourThe failure policy for a new requestWhat an already open connection does
Reconnect and restartThe requirement survives the lifecycle eventBehaviour under load or partial failure

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

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

Καταγράψτε αποδείξεις, όχι ετυμηγορία

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

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

Γράψτε τα όρια δίπλα στο αποτέλεσμα. Μια δοκιμή που δηλώνει τι δεν κάλυψε επιβιώνει από την αναθεώρηση, ενώ μία που ισχυρίζεται ότι η συσκευή επαληθεύτηκε δεν επιβιώνει. Κρατήστε το εγχειρίδιο curl δίπλα στους επιλογείς οικογένειας που χρησιμοποιήσατε, και κρατήστε τον πίνακα με τέσσερις σειρές μαζί με τα αποτελέσματα.

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