Οι πελάτες VPN φτάνουν στον διακομιστή αλλά όχι στο LAN: ποια λύση;
Η σήραγγα είναι ενεργή και η πύλη απαντά, αλλά οι κόμβοι πίσω της μένουν σιωπηλοί. Διαλέξτε στατική διαδρομή στο απομακρυσμένο LAN, NAT στον διακομιστή ή δεύτερη σήραγγα.
Ο πελάτης κάνει ping στη διεύθυνση της σήραγγας του διακομιστή OpenVPN και παίρνει απάντηση, μετά δοκιμάζει έναν κόμβο στο LAN του διακομιστή και δεν παίρνει τίποτα. Αυτή η διάκριση περιορίζει πολύ τη βλάβη: η σήραγγα είναι ενεργή, η προώθηση πιθανώς λειτουργεί, και η απάντηση φεύγει από πόρτα που δεν οδηγεί πίσω. Υπάρχουν τρεις λύσεις, και η σωστή εξαρτάται από το τι ελέγχετε και τι είστε έτοιμοι να χάσετε. Απαντήστε στις τρεις ερωτήσεις παρακάτω με σειρά και η επιλογή παύει να είναι θέμα γούστου.
Πρώτα επιβεβαιώστε ποια κατεύθυνση είναι χαλασμένη
Το αίτημα φτάνει στη διεπαφή της σήραγγας με διεύθυνση προέλευσης από τη δεξαμενή VPN. Ο διακομιστής το προωθεί στον κόμβο του LAN, και αυτός ο κόμβος απαντά στην πύλη που ορίζει ο δικός του πίνακας, συνήθως στον δρομολογητή του LAN. Αν ο δρομολογητής δεν έχει διαδρομή προς τη δεξαμενή, η απάντηση πεθαίνει εκεί ή περιπλανιέται προς το διαδίκτυο.
Δοκιμάστε και τα δύο μηχανήματα πριν αλλάξετε οποιοδήποτε. Ρωτήστε τον διακομιστή ποια διαδρομή θα έπαιρνε ο πίνακας του προς έναν πελάτη· ρωτήστε τον κόμβο του LAN πώς θα έφτανε στην ίδια διεύθυνση. Η πρώτη αναζήτηση δείχνει συνήθως τη σήραγγα και η δεύτερη τον δρομολογητή του LAN, και αυτή η διαφορά είναι η βλάβη σε μία γραμμή. Δύο αναζητήσεις κοστίζουν λιγότερο από έναν έλεγχο τείχους προστασίας και καθορίζουν την κατεύθυνση του προβλήματος.
ip route get 10.8.0.37
sysctl -n net.ipv4.ip_forwardΑν ο κόμβος του LAN δείχνει ήδη στον διακομιστή VPN, το πρόβλημά σας είναι ένας κανόνας τείχους προστασίας ή ένα όριο MTU και όχι μια απούσα διαδρομή επιστροφής. Μην προσθέσετε διαδρομή για να διορθώσετε ένα φίλτρο.
Πρώτη ερώτηση: μπορείτε να επεξεργαστείτε τον δρομολογητή του απομακρυσμένου LAN;
Όταν ο δρομολογητής του LAN είναι δικός σας, καθαρή απάντηση είναι μια στατική διαδρομή προς τη δεξαμενή VPN με τη διεύθυνση LAN του διακομιστή VPN ως επόμενο άλμα. Διατηρεί ανέπαφες τις διευθύνσεις προέλευσης των πελατών, κάτι που μετρά όταν οι κόμβοι του LAN καταγράφουν, φιλτράρουν ή περιορίζουν ταχύτητα κατά διεύθυνση. Δεν απαιτεί επίσης μετάφραση στον διακομιστή, οπότε η σήραγγα μένει καθαρή διαδρομή δρομολόγησης. Η υποχρέωση που δημιουργεί είναι τεκμηρίωση, γιατί η δεξαμενή, η διαδρομή και η ρύθμιση του διακομιστή πρέπει να συμφωνούν.
Αποτυγχάνει σιωπηλά την ημέρα που κάποιος αλλάζει τη δεξαμενή. Γράψτε την τιμή μία φορά και θεωρήστε αλλαγή σε οποιοδήποτε από τα τρία σημεία ως αλλαγή και στα τρία.
Ένα NAS ή ένας μεταγωγέας Layer 3 που φιλοξενεί την υπηρεσία χρειάζεται την ίδια διαδρομή, εκτός αν στέλνει τα πάντα μέσω δρομολογητή που τη διαθέτει. Ελέγξτε τη συσκευή που τερματίζει το υποδίκτυο, όχι μόνο εκείνη που κοιτά προς το διαδίκτυο. Τα μικρά δίκτυα έχουν συχνά τρεις συσκευές με γνώμη για τη δρομολόγηση.
Δεύτερη ερώτηση: μπορεί το LAN να πάψει να βλέπει τις διευθύνσεις των πελατών;
Όταν ο δρομολογητής ανήκει σε άλλον, η μετάφραση στον διακομιστή VPN δεν απαιτεί συνεργασία. Ο κόμβος του LAN βλέπει τη διεύθυνση LAN του διακομιστή, απαντά σε αυτήν, και ο διακομιστής μεταφράζει πίσω. Γι' αυτό οι συσκευές και οι ρόλοι απομακρυσμένης πρόσβασης με βάση το NAT συμπεριφέρονται έτσι.
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADEΤο κόστος είναι η απόδοση: οι διευθύνσεις ανά πελάτη εξαφανίζονται από τα αρχεία του LAN. Κάθε λίστα επιτρεπόμενων στον κόμβο του LAN πρέπει τότε να ονομάζει τον διακομιστή αντί για τη δεξαμενή.
Διαλέξτε τη μετάφραση όταν η συνεργασία δεν είναι διαθέσιμη, όχι όταν είναι απλώς άβολη. Κρύβει τον πελάτη από κάθε μελλοντική έρευνα, και από εκείνες όπου πρέπει να ξέρετε ποιο φορητό άνοιξε μια σύνδεση. Μπορεί επίσης να χαλάσει πρωτόκολλα που ενσωματώνουν διευθύνσεις στο φορτίο, γιατί η μετάφραση ζει στην κεφαλίδα. Καμία επιλογή δεν είναι πιο προχωρημένη· απαντούν σε διαφορετικά ερωτήματα για την κυριότητα.
Τρίτη ερώτηση: είναι ο διακομιστής ο ίδιος πελάτης άλλης σήραγγας;
Φανταστείτε την άλλη τοπολογία: ο διακομιστής VPN καλεί και έναν εμπορικό πάροχο, άρα έχει δύο σήραγγες και δύο σύνολα διευθύνσεων. Η κίνηση που προωθεί για τους δικούς του πελάτες βγαίνει μέσω του παρόχου, ο οποίος δεν θα δρομολογήσει τις απαντήσεις πίσω στις διευθύνσεις της δεξαμενής. Γι' αυτό οι απαντήσεις χάνονται ενώ και οι δύο σήραγγες είναι υγιείς.
Η λύση είναι να καλυφθεί και η εξερχόμενη σήραγγα, ώστε ο πάροχος να βλέπει μόνο τη διεύθυνση της σήραγγας του διακομιστή. Η αντίστροφη κατεύθυνση χρειάζεται δικό της κανόνα, γιατί ο διακομιστής που ξεκινά σύνδεση προς δικό του πελάτη είναι άλλη ροή. Χωρίς αυτόν τον κανόνα ο πελάτης απαντά σε διεύθυνση που δεν μπορεί να δρομολογήσει. Βάλτε τον στενό κανόνα πριν από κάθε ευρεία κάλυψη, ώστε να κερδίσει η ειδική μετάφραση.
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o tun1 -j MASQUERADE
iptables -t nat -A POSTROUTING -d 10.8.0.0/24 -o tun0 -j SNAT --to-source 10.8.0.1Οι κόμβοι με πολλές διεπαφές προσθέτουν μια συναφή βλάβη που από τον πελάτη φαίνεται ίδια. Η απάντηση φεύγει από τη διεπαφή με τη χαμηλότερη μετρική, γιατί η διεύθυνση προέλευσης επιλέχθηκε από άλλον πίνακα. Ελέγξτε τη διαδρομή επιστροφής με αναζήτηση αντί να υποθέσετε ότι η διαδρομή εμπρός την υπονοεί.
Έπειτα επιβεβαιώστε και τις δύο κατευθύνσεις και τα δύο μεγέθη
Μετά την αλλαγή, κάντε ping από τον πελάτη σε κόμβο του LAN και μετά από τον κόμβο του LAN στον πελάτη. Η δεύτερη κατεύθυνση είναι αυτή που παραλείπουν οι άνθρωποι, και είναι αυτή που αποκαλύπτει έναν ελλιπή κανόνα μετάφρασης. Καταγράψτε και τα δύο αποτελέσματα με χρονοσφραγίδα, ώστε μια μεταγενέστερη παλινδρόμηση να είναι συγκρίσιμη.
Έπειτα μετακινήστε πραγματικά δεδομένα, γιατί ένα μικρό ping που πετυχαίνει ενώ μια μεγάλη μεταφορά κολλάει είναι σύμπτωμα MTU. Αυτή η βλάβη εμφανίζεται αμέσως αφού συγχαρείτε τον εαυτό σας που διορθώσατε τη διαδρομή.
Τέλος, δοκιμάστε ξανά μετά από επανεκκίνηση. Οι εντολές διαδρομών και τείχους προστασίας σε χρόνο εκτέλεσης δεν την επιβιώνουν, και μια διόρθωση που εξαφανίζεται στην επόμενη εκκίνηση θα διαγνωστεί ξανά από κάποιον με λιγότερο πλαίσιο. Κάντε την αλλαγή μόνιμη με τον τρόπο που το σύστημά σας ήδη κάνει, και μετά επανεκκινήστε μία φορά επίτηδες.