Εξετάστε αυτούς τους ελέγχους με τη σειρά και σταματήστε στον πρώτο που αποτυγχάνει, γιατί κάθε απάντηση αλλάζει τι σημαίνει το επόμενο βήμα. Το πραγματικό ερώτημα είναι στενό: ταξιδεύει το απλό HTTP σε δίκτυο ZeroTier ανοιχτά μέσω του διαδικτύου; Ανάμεσα σε δύο peers του ZeroTier συνήθως όχι, αφού το overlay κρυπτογραφεί αυτό το άλμα. Αυτό όμως είναι δήλωση για δύο τελικά σημεία, όχι για κάθε τμήμα που διασχίζει ένα αίτημα. Ένας δρομολογητής, μια γέφυρα ή ένας αντίστροφος διαμεσολαβητής μετακινούν το τελικό σημείο, και το απλό κείμενο συνεχίζεται στην άλλη πλευρά τους.

Έλεγχος 1: βρείτε τη διεύθυνση που καλεί το πρόγραμμα περιήγησης

Συγκρίνετε το URL με αυτό που έχει πραγματικά το μηχάνημα. Το ip -brief addr show εμφανίζει τη διεπαφή zt και τη διεύθυνση overlay που ανέθεσε ο ελεγκτής δικτύου· αν το URL χρησιμοποιεί αυτή τη διεύθυνση, ο υποδοχέας του προγράμματος περιήγησης μπαίνει στο overlay.

Όταν αντίθετα το όνομα επιλύεται σε διεύθυνση LAN, το overlay μπορεί να μην εμπλέκεται καθόλου, ό,τι κι αν υποδηλώνει η ένδειξη κατάστασης του πελάτη. Το ip route get 10.147.20.5 τυπώνει τη διεπαφή και τη διεύθυνση πηγής που θα διάλεγε ο πυρήνας, άρα μια διεπαφή zt εκεί σημαίνει ότι το πακέτο μπαίνει στο overlay και το όνομα της φυσικής σας κάρτας δικτύου σημαίνει ότι δεν μπαίνει. Τα ονόματα προσθέτουν άλλο ένα επίπεδο: μια εγγραφή που δείχνει σε διεύθυνση overlay συμπεριφέρεται διαφορετικά από μια που δείχνει σε διεύθυνση LAN, και ένα επίθημα αναζήτησης ή μια καταχώριση στο αρχείο hosts μπορούν να αποφασίσουν σιωπηλά ποια θα πάρετε.

Έλεγχος 2: επιβεβαιώστε ότι και τα δύο άκρα είναι peers, όχι αναμεταδότης που αποκρυπτογραφεί

Το ZeroTier κρυπτογραφεί μεταξύ peers, και όπου δεν υπάρχει άμεση διαδρομή τα πακέτα προωθούνται μέσω μιας ρίζας που τα στέλνει ακόμη κρυπτογραφημένα. Το zerotier-cli peers σημειώνει τη διαδρομή κάθε peer ως DIRECT ή RELAY με ένα νούμερο καθυστέρησης. Μια προωθημένη διαδρομή κοστίζει ταξίδια μετ' επιστροφής, όχι εμπιστευτικότητα.

Αυτό που αλλάζει πραγματικά την απάντηση είναι ένα μέλος που δεν είναι αληθινό τελικό σημείο. Όταν η απέναντι πλευρά είναι μέλος του ZeroTier που δρομολογεί ή γεφυρώνει σε φυσικό LAN, το overlay τελειώνει σε αυτό το μέλος και το επόμενο άλμα είναι συνηθισμένο Ethernet.

Έλεγχος 3: παρατηρήστε πού το αίτημα γίνεται αναγνώσιμο

Στον κεντρικό υπολογιστή που πιστεύετε ότι σερβίρει τη σελίδα, καταγράψτε τη διεπαφή overlay κατά την επαναφόρτωση: sudo tcpdump -i ztxxxxxxx -A -c 5 'tcp port 80'. Μια αναγνώσιμη γραμμή αιτήματος σε αυτή την έξοδο αποδεικνύει ότι η κίνηση έφτασε αποκρυπτογραφημένη σε αυτόν τον υπολογιστή, και αυτό είναι το όριο που ψάχνετε.

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

Η καταγραφή του loopback έχει επίσης σημασία όταν μπροστά βρίσκεται αντίστροφος διαμεσολαβητής, γιατί ένας διαμεσολαβητής που δέχεται HTTPS και προωθεί HTTP μετακινεί το όριο στο δικό του backend.

Έλεγχος 4: υπολογίστε κάθε άλμα πίσω από δρομολογητή ή γέφυρα

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

Ιχνηλατήστε το αντί να το υποθέσετε. Το traceroute από τον πελάτη στη διεύθυνση της υπηρεσίας μαζί με τον πίνακα δρομολόγησης στο μέλος πύλης δείχνουν αν το τελευταίο άλμα είναι zt ή eth.

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

Έλεγχος 5: αποφασίστε τι πρέπει να κάνει ακόμη η εφαρμογή

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

Για οτιδήποτε έχει επαναχρησιμοποιήσιμη συνεδρία ή κωδικό, τερματίστε το TLS στην εφαρμογή ή σε διαμεσολαβητή που ελέγχετε και αφήστε την επικύρωση πιστοποιητικών ενεργή. Όπου μια παλιά υπηρεσία πρέπει να μείνει σε απλό HTTP, γράψτε την ακριβή διαδρομή από κεντρικό υπολογιστή σε κεντρικό υπολογιστή που επιτρέπεται να χρησιμοποιεί, ποιος μπορεί να τη φτάσει και ποιο τμήμα μένει απροστάτευτο· αυτή η σημείωση είναι ό,τι χρειάζεται ένας μελλοντικός κριτικός.

"Το VPN είναι συνδεδεμένο" δεν είναι αξιολόγηση κανενός από αυτά. Η ειλικρινής εκδοχή ονομάζει και τα δύο τελικά σημεία, τη διαδρομή ανάμεσά τους και το πρώτο άλμα που δεν καλύπτεται.

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

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