Το dev tun στα Windows εξακολουθεί να εμφανίζει προσαρμογέα TAP. Είναι λάθος;
Ένας προσαρμογέας TAP-Windows κάτω από προφίλ dev tun είναι φυσιολογικός. Ο οδηγός layer-3 είναι προαιρετικός διακόπτης, και το αρχείο καταγραφής του πελάτη, όχι το όνομα του προσαρμογέα, λέει ποιος έτρεξε.
Η Διαχείριση Συσκευών εμφανίζει έναν TAP-Windows Adapter V9 ενώ το προφίλ λέει dev tun, και η σήραγγα λειτουργεί. Αυτός ο συνδυασμός δεν είναι λανθασμένη ρύθμιση, και το να αλλάζεις τη λειτουργία πέρα-δώθε δεν θα τον αλλάξει. Το όνομα του προσαρμογέα δείχνει ποιον οδηγό των Windows φόρτωσε ο πελάτης, όχι ποια πακέτα μεταφέρει η σήραγγα. Διάβασε τη γραμμή του οδηγού στο αρχείο καταγραφής του πελάτη πριν αλλάξεις οτιδήποτε.
Γιατί μια σήραγγα layer-3 παίρνει προσαρμογέα Ethernet
Για το μεγαλύτερο μέρος της ιστορίας του πελάτη στα Windows δεν υπήρχε κανένας αξιοποιήσιμος εικονικός προσαρμογέας layer-3. Η μόνη επιλογή ήταν ο οδηγός TAP-Windows, που παρουσιάζει διεπαφή Ethernet. Ο πελάτης στη συνέχεια εξομοίωνε τη συμπεριφορά layer-2 που έλειπε, ώστε τα Windows να μπορούν να τον ρυθμίσουν. Αυτή η εξομοίωση είναι ο λόγος που ο προσαρμογέας εξακολουθεί να μοιάζει με κάρτα δικτύου.
Δύο κομμάτια αυτής της εξομοίωσης είναι ορατά αν κοιτάξεις: ο πελάτης απαντά σε ARP για τη διεύθυνση της σήραγγας, και σερβίρει ένα μικρό DHCP lease στο τοπικό μηχάνημα. Τα Windows βλέπουν επομένως έναν κανονικό προσαρμογέα Ethernet με διεύθυνση MAC και οδηγό NDIS, ενώ η ίδια η σήραγγα μεταφέρει γυμνά πακέτα IP. Η στολή Ethernet ανήκει στον οδηγό, όχι στη λειτουργία της σήραγγας.
Βρες τη γραμμή του οδηγού αντί να κρίνεις από το όνομα
Δύο προσαρμογείς μπορούν να μοιράζονται ένα όνομα μεταξύ εκδόσεων οδηγού, οπότε το όνομα μόνο του δεν μπορεί να σου πει τι έτρεξε. Το αρχείο καταγραφής του πελάτη ονομάζει τη συσκευή που άνοιξε, και σε νεότερες εκδόσεις ονομάζει και τον οδηγό που επέλεξε· αυτή είναι η γραμμή που πρέπει να διαβάσεις.
Έλεγξε τρία πράγματα στο αρχείο καταγραφής, με αυτή τη σειρά: αν ο πελάτης άνοιξε καθόλου προσαρμογέα, ποιον οδηγό αναφέρει, και αν έπεσε σε εναλλακτικό μετά από αποτυχία. Μια γραμμή εναλλακτικής είναι εύκολο να χαθεί, επειδή η σύνδεση ανεβαίνει παρ' όλα αυτά, και η σήραγγα τρέχει τότε στον παλαιότερο οδηγό ενώ ο χρήστης πιστεύει ότι ο νέος είναι ενεργός.
Πήγαινε στον οδηγό layer-3 και έλεγξε τι πρέπει να υπάρχει
Ο οδηγός layer-3 που διανέμει το έργο WireGuard είναι διαθέσιμος από την έκδοση πελάτη 2.5 και μετά, αλλά είναι προαιρετικός. Μία οδηγία τον επιλέγει:
windows-driver wintun
Ο οδηγός πρέπει να είναι εγκατεστημένος στο μηχάνημα, και οι επίσημες εκδόσεις περιέχουν υπογεγραμμένο αντίγραφο. Διανείμετε αυτή την υπογεγραμμένη έκδοση αν συσκευάζετε τον πελάτη μόνοι σας, επειδή ένας ιδιωτικά χτισμένος οδηγός συγκρούεται με τα αντίγραφα που εγκαθιστούν άλλα προϊόντα VPN. Αυτές οι συγκρούσεις παράγουν αστοχίες που αργούν να αποδοθούν, και συνήθως εμφανίζονται αφού φτάσει στο μηχάνημα ένας δεύτερος πελάτης VPN. Ένας οδηγός που λείπει, αντίθετα, αφήνει μια καθαρή γραμμή στο αρχείο καταγραφής.
Ο οδηγός επιβάλλει επίσης αυστηρότερα δικαιώματα, οπότε ο πελάτης δημιουργεί τον προσαρμογέα μέσω της διαδραστικής υπηρεσίας του που τρέχει ως προνομιούχος λογαριασμός. Ξεκίνα τον πελάτη ως απλή διεργασία χρήστη χωρίς αυτή την υπηρεσία και η οδηγία μπορεί να αποτύχει, κάτι που αφήνει ορατό τον προηγουμένως εγκατεστημένο προσαρμογέα και μοιάζει σαν να αγνοήθηκε η αλλαγή.
Πότε το TAP παραμένει η σωστή απάντηση
Αν η σήραγγα πρέπει να μεταφέρει πλαίσια Ethernet, κίνηση broadcast ή πρωτόκολλα μη IP, απαιτείται προσαρμογέας layer-2 και ο οδηγός TAP προκύπτει από αυτή την απαίτηση. Ένας σχεδιασμός με γέφυρα στα Windows έχει τον ίδιο περιορισμό, αφού η διεπαφή πρέπει να ενταχθεί σε τομέα layer-2.
Οι επιδόσεις δεν είναι λόγος να προτιμήσεις το ένα έναντι του άλλου στο επίπεδο του ονόματος προσαρμογέα. Η έκδοση 2.6 προσθέτει έναν οδηγό offload καναλιού δεδομένων που μεταφέρει την επεξεργασία πακέτων στον πυρήνα, και αυτή είναι η επιλογή που αλλάζει τα χαρακτηριστικά απόδοσης. Είναι απόφαση δυνατοτήτων και όχι απαίτηση για σύνδεση, και εξαρτάται από την έκδοση και το εγκατεστημένο πακέτο. Ένα προφίλ που λειτουργεί χωρίς αυτόν συνεχίζει να λειτουργεί.
| What the tunnel must carry | Adapter family | Where it is selected |
|---|---|---|
| IPv4 and IPv6 packets | Layer-3 driver, or the older TAP emulation | Client directive plus installed signed driver |
| Ethernet frames, non-IP protocols | TAP-Windows | Profile mode and the TAP driver package |
| Higher throughput on a supported build | Data-channel offload driver | Client build and driver package, separately from the profile |
Καθάρισε μετά την αλλαγή
Η αφαίρεση του παλιού προσαρμογέα έχει την ίδια σημασία με την προσθήκη του νέου. Μια διεπαφή TAP που έχει μείνει μπορεί να κρατήσει μια διεύθυνση και μια διαδρομή από προηγούμενη συνεδρία, και αυτές οι καταχωρίσεις ζουν περισσότερο από τη σύνδεση που τις δημιούργησε. Διάγραψε τη συσκευή που έχει μείνει στη Διαχείριση Συσκευών, συνδέσου ξανά και επιβεβαίωσε ότι ο πίνακας δρομολόγησης δεν την αναφέρει πλέον.
Αν είναι εγκατεστημένα πολλά προϊόντα VPN, σημείωσε ποιο πακέτο οδηγού φέρνει το καθένα πριν κάνεις αποσφαλμάτωση του προφίλ. Δύο πελάτες που εγκαθιστούν διαφορετικές εκδόσεις του ίδιου οδηγού είναι σύγκρουση που καμία ποσότητα επεξεργασίας προφίλ δεν θα λύσει. Απεγκατέστησε τον πελάτη που δεν χρησιμοποιείς και επανεκκίνησε, μετά ψάξε για διπλούς προσαρμογείς στη Διαχείριση Συσκευών. Μόνο μετά αξίζει να συγκρίνεις γραμμές καταγραφής μεταξύ των δύο προϊόντων.