Γιατί μια δέσμευση DHCP δεν είναι στατική IP για τον διακομιστή VPN σας
Μια δέσμευση ταιριάζει με αναγνωριστικό πελάτη, όχι με μηχάνημα, και ποτέ δεν κάνει τη δημόσια IP σας στατική. Τι πραγματικά μετακινεί τη διεύθυνση ενός οικιακού διακομιστή VPN.
Μετέφερα ένα οικιακό κουτί VPN από Wi-Fi σε Ethernet και η «μόνιμη» διεύθυνσή του άλλαξε το ίδιο βράδυ. Τίποτα στο ρούτερ δεν ήταν χαλασμένο. Η δέσμευση ταίριαζε με τον ασύρματο προσαρμογέα, και αυτός ο προσαρμογέας δεν ήταν πια στη διαδρομή.
Υπάρχει και ένα δεύτερο μισό στην ίδια παρανόηση. Το να διορθώσεις τη διεύθυνση LAN δεν κάνει τίποτα για τη διεύθυνση στην οποία συνδέονται οι φίλοι σου, και δεν έχει καμία σχέση με την ιδιωτική δεξαμενή που δίνει το VPN στους πελάτες. Τρεις διευθύνσεις, τρεις ξεχωριστοί τρόποι αποτυχίας, και μόνο ένας από αυτούς είναι δουλειά μιας δέσμευσης.
Μια δέσμευση ταιριάζει με πελάτη, όχι με συσκευή
Στο DHCPv4 η δέσμευση βασίζεται στη διεύθυνση υλικού του πελάτη· στο DHCPv6 βασίζεται σε ένα DUID που αναμένεται να διατηρήσει ο πελάτης. Το πεδίο hostname είναι ετικέτα για ανθρώπους. Αυτό που πραγματικά συγκρίνει το ρούτερ είναι το αναγνωριστικό που φτάνει στο αίτημα.
Διάβασε την καταχώριση ως συνθήκη: όταν αυτό το αναγνωριστικό ζητά, δώσε του αυτή τη διεύθυνση. Οι ανανεώσεις κρατούν την ίδια μίσθωση όσο ισχύει η αντιστοίχιση, και μια επανεκκίνηση απλώς ζητά ξανά. Όταν το αναγνωριστικό αλλάξει, το αίτημα χάνει τη δέσμευση και ο πελάτης παίρνει ό,τι προσφέρει η δυναμική δεξαμενή. Κανένα σφάλμα, καμία προειδοποίηση, απλώς μια διαφορετική διεύθυνση.
Το OpenWrt δείχνει τη μορφή καθαρά. Ένα μπλοκ config host στο /etc/config/dhcp δένει ένα όνομα, μια MAC και μια διεύθυνση μαζί, και η τεκμηρίωση για τις στατικές μισθώσεις εξηγεί πώς αλληλεπιδρά αυτή η καταχώριση με τη δεξαμενή. Άλλα ρούτερ κρύβουν τα ίδια τρία πεδία πίσω από διαφορετικές ετικέτες.
Πού η αντιστοίχιση πέφτει αθόρυβα
Η αλλαγή υλικού είναι η συνηθισμένη περίπτωση. Άλλαξε την κάρτα δικτύου, ή μετακίνησε το μηχάνημα ανάμεσα σε Ethernet και Wi-Fi, και η διεύθυνση που βλέπει το ρούτερ αλλάζει μαζί της. Η παλιά δέσμευση μένει στη λίστα, ακόμη να φαίνεται σωστή.
Η επανεγκατάσταση είναι η δεύτερη περίπτωση, και δαγκώνει πιο δυνατά στο IPv6. Μια καθαρή εγκατάσταση μπορεί να δημιουργήσει νέο DUID ενώ η παλιά μίσθωση IPv4 ισχύει ακόμη, οπότε η διεύθυνση v4 επιβιώνει για λίγο και η καταχώριση v6 σταματά να εφαρμόζεται χωρίς καμία ορατή επεξεργασία.
Η τρίτη είναι ένα καρφιτσωμένο αναγνωριστικό πελάτη. Αρκετοί πελάτες DHCP σου επιτρέπουν να ορίσεις μια συμβολοσειρά αναγνωριστικού αντί να χρησιμοποιήσεις τη MAC. Αν μια αναβάθμιση ή μια επανεγγραφή της ρύθμισης ρίξει αυτή τη ρύθμιση, η αντιστοίχιση εξαφανίζεται αν και το μηχάνημα δεν μετακινήθηκε.
Η τέταρτη είναι η διπλοεγγραφή: ένα παλιό μπλοκ και ένα νέο μπλοκ για τον ίδιο κεντρικό υπολογιστή. Ο διακομιστής απαντά με τον κανόνα που ταιριάζει, συχνά τη διεύθυνση της δεξαμενής που ήθελες να αποφύγεις. Διάγραψε την παλιά καταχώριση αντί να προσθέσεις δεύτερη.
Ρύθμιση στην πλευρά του κεντρικού υπολογιστή και τι κοστίζει
Το να ορίσεις τη διεύθυνση στον κεντρικό υπολογιστή αφαιρεί εντελώς το ζήτημα της αντιστοίχισης. Η διεπαφή ανεβαίνει με αυτή τη διεύθυνση είτε απαντήσει το DHCP είτε όχι, και αυτό θέλεις από ένα μηχάνημα που πρέπει να είναι προσβάσιμο μετά από επανεκκίνηση του ρούτερ.
Το κόστος είναι η ιδιοκτησία. Τώρα εσύ παρέχεις το πρόθεμα, την πύλη και τους επιλυτές, και πρέπει μόνος σου να κρατήσεις τη διεύθυνση έξω από τη δυναμική δεξαμενή. Σε Ubuntu με netplan, τη μεταφέρει το /etc/netplan/01-vpn.yaml:
network:
version: 2
ethernets:
eth0:
dhcp4: false
addresses: [192.168.50.10/24]
routes:
- to: default
via: 192.168.50.1
nameservers:
addresses: [192.168.50.1]Οι χρήστες του NetworkManager φτάνουν στην ίδια κατάσταση με nmcli con mod "Wired connection 1" ipv4.method manual ipv4.addresses 192.168.50.10/24 ipv4.gateway 192.168.50.1, μετά με nmcli con up "Wired connection 1". Εφάρμοσε το netplan με netplan try στην πρώτη προσπάθεια αντί με netplan apply· μια πύλη με λάθος πληκτρολόγηση βγάζει το κουτί από το δίκτυο και σε αφήνει να ψάχνεις κονσόλα.
Κράτα πάντως μια αντίστοιχη δέσμευση. Δεν είναι περιττή. Η καταχώριση καταγράφει τη διεύθυνση στην πλευρά του ρούτερ και εμποδίζει τον διακομιστή DHCP να δώσει αυτή τη διεύθυνση σε μια φιλοξενούμενη συσκευή αν κάποιος αργότερα μεγαλώσει τη δεξαμενή.
Μια σταθερή διεύθυνση LAN δεν είναι δημόσιο τελικό σημείο
Στρέψε την προώθηση θύρας στη 192.168.50.10 και ο κανόνας επιβιώνει από κάθε αλλαγή στην πλευρά LAN. Δεν σου δίνει σταθερή διεύθυνση διαδικτύου. Η δημόσια IP σου ανήκει στον πάροχο και μπορεί να μετακινηθεί σε επανασύνδεση ή αλλαγή μόντεμ, για αυτό υπάρχει το δυναμικό DNS.
Πίσω από NAT επιπέδου παρόχου δεν υπάρχει καθόλου δημόσια IPv4 για προώθηση, και καμία δέσμευση δεν δημιουργεί μία. Έλεγξε πρώτα τη σελίδα WAN του ρούτερ: αν η διεύθυνση βρίσκεται σε κοινόχρηστο εύρος, η εισερχόμενη προώθηση δεν μπορεί να δουλέψει, όσο καθαρή κι αν είναι η δέσμευση.
Η τρίτη διεύθυνση είναι η δεξαμενή της σήραγγας, συχνά κάτι σαν 10.8.0.0/24. Αυτές οι διευθύνσεις υπάρχουν μόνο μέσα στη σήραγγα και δεν εμφανίζονται ποτέ στο LAN. Το να τις μπερδεύεις με τη διεύθυνση LAN του διακομιστή είναι ο τρόπος που μια θύρα καταλήγει προωθημένη σε έναν πελάτη που είναι online μόνο όσο είναι συνδεδεμένος.
Έλεγξε τη διαδρομή με τη σειρά που σπάει
Ξεκίνα από το ρούτερ. Σύγκρινε την καταχώριση του πίνακα μισθώσεων με τον στόχο της δέσμευσης· αν ο διακομιστής πήρε διεύθυνση δεξαμενής, το αναγνωριστικό είναι λάθος, και το ip link show στον κεντρικό υπολογιστή σου δίνει την τιμή για σύγκριση.
Μετά ο κεντρικός υπολογιστής. Το ip -4 addr show eth0 θα πρέπει να αναφέρει την αναμενόμενη διεύθυνση και το πρόθεμα. Μια δεύτερη διεύθυνση στην ίδια διεπαφή συνήθως σημαίνει ότι το DHCP τρέχει ακόμη δίπλα στη στατική σου ρύθμιση.
Μετά η προώθηση. Επιβεβαίωσε ότι ο προορισμός ισούται ακόμη με τη διεύθυνση που μόλις επαλήθευσες, και ότι κάτι ακούει με το ss -lntp. Μια προώθηση προς κλειστή θύρα φαίνεται από έξω ακριβώς σαν σπασμένη προώθηση.
Τελείωσε από έξω, σε ένα τηλέφωνο με το Wi-Fi κλειστό. Αυτό το ένα τεστ ξεχωρίζει το «η τοπική διεύθυνση είναι λάθος» από το «η δημόσια προσβασιμότητα είναι σπασμένη», τα δύο προβλήματα που αυτή η ρύθμιση μπερδεύει συνέχεια.
Γράψε τις τρεις διευθύνσεις, LAN, δημόσια και δεξαμενή σήραγγας, και σημείωσε ποιο σύστημα κατέχει την καθεμία. Όταν τον επόμενο μήνα αποτύχει μια σύνδεση, θα ξέρεις ποια να ελέγξεις αντί να αλλάξεις και τις τρεις μαζί.