Πρόθεμα υποκαταστήματος IPv6: iroute-ipv6 ή route-ipv6 στον διακομιστή;
Ένα route-ipv6 φέρνει το πρόθεμα στον πυρήνα του διακομιστή· ένα iroute-ipv6 ονομάζει τον πελάτη που το μεταφέρει. Και τα δύο ανήκουν στον διακομιστή που τερματίζει αυτόν τον πελάτη.
Δύο οδηγίες με σχεδόν ίδιο όνομα εμφανίζονται σε κάθε παράδειγμα που δουλεύει, και η αντιγραφή της μίας χωρίς την άλλη παράγει μια σήραγγα που φαίνεται σωστή και χάνει σιωπηλά το πρόθεμα του υποκαταστήματος. Κάνουν διαφορετική δουλειά στις δύο πλευρές του ίδιου ορίου: η μία μαθαίνει στον πυρήνα του διακομιστή πού ζει ένα πρόθεμα, και η άλλη μαθαίνει στο OpenVPN ποιος πιστοποιημένος πελάτης το μεταφέρει. Αν και οι δύο είναι σωστές, το πρόθεμα ρέει· αν μία, τα πακέτα έχουν διαδρομή αλλά όχι ιδιοκτήτη.
Δύο οδηγίες, δύο διαφορετικές δουλειές
route-ipv6 είναι μια συνηθισμένη εγκατάσταση διαδρομής: ο διακομιστής προσθέτει μια διαδρομή πυρήνα που δείχνει το πρόθεμα στη διεπαφή σήραγγας του. iroute-ipv6 ανήκει σε ένα πλαίσιο ειδικό για τον πελάτη και δηλώνει εσωτερική κυριότητα, ώστε ο δαίμονας να ξέρει ότι η κίνηση για αυτό το πρόθεμα πρέπει να πηγαίνει σε συγκεκριμένο πελάτη και όχι στον peer που τυχαία ονομάζει μια διαδρομή πυρήνα.
Η μία αφορά τον πίνακα προώθησης του πυρήνα, η άλλη το εσωτερικό μοντέλο δρομολόγησης του δαίμονα. Το να τις κρατάμε χωριστά εξηγεί γιατί μια διαμόρφωση που φαίνεται πλήρης μπορεί ακόμη να χάσει το πρόθεμα. Εξηγεί επίσης γιατί το ίδιο δίκτυο εμφανίζεται δύο φορές σε κάθε παράδειγμα που δουλεύει. Καμία από τις δύο γραμμές δεν είναι περιττή.
Στην παραδοσιακή ρύθμιση userspace χρειάζονται και οι δύο και αλληλοσυμπληρώνονται. Μόνη της μια διαδρομή πυρήνα αφήνει τον δαίμονα ανίκανο να διαλέξει peer. Μόνο του ένα iroute αφήνει τον πυρήνα χωρίς δρόμο προς τη σήραγγα. Από εδώ προέρχεται και το μεγαλύτερο μέρος της σύγχυσης γύρω από αρχεία ανά πελάτη: το αρχείο δεν είναι εγγραφή πίνακα δρομολόγησης, και η εγγραφή διαδρομής δεν είναι δήλωση κυριότητας.
ip -6 route show | grep fd00:7a
ip -6 route get fd00:7a::1Πού ανήκει η καθεμία
Η διαδρομή πηγαίνει στη διαχειριζόμενη διαμόρφωση του διακομιστή, όπου ισχύει για εκείνη τη διεργασία. Το iroute πηγαίνει στο αρχείο ειδικό για τον πελάτη, που ονομάζεται από την πιστοποιημένη ταυτότητα της συσκευής του υποκαταστήματος.
Ένα όνομα αρχείου που δεν ταιριάζει με την πραγματική ταυτότητα δεν διαβάζεται ποτέ, και το σύμπτωμα είναι ίδιο με ένα iroute που λείπει. Ελέγξτε την ταυτότητα που πιστοποίησε ο διακομιστής και μετά ελέγξτε το όνομα του αρχείου χαρακτήρα προς χαρακτήρα.
# /etc/openvpn/server/server.conf
route-ipv6 fd00:7a::/64
client-config-dir /etc/openvpn/server/ccd
# /etc/openvpn/server/ccd/branch-b
iroute-ipv6 fd00:7a::/64Κρατήστε το pool και το πρόθεμα του υποκαταστήματος ξεχωριστά, γιατί η επικάλυψή τους δημιουργεί έναν γρίφο που καμία οδηγία δεν μπορεί να λύσει.
Τι χρειάζεται ένας άλλος πελάτης
Ένας δεύτερος πελάτης που πρέπει να φτάσει σε αυτό το υποκατάστημα χρειάζεται ανακοίνωση, όχι κυριότητα. Στείλτε το πρόθεμα στους πελάτες που θέλετε, στο πλαίσιο πελάτη ή ομάδας που ταιριάζει στη διαμόρφωσή σας.
Μη το στέλνετε στο ίδιο το υποκατάστημα, γιατί αυτή η συσκευή έχει ήδη το πρόθεμα ως συνδεδεμένο δίκτυο.
Το να το στέλνεις σε όλους είναι επιλογή με συνέπειες: τότε κάθε πελάτης πιστεύει ότι το υποκατάστημα είναι προσβάσιμο μέσω της σήραγγας, μαζί με πελάτες στους οποίους ποτέ δεν ήθελες να δώσεις αυτή την πρόσβαση. Η ανακοίνωση είναι στην πράξη απόφαση πρόσβασης, αν και η οδηγία μοιάζει με υδραυλική δουλειά. Η αναφορά επιλογών διακομιστή τεκμηριώνει το iroute-ipv6 ως κυριότητα ειδική για τον πελάτη, και αυτή είναι η διάκριση που αξίζει να κρατήσεις.
Η διαδρομή επιστροφής στη συσκευή του υποκαταστήματος
Η κυριότητα βοηθά μόνο αν το υποκατάστημα προωθεί πακέτα και το LAN του ξέρει πώς να απαντήσει. Ενεργοποιήστε την προώθηση IPv6 στη συσκευή του υποκαταστήματος και επιβεβαιώστε ότι οι hosts στο LAN του στέλνουν την κίνηση για το pool VPN πίσω προς το υποκατάστημα και όχι προς μια προεπιλεγμένη διαδρομή που δεν ξέρει το pool.
Αυτή η διαδρομή επιστροφής είναι το αντίστοιχο για IPv6 του προβλήματος της διαδρομής που λείπει, που συναντούν οι άνθρωποι με το IPv4.
Ελέγξτε το από host του LAN με αναζήτηση της διεύθυνσης του pool VPN, όχι από το ίδιο το υποκατάστημα. Μια αναζήτηση στον δρομολογητή απαντά σε άλλη ερώτηση από αυτή που κάνουν οι χρήστες σας, και οι δύο διαφωνούν αρκετά συχνά ώστε να αξίζει η επιπλέον εντολή.
Όταν το ζεύγος ακόμη δεν αρκεί
Μερικές αναπτύξεις δεν χρησιμοποιούν καθόλου αυτή τη διαδρομή. Η διαδρομή δεδομένων του πυρήνα και οι διακομιστές που διαχειρίζεται το προϊόν έχουν τη δική τους υποστηριζόμενη διαχείριση διαδρομών, και ένα παράδειγμα userspace μπορεί να μην μεταφέρεται άμεσα.
Επιβεβαιώστε ποια διαδρομή δεδομένων χρησιμοποιεί η κατασκευή σας πριν αντιγράψετε οδηγίες από έναν οδηγό γραμμένο για την άλλη.
Τέλος, θυμηθείτε το εύρος διευθύνσεων: ένα μοναδικό τοπικό πρόθεμα όπως το fd00:7a::/64 είναι ιδιωτικό εκ σχεδιασμού και δεν λέει τίποτα για τη δημόσια προσβασιμότητα IPv6. Αντιμετωπίστε το ως εσωτερική πρόσβαση και κρατήστε την έξοδο στο διαδίκτυο ως ξεχωριστό ζήτημα με δική του πολιτική.