Διπλό NAT και το VPN σας: ο πελάτης δουλεύει, ο διακομιστής όχι
Δύο δρομολογητές που μεταφράζουν διευθύνσεις σπάνια σταματούν έναν εξερχόμενο VPN πελάτη. Η φιλοξενία διακομιστή πίσω τους είναι δυσκολότερη, ειδικά όταν το εξωτερικό επίπεδο είναι NAT παρόχου.
Ο δρομολογητής σας βρίσκεται πίσω από άλλον δρομολογητή, η διεύθυνση WAN είναι ιδιωτική, και ο VPN πελάτης συνδέεται παρόλα αυτά. Ο συνδυασμός αυτός εκπλήσσει όσους περιμένουν ότι το διπλό NAT θα χαλάσει τις σήραγγες, αλλά ακριβώς τις εξερχόμενες συνδέσεις χειρίζεται καλύτερα η μετάφραση. Η φιλοξενία VPN διακομιστή πίσω από τα ίδια δύο επίπεδα είναι η περίπτωση που συνήθως αποτυγχάνει. Σχεδιάστε την κατεύθυνση της σύνδεσης πριν αλλάξετε οτιδήποτε.
Σχεδιάστε πρώτα την κατεύθυνση της σύνδεσης
Ανοίξτε τη σελίδα κατάστασης του εσωτερικού δρομολογητή και σημειώστε τη διεύθυνση WAN του, μετά συγκρίνετέ τη με τη διεύθυνση που σας αναφέρει μια δημόσια υπηρεσία. Αν οι δύο διαφέρουν, τουλάχιστον ένας μεταφραστής βρίσκεται ανάμεσα στον δρομολογητή σας και το διαδίκτυο. Αν η διεύθυνση WAN πέφτει μέσα στο 100.64.0.0/10, ο εξωτερικός μεταφραστής μάλλον ανήκει στον πάροχό σας και δεν τον ελέγχετε. Αυτά τα δύο γεγονότα καθορίζουν ποιο από τα επόμενα βήματα μπορεί να δουλέψει.
curl -s https://ifconfig.me
ip -brief address
traceroute -n 1.1.1.1
Το διπλό NAT δεν είναι διπλό VPN. Η μετάφραση ξαναγράφει διευθύνσεις και θύρες· δεν προσθέτει δεύτερη κρυπτογραφημένη σήραγγα και δεν κρυπτογραφεί τίποτα. Ο διαχωρισμός των δύο ιδεών έχει σημασία γιατί οι λύσεις είναι εντελώς διαφορετικές, και μία από αυτές απαιτεί συζήτηση με τον πάροχό σας αντί για σελίδα ρυθμίσεων.
Εξερχόμενη κατεύθυνση: ο πελάτης ρωτά, οι μεταφραστές αντιστοιχίζουν
Μια εξερχόμενη σήραγγα ξεκινά με ένα πακέτο από το μηχάνημά σας, οπότε κάθε μεταφραστής μπορεί να δημιουργήσει μια αντιστοίχιση και να αφήσει την απάντηση να επιστρέψει. Το πρωτόκολλο, η θύρα και τα χρονόμετρα αδράνειας καθορίζουν αν αυτή η αντιστοίχιση επιβιώνει αρκετά για να είναι χρήσιμη. Οι περισσότεροι οικιακοί δρομολογητές το χειρίζονται χωρίς καμία ρύθμιση.
Οι αποτυχίες που εμφανίζονται συνήθως αφορούν χρονικά όρια και υποστήριξη πρωτοκόλλων, όχι τον αριθμό των δρομολογητών. Μια σήραγγα που πέφτει μετά από λίγα λεπτά σιωπής είναι μια αντιστοίχιση που λήγει, και το keepalive είναι η συνήθης απάντηση. Το IPsec έχει τυπικές επεκτάσεις NAT-traversal, οπότε ο ισχυρισμός ότι δεν μπορεί να διασχίσει μετάφραση είναι απλώς λάθος. Αν η σήραγγα δεν εγκαθίσταται καθόλου, κοιτάξτε το τελικό σημείο και τα διαπιστευτήρια πριν κατηγορήσετε την τοπολογία.
wg show
ping -c3 10.8.0.1
Σταματήστε αν η εξερχόμενη σήραγγα δουλεύει από ένα δίκτυο και όχι από άλλο. Αυτή η σύγκριση αφορά τα δίκτυα, όχι τον αριθμό των δρομολογητών.
Εισερχόμενη κατεύθυνση: η προώθηση καλύπτει μόνο εξοπλισμό που σας ανήκει
Η φιλοξενία διακομιστή είναι η αντίστροφη κατεύθυνση: μια νέα σύνδεση φτάνει από το διαδίκτυο και πρέπει να φτάσει στο μηχάνημά σας περνώντας από κάθε επίπεδο. Ένας κανόνας προώθησης θύρας στον εσωτερικό δρομολογητή βοηθά μόνο αν ο εξωτερικός μεταφραστής παραδίδει επίσης αυτή την κίνηση σε εσάς. Η επανάληψη του τοπικού κανόνα δεν σας δίνει έλεγχο του εξοπλισμού του παρόχου.
nc -vz 203.0.113.10 51820
ss -lunp 'sport = :51820'
Συγκρίνετε τη διεύθυνση WAN του εσωτερικού δρομολογητή με τη δημόσια διεύθυνση που παρατηρήσατε και σημειώστε από πού προήλθε κάθε τιμή. Αν η διεύθυνση WAN είναι ιδιωτική ή στο κοινόχρηστο εύρος, το εξωτερικό επίπεδο κάνει μετάφραση που δεν μπορείτε να ρυθμίσετε. Ρωτήστε τον πάροχο ποια εισερχόμενη προσβασιμότητα υποστηρίζει πριν περάσετε ένα ολόκληρο βράδυ με κανόνες που δεν μπορούν να ισχύσουν. Η αφαίρεση ενός δρομολογητή ή η μαζική απενεργοποίηση τείχους προστασίας δεν είναι διάγνωση, και είναι κακή ανταλλαγή για μία ανοιχτή θύρα.
Σταματήστε αν το εξωτερικό επίπεδο ανήκει στον πάροχο και δεν προωθεί. Τότε οι υποστηριζόμενες απαντήσεις είναι άλλη μέθοδος πρόσβασης ή αναμεταδότης, όχι άλλος ένας κανόνας από τη δική σας πλευρά.
Δοκιμάστε μία μεταβλητή τη φορά
Αλλάξτε ένα πράγμα ανά δοκιμή και καταγράψτε το αποτέλεσμα, γιατί μια διαδρομή διπλού NAT έχει περισσότερες μεταβλητές από μια με έναν δρομολογητή. Κρατήστε το προφίλ και τη συσκευή σταθερά και συγκρίνετε μετά ένα άλλο δίκτυο πρόσβασης. Σημειώστε αν αποτυγχάνει η διαπραγμάτευση, αν η συνεδρία πέφτει μετά από αδράνεια ή αν αποτυγχάνουν μόνο οι ιδιωτικοί προορισμοί. Αυτές οι τρεις παρατηρήσεις δείχνουν τρία διαφορετικά επίπεδα.
journalctl -u wg-quick@wg0 -n 30 --no-pager
ip route get 10.20.30.40
Τα επικαλυπτόμενα ιδιωτικά υποδίκτυα είναι μια ξεχωριστή παγίδα που καμία ποσότητα μετάφρασης δεν διορθώνει. Αν το οικιακό σας δίκτυο και το απομακρυσμένο δίκτυο χρησιμοποιούν το ίδιο εύρος, εμφανίζεται σύγκρουση διαδρομών ανεξάρτητα από το πόσοι μεταφραστές βρίσκονται ανάμεσα. Η αναρίθμηση της μίας πλευράς είναι η μόνη διαρκής απάντηση.
Η απομακρυσμένη πύλη αξίζει την ίδια προσοχή, γιατί οι κανόνες προώθησης και οι διαδρομές επιστροφής της μπορεί να είναι το κομμάτι που λείπει. Μια σήραγγα που πιστοποιείται μπορεί να μην έχει καμία χρησιμοποιήσιμη διαδρομή εφαρμογής, και αυτή η αποτυχία φαίνεται ίδια από την πλευρά του πελάτη. Η περιήγηση τελειώνει όταν μπορείτε να πείτε ποια κατεύθυνση αποτυγχάνει και ποιο επίπεδο την ελέγχει.