Προσθέστε ένα προφίλ πελάτη σε ένα μηχάνημα που ήδη τρέχει διακομιστή VPN και η αρχική υπηρεσία είναι το πρώτο θύμα. Η νέα σήραγγα μπορεί να μην εγκατασταθεί ποτέ, ή μπορεί να σηκωθεί ενώ οι υπάρχοντες πελάτες του διακομιστή σταματούν ήσυχα να λαμβάνουν απαντήσεις. Δύο συγκρούσεις παράγουν και τα δύο αποτελέσματα: μια δεξαμενή σηράγγων που χρησιμοποιείται ήδη, και μια προεπιλεγμένη διαδρομή που εγκαθιστά το νέο μισό του πελάτη και καλύπτει όλο τον πίνακα. Καμία από τις δύο δεν παράγει μήνυμα σφάλματος του OpenVPN, γι' αυτό η αποτυχία διαβάζεται ως πρόβλημα διακομιστή.

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

Ίδια δεξαμενή, δύο διακομιστές: ποιος κερδίζει

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

Καταγράψτε τι είναι ενεργό πριν κάνετε αλλαγές: το ip -4 addr show εμφανίζει τις συσκευές σήραγγας, το ss -lunp εμφανίζει τους ακροατές, και το systemctl list-units ονομάζει τις μονάδες. Μια ματιά στις διευθύνσεις της σήραγγας αρκεί για να κριθεί αν οι δεξαμενές συγκρούονται.

Τι προσθέτει το προφίλ πελάτη στον πίνακα

Το μισό του πελάτη γράφει διαδρομές μόλις συνδεθεί. Το redirect-gateway def1 χωρίζει την προεπιλεγμένη διαδρομή σε 0.0.0.0/1 συν 128.0.0.0/1, και οι δύο δρομολογούνται μέσω της νέας συσκευής, μαζί με μια διαδρομή κεντρικού υπολογιστή προς τον απομακρυσμένο διακομιστή που είναι σκόπιμα καρφιτσωμένη στη φυσική διεπαφή. Αυτή η καρφίτσα υπάρχει ώστε η σήραγγα να κρατά μια διαδρομή για τη δική της μεταφορά. Όλα τα άλλα, συμπεριλαμβανομένων των απαντήσεων που ο τοπικός διακομιστής οφείλει στους δικούς του πελάτες, ακολουθούν τώρα τη νέα προεπιλογή και βγαίνουν από τον απομακρυσμένο σύνδεσμο.

Άρα η δεύτερη σύγκρουση δεν είναι σπασμένη σήραγγα. Είναι μια σήραγγα που λειτουργεί σε λάθος θέση του πίνακα.

Τρεις τρόποι να κρατήσετε τους ρόλους χωριστούς

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

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

Ποιο από τα δύο στιγμιότυπα φταίει

Σταματήστε το στιγμιότυπο πελάτη και δοκιμάστε ξανά τους αρχικούς πελάτες. Η άμεση αποκατάσταση σημαίνει δρομολόγηση, όχι διακομιστή. Επαναφέρετε τον πελάτη και παρακολουθήστε μία μόνο απάντηση με το ip route get, στο οποίο δίνονται και διεύθυνση προέλευσης και διεύθυνση προορισμού, κάτι που δείχνει τη διαδρομή που θα διάλεγε ο πυρήνας, και μετά παρατηρήστε τη διεπαφή που χρησιμοποιούν πραγματικά τα πακέτα με το tcpdump -ni any port 1194. Το αρχείο κατάστασης του διακομιστή, που γράφεται κάθε λίγα δευτερόλεπτα μέσω της οδηγίας status, περιέχει τη λίστα των συνδεδεμένων πελατών και μετρητές byte και για τις δύο κατευθύνσεις.

Διαβάστε αυτούς τους μετρητές ο ένας απέναντι στον άλλο. Κίνηση που φεύγει και δεν επιστρέφει ποτέ είναι απάντηση δρομολόγησης και όχι πρόβλημα χειραψίας.

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