Διόρθωση σύγκρουσης τοπικής διεύθυνσης IP μετά τη σύνδεση σε VPN
Το διπλότυπο μπορεί να βρίσκεται στο LAN σας, να προέρχεται από επικαλυπτόμενο απομακρυσμένο εύρος ή να έχει δοθεί δύο φορές από την ομάδα της σήραγγας. Δοκιμάστε πριν αλλάξετε αρίθμηση.
Καθεμία από αυτές τις αναφορές ακούγεται ίδια και σημαίνει κάτι διαφορετικό: ο φορητός υπολογιστής παραπονιέται για σύγκρουση διευθύνσεων, αλλά μόνο μερικές φορές, και κυρίως όσο το VPN είναι ενεργό. Τρία ξεχωριστά σφάλματα παράγουν αυτό το μήνυμα: ένα πραγματικό διπλότυπο στον δικό σας σύνδεσμο, μια επικάλυψη όπου το απομακρυσμένο δίκτυο χρησιμοποιεί το εύρος του LAN σας και τίποτα δεν διπλασιάζεται, και μια σήραγγα που έδωσε μία διεύθυνση σε δύο ομότιμους. Η επιδιόρθωση διαφέρει σε κάθε περίπτωση, και η λάθος μετακινεί το σύμπτωμα αντί να το αφαιρεί. Αποφασίστε λοιπόν ποια περίπτωση έχετε πριν επεξεργαστείτε οτιδήποτε.
Τρία σφάλματα με ένα μήνυμα λάθους
Διπλότυπο σημαίνει ότι δύο μηχανήματα στο ίδιο τμήμα διεκδικούν μία διεύθυνση. Ο πυρήνας το αντιλαμβάνεται επειδή η απάντηση στον δικό του ανιχνευτή έρχεται από διαφορετικό MAC, και το τι συμβαίνει μετά εξαρτάται από τη στοίβα: το Linux το καταγράφει, τα Windows απενεργοποιούν τη διεπαφή και γράφουν εγγραφή στο αρχείο συστήματος, και ένας πελάτης DHCP μπορεί να απορρίψει την προσφορά.
Μια επικάλυψη δεν διπλασιάζει καμία διεύθυνση. Το LAN σας είναι 192.168.1.0/24, το δίκτυο του γραφείου είναι επίσης 192.168.1.0/24, και τώρα η διαδρομή προς το γραφείο δείχνει σε διευθύνσεις που είναι επίσης ο εκτυπωτής σας και το NAS σας. Με την έννοια του ARP τίποτα δεν βρίσκεται σε σύγκρουση· το πακέτο απλώς πηγαίνει στη λάθος συσκευή σε ένα από τα δύο δίκτυα.
Μια σύγκρουση στην ομάδα είναι σφάλμα της ίδιας της σήραγγας. Δύο ομότιμοι ρυθμίστηκαν με ή έλαβαν την ίδια διεύθυνση σήραγγας, οπότε ο διακομιστής δεν μπορεί να τους ξεχωρίσει όταν στέλνει επιστρεφόμενη κίνηση. Ένας από τους δύο πελάτες βλέπει μια χειραψία που λειτουργεί και καθόλου δεδομένα, κάτι που διαβάζεται ως πρόβλημα δρομολόγησης και δεν είναι.
Δοκιμή 1: είναι το διπλότυπο στο δικό σας τμήμα;
Ξεκινήστε καταγράφοντας τι έχει πραγματικά το μηχάνημά σας, όχι τι θυμάστε ότι ρυθμίσατε. Η διεύθυνση προσαρμογέα VPN είναι ιδιωτική για τη σήραγγα και δεν είναι η ίδια με τη διεύθυνση που βλέπουν οι ιστότοποι, οπότε μια κοινόχρηστη δημόσια έξοδος δεν είναι σύγκρουση.
ip -br addr
ip neigh
ip route show table all | grep -E 'wg|tun|ppp'Στα Windows οι ίδιες πληροφορίες προέρχονται από ipconfig /all και Get-NetIPAddress, με την προσωρινή μνήμη γειτόνων στο arp -a. Αν η αμφισβητούμενη διεύθυνση είναι στον φυσικό προσαρμογέα και το παράπονο εμφανίζεται χωρίς ενεργό VPN, το VPN είναι παρατηρητής και πρέπει να σταματήσετε να το διαγιγνώσκετε.
Για να αποδείξετε διπλότυπο αντί να μαντέψετε, ελέγξτε τη διεύθυνση από συσκευή που δεν την κατέχει. Το arping -D στέλνει τον ανιχνευτή με μηδενική διεύθυνση προέλευσης, οπότε μια απάντηση από απρόσμενο MAC αποδεικνύει ότι ένας άλλος κεντρικός υπολογιστής απαντά ήδη για αυτή τη διεύθυνση.
sudo arping -D -I eth0 -c 3 192.168.1.50Στη συνέχεια βρείτε τον ιδιοκτήτη μέσω του διαχειριστή δικτύου αντί να διαλέξετε μόνοι σας άλλη διεύθυνση. Οι στατικές εκχωρήσεις που ζουν μόνο στις σημειώσεις κάποιου, οι εκτυπωτές με σταθερή διεύθυνση και οι δεσμεύσεις στον διακομιστή DHCP είναι οι συνήθεις ένοχοι, και μια συσκευή που είναι σβηστή εξακολουθεί να κατέχει τη μίσθωσή της.
Δοκιμή 2: επικαλύπτονται τα δύο δίκτυα;
Συγκρίνετε το πρόθεμα που σας δίνει η σήραγγα με τα προθέματα στις δικές σας διεπαφές. Αν το απομακρυσμένο εύρος ισούται ή περιέχει το LAN σας, το σφάλμα είναι επικάλυψη, και η ένδειξη είναι ότι ένας κεντρικός υπολογιστής προσβάσιμος χωρίς το VPN σβήνει, ή ότι ο εκτυπωτής σας απαντά σε διεύθυνση γραφείου.
ip route get 192.168.1.10
ip -br addr showΗ αναζήτηση διαδρομής σας λέει ποια διεπαφή θα χρησιμοποιούσε ο πυρήνας, και αυτή η απάντηση είναι ολόκληρη η διάγνωση. Αν πει τη σήραγγα για διεύθυνση που ανήκει στον τοπικό εκτυπωτή σας, έχετε επικάλυψη και καμία ανανέωση μίσθωσης δεν θα το αλλάξει.
Υπάρχουν τρεις έντιμες διέξοδοι, και συνήθως μόνο μία είναι διαθέσιμη σε εσάς. Η απομακρυσμένη πλευρά μπορεί να κάνει masquerade την κίνηση για το επικαλυπτόμενο υποδίκτυο, ώστε ο πελάτης σας να βλέπει μόνο τη διεύθυνση σήραγγας του διακομιστή. Η σήραγγα μπορεί να μεταφέρει στενότερο απομακρυσμένο πρόθεμα που δεν συγκρούεται με το LAN σας. Ή ο πελάτης μπορεί να δρομολογεί κατά διεύθυνση προέλευσης με κανόνες πολιτικής, κάτι που λειτουργεί αλλά είναι εύθραυστο και δύσκολο να το δώσεις σε συνάδελφο.
Η επαναρίθμηση του δικτύου του γραφείου σπάνια είναι δική σας απόφαση. Η επαναρίθμηση του δικού σας LAN για να αποφύγετε τη σύγκρουση είναι μεγαλύτερη αλλαγή απ' ό,τι περιμένουν οι περισσότεροι μόλις μπουν εκτυπωτές, κάμερες και στατικοί κεντρικοί υπολογιστές.
Δοκιμή 3: έδωσε η σήραγγα μία διεύθυνση δύο φορές;
Το WireGuard δεν έχει ομάδα διευθύνσεων. Κάθε ομότιμος αναγνωρίζεται από το δημόσιο κλειδί του και από τα προθέματα στο AllowedIPs, οπότε ένα διπλότυπο εμφανίζεται όταν η ίδια διεύθυνση σήραγγας γράφεται σε δύο εγγραφές ομότιμων ή το ίδιο ζεύγος κλειδιών εγκαθίσταται σε δύο μηχανήματα.
wg show all allowed-ips
wg show wg0 latest-handshakes
wg show wg0 transferΟι μετρητές κίνησης είναι η χρήσιμη στήλη εδώ: ένας ομότιμος που δείχνει πρόσφατη χειραψία αλλά καμία μεταφορά ή έχει λάθος διεύθυνση ή επισκιάζεται από άλλη εγγραφή που διεκδικεί το ίδιο πρόθεμα. Βάλτε ένα πρόθεμα σε ακριβώς έναν ομότιμο και δώστε σε κάθε συσκευή το δικό της ζεύγος κλειδιών.
Το OpenVPN έχει ομάδα, και η συνηθισμένη σύγκρουση είναι ένα κοινόχρηστο προφίλ πελάτη με σταθερή γραμμή --ifconfig αντιγραμμένη σε δεύτερο μηχάνημα. Τότε και οι δύο πελάτες ζητούν την ίδια διεύθυνση σήραγγας, και ο διακομιστής δέχεται τη συνεδρία που επεξεργάζεται πρώτη. Η εξάντληση της ομάδας με --duplicate-cn δίνει παρόμοιο αποτέλεσμα όταν πολλές συνεδρίες ενός πιστοποιητικού ανταγωνίζονται για μία εγγραφή.
Για αυτό διαβάστε το αρχείο καταγραφής του διακομιστή αντί για του πελάτη. Ο διακομιστής ξέρει ποια συνεδρία διεκδίκησε ποια διεύθυνση, και οι επαναλαμβανόμενες διευθύνσεις εκεί φαίνονται ως προειδοποιήσεις που δεν φτάνουν ποτέ στον πελάτη.
Διορθώστε στην πηγή και μετά ελέγξτε ξανά και τις δύο συσκευές
Η σειρά μετράει. Διορθώστε πρώτα ένα διπλότυπο στο LAN, γιατί ένας πελάτης που δεν μπορεί να κρατήσει διεύθυνση δεν μπορεί να κρατήσει ούτε σήραγγα. Έπειτα διορθώστε την παροχή στην πλευρά του VPN, γιατί μια αλλαγή από την πλευρά του πελάτη σε εκχώρηση της ομάδας αναιρείται στην επόμενη σύνδεση. Τέλος, αντιμετωπίστε τις διπλές ταυτότητες: ξεχωριστά ζεύγη κλειδιών στο WireGuard, ξεχωριστά πιστοποιητικά ή τουλάχιστον ξεχωριστά προφίλ στο OpenVPN.
Στον πελάτη το μηχανικό μέρος είναι σύντομο. Απελευθερώστε και ανανεώστε μια μίσθωση DHCP, ή ζητήστε να αλλάξει η διεύθυνση στον διακομιστή για δέσμευση. Μην πληκτρολογήσετε μια τυχαία διεύθυνση που φαίνεται ελεύθερη.
sudo dhclient -r eth0 && sudo dhclient eth0
ipconfig /release && ipconfig /renewΈπειτα επαληθεύστε και από τα δύο άκρα, όχι από το ένα. Επιβεβαιώστε την πύλη, μετά την υπηρεσία που χρειάζεστε πραγματικά, μετά συνδεθείτε ξανά και επαναλάβετε. Αν εμπλέκονταν δύο συσκευές, ελέγξτε και τις δύο: η μετακίνηση μιας διεύθυνσης αφήνει την άλλη με παλιές εγγραφές γειτόνων ή παλιά μίσθωση που επανεμφανίζεται αργότερα.
Τι να μην κάνετε στην πορεία
Μην φιμώσετε το σύμπτωμα. Η ανίχνευση διπλότυπων διευθύνσεων είναι αυτό που σας σταματά να πάρετε μια διεύθυνση που ήδη χρησιμοποιείται, και η απενεργοποίησή της μετατρέπει μια ορατή σύγκρουση σε περιοδική απώλεια πακέτων που είναι πολύ δυσκολότερο να εντοπιστεί. Το ίδιο ισχύει για την αποδοχή προειδοποίησης πιστοποιητικού από απρόσμενο κεντρικό υπολογιστή: δεν είναι καθόλου πρόβλημα διεύθυνσης, και το πέρασμά της κρύβει άλλο σφάλμα.
Μην αλλάξετε επίσης μόνοι σας τη διευθυνσιοδότηση ενός διαχειριζόμενου δικτύου. Καταγράψτε την αρχική ρύθμιση, ρωτήστε τον ιδιοκτήτη όταν η διεύθυνση εκχωρείται κεντρικά, και κρατήστε την αλλαγή αρκετά μικρή ώστε να αναιρεθεί. Οι κανόνες RFC 5227 για την ανίχνευση συγκρούσεων διευθύνσεων εξηγούν τι αποδεικνύει ένας σωστός ανιχνευτής, κάτι που αξίζει να γνωρίζετε πριν χαρακτηρίσετε μια σύγκρουση πραγματική.