Ο δρομολογητής τερματίζει το VPN ο ίδιος, και ένας παλιός κανόνας προώθησης εξακολουθεί να στέλνει την ίδια θύρα UDP σε ένα μηχάνημα στο LAN. Μόνο ένα από τα δύο μπορεί να είναι το πραγματικό τελικό σημείο, και ο πυρήνας δεν αποφασίζει μεταξύ τους. Η μετάφραση προορισμού ξαναγράφει το πακέτο πριν ερωτηθεί η τοπική υπηρεσία, οπότε η διεργασία VPN περιμένει κίνηση που έχει ήδη σταλεί αλλού. Το ζήτημα είναι να αποφασιστεί ποιος κατέχει τη θύρα και μετά να συμφωνήσουν οι κανόνες.

Μία θύρα, δύο διεκδικούμενοι ιδιοκτήτες

Ένας διακομιστής VPN που τρέχει μέσα στον δρομολογητή χρειάζεται άδεια εισερχόμενης κίνησης που οδηγεί στον δικό του υποδοχέα. Μια καταχώριση NAT προορισμού για την ίδια θύρα οδηγεί κάπου εντελώς αλλού: σε μια διεύθυνση LAN και σε μια απόφαση προώθησης. Πρόκειται για διαφορετικά τελικά σημεία με διαφορετικά αρχεία καταγραφής και διαφορετικούς τρόπους αποτυχίας. Το συνηθισμένο στοιχείο είναι ότι η μία οικογένεια διευθύνσεων λειτουργεί και η άλλη όχι, επειδή η υπόλοιπη καταχώριση γράφτηκε για μία μόνο οικογένεια και δεν επανεξετάστηκε ποτέ.

Καταγράψτε την αξίωση πριν από την επεξεργασία: οικογένεια, εξωτερική διεύθυνση, μεταφορά, θύρα και ο μεταφρασμένος στόχος.

Η μετάφραση τρέχει πριν από τον τοπικό έλεγχο

Το NAT προορισμού αλλάζει τον στόχο του πακέτου στο στάδιο πριν από τη δρομολόγηση, πριν ο πυρήνας επιλέξει μεταξύ τοπικής παράδοσης και προώθησης. Μόλις ο στόχος γίνει κεντρικός υπολογιστής στο LAN, το πακέτο ακολουθεί τη διαδρομή προώθησης. Οι κανόνες εισόδου για τον δικό του υποδοχέα του δρομολογητή δεν εξετάζονται ποτέ, γι’ αυτό το αρχείο καταγραφής του VPN μένει κενό όσο ο πελάτης λήγει.

Intended local entry:
WAN UDP 1194 -> router local socket -> input path

Conflicting old entry:
WAN UDP 1194 -> DNAT 192.168.50.10:1194 -> forward path

Αυτή η σειρά είναι όλος ο μηχανισμός, και οι διεπαφές των συσκευών την κρύβουν πίσω από πλαίσια ελέγχου χωρίς να την αλλάζουν. Ο ιδιοκτήτης του προορισμού εξακολουθεί να αποφασίζει ποια διαδρομή θα πάρει ένα πακέτο.

Αν ο κεντρικός υπολογιστής στο LAN είναι το επιδιωκόμενο τελικό σημείο, η προώθηση είναι σωστή και ο δρομολογητής δεν θα έπρεπε να ακούει επίσης σε αυτή τη θύρα.

Κρατήστε μία αντιστοίχιση και αφαιρέστε την άλλη

Καταγράψτε τις καταχωρίσεις NAT για αυτή τη θύρα και οικογένεια και επιλέξτε τον επιζώντα:

sudo iptables -t nat -S | grep 1194
sudo ss -lunp | grep :1194

Μια καταχώριση TCP με τον ίδιο αριθμό είναι άσχετη με μια αποτυχία UDP, και η αντιμετώπισή τους ως ένα αντικείμενο οδηγεί στη διαγραφή του λάθους κανόνα. Όταν ο τοπικός υποδοχέας πρέπει να κερδίσει, ο ιδιοκτήτης της αντιφατικής αντιστοίχισης αφαιρεί ή ξαναγράφει αυτή την καταχώριση, και η άδεια εισερχόμενης κίνησης για τη δική του θύρα του δρομολογητή παραμένει στη θέση της. Οι άσχετες προωθήσεις, η διαδρομή διαχείρισης και ένα αντίγραφο του συνόλου κανόνων θα πρέπει όλα να επιβιώσουν της αλλαγής.

Αν το VPN ζει σε ξεχωριστό κεντρικό υπολογιστή, η προώθηση είναι το σωστό αντικείμενο. Μια υπηρεσία σε κοντέινερ ή εικονική μηχανή μπορεί να χρειάζεται δημοσιευμένη θύρα ακόμη και όταν το κουτί ονομάζεται δρομολογητής, οπότε εντοπίστε τον υποδοχέα και τον χώρο ονομάτων του, όχι την ετικέτα στο κουτί.

Επιβεβαιώστε τον ιδιοκτήτη από έξω

Δοκιμάστε κάθε οικογένεια ξεχωριστά, γιατί μια σύνδεση IPv6 που τερματίζεται στον δρομολογητή δεν λέει τίποτα για μια σύνδεση IPv4 που μια παλιά ρύθμιση ανακατευθύνει. Διαβάστε το αρχείο καταγραφής της υπηρεσίας που λαμβάνει για να δείτε ποιο τελικό σημείο απάντησε, και θεωρήστε το μήνυμα επιτυχίας του πελάτη αδύναμη απόδειξη. Απαιτείται νέα ροή για μια ουσιαστική δοκιμή. Στείλτε έναν ανιχνευτή από εξωτερικό κεντρικό υπολογιστή με nc -zvu 203.0.113.7 1194 και διαβάστε το αρχείο καταγραφής του νικητή με journalctl -u openvpn@server -n 20. Ο ακροατής του δρομολογητή καταγράφει τη σύνδεση ο ίδιος, ενώ ένας κεντρικός υπολογιστής στο LAN την καταγράφει στη δική του υπηρεσία.

Η παρακολούθηση συνδέσεων κρατά τις υπάρχουσες ροές στην αρχική τους αντιστοίχιση, οπότε μια εδραιωμένη συνεδρία μπορεί να επιβιώσει του κανόνα που μόλις διορθώσατε.

Όταν το επιδιωκόμενο τελικό σημείο απαντήσει με τους κανονικούς ελέγχους ταυτότητας, δοκιμάστε έναν ιδιωτικό πόρο πίσω από τη σήραγγα. Το να φτάσετε στον εξωτερικό ακροατή είναι μόνο το πρώτο άλμα· η εσωτερική δρομολόγηση και η εξουσιοδότηση εφαρμογής είναι ξεχωριστά αποτελέσματα.

Σχετικά άρθρα