Αντιγραμμένο προφίλ WireGuard: γιατί αποτυγχάνουν και οι δύο συσκευές
Ένα αντιγραμμένο προφίλ διπλασιάζει το κλειδί, όχι τη συσκευή. Περάστε από το αρχείο χειραψίας, επιβεβαιώστε την κοινή ταυτότητα και μετά εκδώστε σωστά ένα δεύτερο.
Η σήραγγα λειτουργούσε στον φορητό υπολογιστή, οπότε το αρχείο ρυθμίσεων πέρασε στο τηλέφωνο και στο tablet, και τώρα οι χειραψίες έρχονται και φεύγουν και στις τρεις συσκευές. Τίποτα δεν πληκτρολογήθηκε λάθος και η ρύθμιση του διακομιστή δεν επεξεργάστηκε. Ένα προφίλ WireGuard δεν είναι λογαριασμός με κωδικό πρόσβασης που μπορούν να χρησιμοποιήσουν πολλές συσκευές· είναι ένα ζεύγος κλειδιών, και μόνο το δημόσιο μισό προσδιορίζει έναν ομότιμο. Η αντιγραφή του αρχείου αντιγράφει την ταυτότητα, οπότε ο διακομιστής τώρα προσπαθεί να διατηρήσει μία σχέση τελικού σημείου για πολλές συσκευές που όλες δηλώνουν ότι είναι η ίδια. Από την πλευρά του διακομιστή δεν υπάρχει δεύτερη συσκευή να παρατηρηθεί, μόνο ένας ομότιμος του οποίου η διεύθυνση μετακινείται συνεχώς.
Ξεκινήστε από το αρχείο χειραψιών σε κάθε συσκευή
Ανοίξτε τον πελάτη σε κάθε συσκευή και καταγράψτε την ώρα της τελευταίας χειραψίας και το τρέχον τελικό σημείο πριν αλλάξετε οτιδήποτε. Σε υγιή εγκατάσταση αυτές οι τιμές μένουν σταθερές όσο η συσκευή χρησιμοποιείται· με διπλή ταυτότητα οι χρονικές σημάνσεις εναλλάσσονται, και το τελικό σημείο που καταγράφεται στον διακομιστή μπορεί να περιγράφει διαφορετική συσκευή από εκείνη που κρατά το προφίλ. Αυτή η εναλλαγή είναι η υπογραφή, και εξηγεί γιατί το σύμπτωμα μοιάζει με ασταθή συνδεσιμότητα και όχι με σφάλμα ρύθμισης. Οι συσκευές δεν είναι χαλασμένες· διακόπτουν η μία την άλλη.
Κάντε την ανάγνωση στις ίδιες τις συσκευές, ώστε κάθε παρατήρηση να συνδέεται με συγκεκριμένο μηχάνημα. Μια χρονική σήμανση αντιγραμμένη από συνομιλία υποστήριξης χάνει αυτή τη σύνδεση και μετά αξίζει ελάχιστα.
Επιβεβαιώστε αν δύο συσκευές μοιράζονται μία ταυτότητα
Συγκρίνετε τα δημόσια κλειδιά, ποτέ τα ιδιωτικά. Το δημόσιο κλειδί παράγεται από το ιδιωτικό, άρα δύο προφίλ με το ίδιο ιδιωτικό κλειδί δίνουν το ίδιο δημόσιο κλειδί και είναι δυσδιάκριτα για τον διακομιστή. Αν δύο συσκευές αναφέρουν το ίδιο δημόσιο κλειδί, το ζήτημα έχει λυθεί και καμία ρύθμιση keepalive δεν θα βοηθήσει. Δύο διαφορετικά κλειδιά με ασταθείς χειραψίες δείχνουν εντελώς αλλού, γι’ αυτό η σύγκριση πρέπει να προηγείται κάθε αλλαγής.
wg show wg0 public-key
wg show wg0 latest-handshakes
wg show wg0 endpoints
wg show wg0 transfer
Αυτές οι εντολές εκτυπώνουν μόνο δημόσιο υλικό και μετρητές, κι αυτό είναι το μόνο που χρειάζεται μια συνομιλία υποστήριξης. Μια καταχώριση ομότιμου στον διακομιστή με ένα δημόσιο κλειδί και ένα τελικό σημείο που μετακινείται διαρκώς ανάμεσα σε δύο δίκτυα είναι το αναμενόμενο αποτέλεσμα του διπλασιασμού, επειδή ένα πιστοποιημένο πακέτο από νέα πηγή ενημερώνει πού αποστέλλεται η κίνηση. Αυτή η συμπεριφορά είναι το πρωτόκολλο να λειτουργεί όπως σχεδιάστηκε, γι’ αυτό μπερδεύεται τόσο εύκολα με βλάβη δικτύου.
Παραχωρήστε σωστά μια δεύτερη ταυτότητα
Δημιουργήστε ένα νέο ζεύγος κλειδιών στη συσκευή που το χρειάζεται, και μετά προσθέστε το δημόσιο κλειδί που προκύπτει στον διακομιστή ως ξεχωριστό ομότιμο με τις δικές του επιτρεπόμενες διευθύνσεις. Το ιδιωτικό κλειδί πρέπει να δημιουργηθεί στη συσκευή και να μείνει εκεί· ένα κλειδί που δημιουργήθηκε αλλού και επικολλήθηκε έχει περάσει από τουλάχιστον ένα επιπλέον σημείο, και αυτό το ταξίδι είναι πλέον μέρος της ιστορίας εμπιστοσύνης.
umask 077
wg genkey > newdevice.key
wg pubkey < newdevice.key
Η πλευρά του διακομιστή χρειάζεται το δημόσιο κλειδί συν μια ανάθεση επιτρεπόμενης διεύθυνσης που δεν συγκρούεται με την αρχική συσκευή. Ένα προφίλ που κρατά την παλιά διεύθυνση σήραγγας ενώ παρουσιάζει νέο κλειδί παράγει έναν ομότιμο που ο διακομιστής μπορεί να δεχτεί και μετά να δρομολογήσει λανθασμένα, κάτι που είναι πιο λεπτή αποτυχία από μια απορριφθείσα χειραψία. Ελέγξτε την ανάθεση διεύθυνσης πριν συνδεθείτε, όχι μετά την πρώτη μπερδεμένη απώλεια πακέτων.
Αποσύρετε το αντίγραφο χωρίς να σπάσετε το πρωτότυπο
Μόλις λειτουργήσει η νέα ταυτότητα, αφαιρέστε το αντιγραμμένο προφίλ από τη γειτονιά της αρχικής συσκευής αντί να διαγράψετε την καταχώριση του διακομιστή που το πρωτότυπο εξακολουθεί να χρησιμοποιεί. Αν το αντίγραφο μπορεί να έχει εκτεθεί, ανακαλέστε το αμέσως και μετά επανεκδώστε· η ευκολία δεν είναι λόγος να αφήσετε ένα κοινό μυστικό σε κυκλοφορία.
Μια διαχειριζόμενη υπηρεσία που υποστηρίζει πραγματικά πολλές συσκευές ανά συνδρομή θα σας το πει και θα εκδώσει ξεχωριστά διαπιστευτήρια από τη δική της διεπαφή. Η χειροκίνητη αντιγραφή ενός προφίλ δεν είναι ποτέ αυτό το μοντέλο, ακόμη κι όταν η επωνυμία της υπηρεσίας υπονοεί απεριόριστες συσκευές.
Δοκιμάστε και τις δύο συσκευές χωριστά και μαζί
Επαληθεύστε πρώτα κάθε συσκευή μόνη της: χειραψία, μετρητές μεταφοράς που κινούνται και ένας προορισμός που μόνο η σήραγγα φτάνει. Μετά τρέξτε και τις δύο ταυτόχρονα και παρατηρήστε πώς βλέπει ο διακομιστής τα τελικά σημεία· δύο διακριτά κλειδιά πρέπει να δώσουν δύο σταθερές καταχωρίσεις ομότιμων και όχι μία που πηδά.
Κρατήστε τα νέα δημόσια κλειδιά μαζί με τις σημειώσεις ανάπτυξης και καταγράψτε ποια συσκευή κρατά ποιο. Χωρίς αυτή τη λίστα, το επόμενο άτομο που θα αντιγράψει ένα προφίλ επαναλαμβάνει την ίδια αποτυχία, και οι εναλλασσόμενες χειραψίες θα κατηγορηθούν ξανά το δίκτυο.