Προσθέστε ιδιωτικό IPv6 σε εργαστήριο OpenVPN, ένα σημείο ελέγχου τη φορά
Κρατήστε την εξωτερική μεταφορά σε IPv4 και επεκτείνετε το εσωτερικό σχέδιο. Πέντε σημεία ελέγχου: προθέματα, βοηθός, ώθηση διαδρομής, προώθηση και δοκιμή από την πλευρά του πελάτη.
Έχετε ήδη έναν πελάτη που συνδέεται μέσω IPv4 και φτάνει σε ιδιωτικό φόρτο εργασίας IPv4 πίσω από τον διακομιστή. Στόχος είναι να φτάσετε σε ιδιωτικό φόρτο εργασίας IPv6 μέσα από τη ίδια σήραγγα χωρίς να αγγίξετε την εξωτερική μεταφορά. Αυτή η σειρά μετράει: η εξωτερική διαδρομή μένει IPv4 και αλλάζουν μόνο το εσωτερικό σχέδιο διευθύνσεων, η διαδρομή του πελάτη και η διαδρομή επιστροφής από τον διακομιστή στο LAN. Πέντε σημεία ελέγχου, το καθένα με κάτι συγκεκριμένο να κοιτάξετε πριν προχωρήσετε.
Σημείο ελέγχου πρώτο: η σύνδεση που ήδη λειτουργεί
Συνδέστε τον πελάτη και επιβεβαιώστε τη διαδρομή IPv4 πριν προσθέσετε οτιδήποτε. Μια σήραγγα που λειτουργεί σας δίνει μια βάση που χωρίζει ένα νέο σφάλμα IPv6 από ένα παλιό πρόβλημα συνδεσιμότητας. Σας λέει επίσης ποια παρουσία διακομιστή επεξεργάζεστε πραγματικά.
Σημειώστε τη δεξαμενή, την τοπολογία και τις διαδρομές που ωθούνται και στις οποίες βασίζεστε ήδη. Η εργασία IPv6 επεκτείνει αυτή τη διαμόρφωση· δεν την αντικαθιστά.
Σημείο ελέγχου δεύτερο: επιλέξτε τα εσωτερικά προθέματα
Επιλέξτε ένα ULA /48 για την τοποθεσία και κόψτε δύο /64 από αυτό: ένα για τους πελάτες της σήραγγας, ένα για το τμήμα LAN που φιλοξενεί τον φόρτο εργασίας IPv6. Δημιουργήστε το 40-bit καθολικό ID αντί να αντιγράψετε ένα παράδειγμα προθέματος, και ελέγξτε και τα δύο υποδίκτυα απέναντι σε κάθε δίκτυο που δρομολογεί ήδη η τοποθεσία:
Outer transport: IPv4 OpenVPN UDP
IPv4 pool: 10.90.0.0/24
IPv6 VPN pool: fd73:93bc:b6e9:77::/64
IPv6 LAN: fd73:93bc:b6e9:60::/64
Server LAN IPv6: fd73:93bc:b6e9:60::1Δύο ανεξάρτητα /64 εμποδίζουν την κοπή της δεξαμενής πελατών από το τμήμα LAN, κάτι που μετράει αργότερα όταν γράφετε τη διαδρομή επιστροφής. Οι τιμές πάνω είναι ένα επεξεργασμένο παράδειγμα, όχι πρόθεμα για επανάχρηση.
Σημείο ελέγχου τρίτο: προσθέστε τον βοηθό και την ώθηση διαδρομής
Διαβάστε την τρέχουσα διαμόρφωση του διακομιστή πριν προσθέσετε οτιδήποτε. Ένα δεύτερο αντίγραφο υπάρχουσας οδηγίας δεν συγχωνεύεται με το πρώτο και το σφάλμα που προκύπτει ονομάζει την οδηγία, όχι το IPv6. Με τον υπάρχοντα βοηθό IPv4, δύο γραμμές τον επεκτείνουν. Κάθε μία απαντά σε διαφορετικό ερώτημα:
server-ipv6 fd73:93bc:b6e9:77::/64
push "route-ipv6 fd73:93bc:b6e9:60::/64"Η πρώτη είναι ένας βολικός βοηθός που ρυθμίζει τη διεπαφή και τη δεξαμενή πελατών. Η δεύτερη ονομάζει τον προορισμό στο LAN που πρέπει να φτάσει ο πελάτης. Το να δώσετε σε έναν πελάτη διεύθυνση IPv6 δεν του λέει ποια δίκτυα υπάρχουν πίσω από τον διακομιστή, άρα χρειάζονται και οι δύο γραμμές.
Ο βοηθός δεν συνυπάρχει με στατική δεξαμενή IPv6 ούτε με nopool. Αν η ανάπτυξη εκχωρεί σκόπιμα διευθύνσεις στατικά, κρατήστε αυτή την πολιτική και σχεδιάστε το ισοδύναμο IPv6 ρητά αντί να διαγράψετε την πολιτική για να ταιριάξει σε ένα παράδειγμα.
Σημείο ελέγχου τέταρτο: προώθηση και η διαδρομή απάντησης
Ενεργοποιήστε την προώθηση IPv6 στον διακομιστή μέσω του ίδιου του ιδιοκτήτη διαμόρφωσης του συστήματος, όχι με μια εφάπαξ εγγραφή χρόνου εκτέλεσης που θα ξεχάσετε. Η μορφή χρόνου εκτέλεσης είναι χρήσιμη για γρήγορη δοκιμή. Η μόνιμη διαμόρφωση ανήκει σε αρχείο drop-in που διαβάζει ο ιδιοκτήτης δικτύου της διανομής:
sysctl -w net.ipv6.conf.all.forwarding=1Η προώθηση αλλάζει τη συμπεριφορά IPv6 του κεντρικού υπολογιστή πέρα από τη δρομολόγηση πακέτων. Ένας υπολογιστής που δεχόταν αναγγελίες δρομολογητή ως πελάτης σταματά να το κάνει με τον ίδιο τρόπο μόλις προωθεί. Γι' αυτό ένα μηχάνημα του οποίου το uplink IPv6 εξαρτάται από RA χρειάζεται ρητό σχέδιο για αυτό το uplink.
Έπειτα δώστε στο LAN διαδρομή επιστροφής στη δεξαμενή της σήραγγας. Η πύλη IPv6 του φόρτου εργασίας είναι ο δρομολογητής του LAN, όχι ο διακομιστής VPN, άρα η διαδρομή ανήκει σε αυτόν τον δρομολογητή και δείχνει στη διεύθυνση LAN του διακομιστή:
ip -6 route add fd73:93bc:b6e9:77::/64 via fd73:93bc:b6e9:60::1Κρατήστε τους τύπους ICMPv6 που χρειάζεται ο σύνδεσμος, μαζί με την ανατροφοδότηση MTU διαδρομής. Ένας κανόνας τείχους προστασίας IPv4 δεν υπονοεί κανόνα IPv6, και ένας καθολικός αποκλεισμός IPv6 σπάει την ανακάλυψη γειτόνων με τρόπους που μοιάζουν με βλάβη δρομολόγησης.
Σημείο ελέγχου πέμπτο: διαβάστε τον πελάτη και μετά δοκιμάστε
Επανασυνδέστε τον πελάτη και διαβάστε τις διευθύνσεις που έλαβε πραγματικά αντί να τις συμπεράνετε από τη διεύθυνση βοηθού του διακομιστή. Η λίστα διεπαφής δείχνει και τις δύο οικογένειες στην ίδια συσκευή:
ip -6 addr show tun0
ip -6 route get fd73:93bc:b6e9:60::20Μια διαδρομή που επιλέγει τη σήραγγα αποδεικνύει ότι ο πελάτης ξέρει πού να στείλει το πακέτο. Δεν αποδεικνύει ότι ο διακομιστής το προωθεί, ότι ο δρομολογητής του LAN έχει τη διαδρομή επιστροφής ή ότι η εφαρμογή επιτρέπεται να απαντήσει.
Δοκιμάστε την ίδια την εφαρμογή σε κάθε οικογένεια με τη σειρά και επαναλάβετε μετά από επανασύνδεση και μετά από επανεκκίνηση του κεντρικού υπολογιστή. Μια διαδρομή ή ένα sysctl που επιβιώνει μόνο μέχρι την επανεκκίνηση είναι δοκιμή, όχι σχέδιο.
Δημοσιεύστε εγγραφή AAAA μόνο όταν η διαδρομή IPv6 απαντά από άκρη σε άκρη. DNS που ερωτάται μέσω IPv4 μπορεί ακόμη να επιστρέψει διεύθυνση IPv6, άρα ένα όνομα που επιλύεται δεν είναι απόδειξη ότι κάτι ακούει. Οι οδηγίες RFC 4193 για ULA καλύπτουν τη δημιουργία του καθολικού ID που κάνει αυτά τα προθέματα δικά σας και όχι αντίγραφο.