Το VPN μετακόμισε: γιατί ο πελάτης σας OpenVPN καλεί ακόμη την παλιά IP
Μια νέα εγγραφή DNS είναι μόνο ένα βήμα. Συγκρίνετε την απάντηση του resolver, τη διεύθυνση που καλεί πραγματικά ο πελάτης και τις επιλογές επανεκκίνησης πριν περιμένετε επανασύνδεση.
Ο πάροχος άλλαξε τη δημόσια διεύθυνσή σας, ενημερώσατε τη δυναμική εγγραφή DNS και ο πελάτης εξακολουθεί να μην μπορεί να συνδεθεί. Απ' έξω φαίνεται σαν να μην διαδόθηκε η εγγραφή. Τις περισσότερες φορές η εγγραφή είναι εντάξει και ο πελάτης καλεί τη διεύθυνση που είχε επιλύσει πριν από τη μετακόμιση, γιατί ένα ενεργό τούνελ και ένα αποθηκευμένο προφίλ έχουν το καθένα τη δική του αντίληψη για το πού ζει ο διακομιστής. Τρία επίπεδα πρέπει να συμφωνήσουν και ενημερώνονται με διαφορετικά χρονοδιαγράμματα.
Κοιτάξτε τι καλεί το προφίλ, όχι τι λέει το DNS
Ανοίξτε τη σύνδεση που χρησιμοποιείτε πραγματικά και διαβάστε τη γραμμή remote. Μια αριθμητική διεύθυνση εκεί δεν ακολουθεί ποτέ ενημέρωση ονόματος κεντρικού υπολογιστή, όσο σωστή κι αν γίνει η εγγραφή.
Στη συνέχεια ελέγξτε αν το προφίλ που επεξεργαστήκατε είναι αυτό που φόρτωσε ο πελάτης. Τα εισαγόμενα προφίλ είναι συνηθισμένα: ένας διαχειριστής μπορεί να πήρε αντίγραφο πριν μήνες και να κράτησε τη δική του έκδοση, οπότε το αρχείο στον φάκελο λήψεων και η καταχώριση στην εφαρμογή μπορεί να διαφέρουν. Συγκρίνετε το τελικό σημείο στις λεπτομέρειες σύνδεσης του ίδιου του πελάτη προτού ασχοληθείτε καθόλου με το DNS.
Δύο αρχεία, ένα τελικό σημείο — αυτό είναι το συνηθισμένο εύρημα εδώ.
grep -nE '^remote|^resolv-retry|^persist-remote-ip|^float' client.ovpn
printf 'resolver says: '; dig +short vpn.example.netΔιαβάστε την επόμενη απόπειρα σύνδεσης του πελάτη
Επανεκκινήστε τη σύνδεση με λεπτομερή καταγραφή και διαβάστε τη γραμμή όπου αναφέρεται η διεύθυνση με την οποία θα επικοινωνήσει. Αυτή η τιμή μετράει, όχι ό,τι επέλυσε το πρόγραμμα περιήγησής σας.
Η προσωρινή μνήμη του resolver μπορεί ακόμη να κρατά την προηγούμενη απάντηση και μερικά δίκτυα την κρατούν περισσότερο απ' όσο ζητά το TTL της εγγραφής. Ρωτήστε τον resolver που χρησιμοποιεί πραγματικά ο πελάτης και όχι έναν δημόσιο που δοκιμάσατε από αλλού.
Αν το αρχείο καταγραφής δείχνει τη νέα διεύθυνση και η σύνδεση εξακολουθεί να αποτυγχάνει, το πρόβλημα μετακινήθηκε: το πακέτο πηγαίνει κάπου και κανείς δεν απαντά. Αυτό είναι ζήτημα ακροατή, τείχους προστασίας ή προώθησης θύρας και βρίσκεται στην πλευρά του διακομιστή και όχι στη διαδρομή επίλυσης του πελάτη. Κρατήστε αυτές τις δύο αποτυχίες χωριστά, γιατί το να αντιμετωπίζετε έναν απρόσιτο ακροατή ως πρόβλημα DNS σας κάνει να κάνετε τον ίδιο κύκλο δύο φορές.
Ξέρετε ποια επανεκκίνηση κάνετε
Δεν διατηρούν όλες οι επανεκκινήσεις την ίδια κατάσταση, γι' αυτό μια αλλαγή διεύθυνσης μπορεί να συμπεριφέρεται διαφορετικά ανάλογα με το πώς ανακυκλώνεται η διεργασία. Μια ήπια επανεκκίνηση που προκαλείται από σήμα διατηρεί περισσότερο από το πλαίσιο της προηγούμενης συνεδρίας, ενώ μια πλήρης διακοπή και εκκίνηση αρχίζει ξανά από τη διαμόρφωση. Αν δοκιμάζετε αν ο πελάτης επιλύει ξανά, θέλετε τη διαδρομή που ξεκινά από τη διαμόρφωση.
Οι ρυθμίσεις επιμονής έχουν επίσης σημασία, γιατί είναι σχεδιασμένες να κρατούν ό,τι πιστοποιήθηκε και όχι να κυνηγούν νέες διευθύνσεις.
Η καθαρότερη δοκιμή είναι μια νέα εκκίνηση από το προβλεπόμενο προφίλ, ακολουθούμενη από μια ματιά στη γραμμή καταγραφής που ονομάζει το τελικό σημείο. Ό,τι μαθαίνετε από μια μερικώς διατηρημένη συνεδρία είναι μια δήλωση για εκείνη τη συνεδρία.
Οι τέσσερις επιλογές και οι χωριστές δουλειές τους
Το remote με όνομα κεντρικού υπολογιστή είναι η ρύθμιση που κάνει την εκ νέου επίλυση δυνατή· μια κυριολεκτική διεύθυνση σε εκείνη τη γραμμή την αποκλείει. Το resolv-retry ελέγχει τι συμβαίνει όταν αποτυγχάνει μια αναζήτηση και η 2.6 το θέτει ήδη εξ ορισμού σε άπειρο. Άρα η προσθήκη του δεν αλλάζει τίποτα και ποτέ δεν προγραμματίζει περιοδικό έλεγχο για διαφορετική απάντηση. Όποιος λέει ότι ερευνά νέες διευθύνσεις έχει μπερδέψει την ανάκτηση με τη φρεσκάδα.
Το persist-remote-ip αφορά τη συνέχεια και όχι τη φρεσκάδα: επαναχρησιμοποιεί το τελικό σημείο που πιστοποιήθηκε τελευταίο, στις ήπιες επανεκκινήσεις που υποστηρίζει. Όσο δοκιμάζετε μια μετακόμιση, αυτό είναι το αντίθετο από αυτό που θέλετε. Απενεργοποιήστε το για τη δοκιμή αν η έκδοσή σας το ενεργοποιεί και επαναφέρετέ το μόλις αποδειχθεί το νέο τελικό σημείο. Αν μείνει ενεργό, μια επιτυχημένη επανασύνδεση μπορεί να μη σας πει τίποτα για το DNS.
Το float δέχεται έναν πιστοποιημένο peer του οποίου η διεύθυνση άλλαξε στη μέση της συνεδρίας και μόνο σε διατάξεις που το υποστηρίζουν. Δεν ανανεώνει το DNS και δεν θα ακολουθήσει μόνο του μια αλλαγή παρόχου. Αντιμετωπίστε το ως λειτουργία ανθεκτικότητας για peers που περιπλανώνται, όχι ως μηχανισμό δυναμικών διευθύνσεων για διακομιστές.
Επιβεβαιώστε το νέο τελικό σημείο πριν κατηγορήσετε τον πελάτη
Από έξω από το δίκτυό σας, ελέγξτε ότι η νέα διεύθυνση έχει ακροατή στη διαμορφωμένη θύρα και ότι η προώθηση του παρόχου δείχνει σε αυτήν. Μια σωστή εγγραφή A για μηχάνημα χωρίς ανοιχτή θύρα παράγει ακριβώς το σύμπτωμα που οι άνθρωποι αποδίδουν στην προσωρινή μνήμη.
Στη συνέχεια συνδεθείτε ξανά και επαληθεύστε δύο πράγματα: ο πελάτης πιστοποιήθηκε με το αναμενόμενο πιστοποιητικό διακομιστή και η συνεδρία φτάνει στον πόρο που σκοπεύατε. Μια αλλαγή διεύθυνσης δεν μειώνει τις απαιτήσεις ταυτότητας και μια σύνδεση που πετυχαίνει σε λάθος τελικό σημείο είναι χειρότερη από μια που αποτυγχάνει. Το εγχειρίδιο του OpenVPN 2.6 απαριθμεί και τις τέσσερις επιλογές με το δικό τους πεδίο εφαρμογής και αυτή είναι η λίστα ελέγχου που κρατάτε δίπλα στο προφίλ.
Κρατήστε έναν δρόμο εκτός ζώνης προς τον διακομιστή πριν επανεκκινήσετε το τούνελ που μεταφέρει τη διαχειριστική σας πρόσβαση. Αυτή η μία προφύλαξη αποτρέπει τα περισσότερα περιστατικά που παράγει αυτό το σενάριο.