WireGuard VPN Project ανακοινώνω Ένα σημαντικό ορόσημο για τους χρήστες των Windows σήμερα – μια ολοκαίνουργια εφαρμογή λειτουργίας πυρήνα του πρωτοκόλλου VPN που ονομάζεται WireGuardNT. Η νέα εφαρμογή επιτρέπει σημαντική βελτίωση της απόδοσης σε συνδέσεις LAN 10Gbps – και σε πολλές συνδέσεις WI -Fi, επίσης.
WireGuard (στα Windows) και Wintun
Η εγγενής εφαρμογή WireGuard στα Windows χρησιμοποιεί το Wireguard -go – μια υλοποίηση χώρου χρήστη του WireGuard γραμμένο στη γλώσσα προγραμματισμού Google Go. Το Wireguard-go στη συνέχεια συνδέεται με ένα εικονικό μηχάνημα δικτύου, τα περισσότερα από τα οποία ζουν επίσης στο χώρο των χρηστών. Δεν άρεσε στον Donenfeld παράθυρα βρύσης, η εικονική διεπαφή δικτύου που παρέχεται από το έργο OpenVPN – έτσι υλοποίησε την παραλλαγή του από την αρχή, που ονομάζεται Winton.
Το Wintun είναι μια σαφής βελτίωση σε σχέση με τα tap -windows – το ίδιο έργο OpenVPN υλοποίησε την υποστήριξη Wintun, εντυπωσιακά Αποτελέσματα (414Mbps μέσω πατήματος παραθύρων έναντι 737Mbps μέσω Wintun). Αλλά ενώ η χρήση του Wintun είναι μια βελτίωση σε σχέση με τα παράθυρα κλικ, δεν αλλάζει την ανάγκη για μια στατική αλλαγή περιβάλλοντος από τον χώρο πυρήνα (όπου ζει η «πραγματική» στοίβα δικτύου) και το χώρο χρηστών (όπου λειτουργούν τόσο το OpenVPN όσο και το wireguard-go).
Για να εξαλειφθούν τα υπόλοιπα σημεία συμφόρησης απόδοσης, ολόκληρη η στοίβα – ο εικονικός διακόπτης, ο κωδικοποιητής, τα πάντα – πρέπει να τραβηχτεί στον πυρήνα. Στο Linux, αυτό σημαίνει DLKM (Dynamic Loadable Kernel Module). Στα Windows, αυτό σημαίνει ότι ένα πρόγραμμα οδήγησης συσκευής μέσα στον πυρήνα είναι κατάλληλο.
Πυρήνας WireGuardNT και NT
Εγκατάλειψη των στοιχείων του χώρου χρήστη της στοίβας WireGuard στα Windows και η διατήρηση όλων στον πυρήνα σημαίνει αλλαγή του WireGuard ώστε να λειτουργεί στα Windows με τον τρόπο που λειτουργεί ήδη στο Linux. Στην πραγματικότητα, το WireGuardNT ξεκίνησε ως άμεση θύρα της εφαρμογής Linux στον πυρήνα του WireGuard.
Σύμφωνα με τον δημιουργό του WireGuard Jason Dunnfield, μόλις η αρχική θύρα ήταν επιτυχής “η βάση δεδομένων NT γρήγορα αποκλίνει για να ταιριάξει όμορφα με τους NTisms και τον αρχικό NTism” NDIS Διεπαφές προγραμματισμού εφαρμογών. Το τελικό αποτέλεσμα είναι μια εξαιρετικά ολοκληρωμένη εφαρμογή υψηλής απόδοσης του WireGuard για τον πυρήνα NT, η οποία εκμεταλλεύεται την πλήρη γκάμα των πυρήνων NT και των δυνατοτήτων NDIS. “
Αυτό επίσης, φυσικά, σημαίνει να απαλλαγούμε από πολλές εναλλαγές περιβάλλοντος. Τα τελικά αποτελέσματα είναι σταθερά: περισσότερες από τρεις φορές η εξαιρετική απόδοση, όπως μετρήθηκε με τη χρήση Αιθέρας Σε ένα ζευγάρι Equinix Metal (πρώην packet.net) γ3. μικρό υποθέσεις.
Τα οφέλη της εναλλαγής χωρίς περιβάλλον επεκτείνονται πολύ πέρα από τους διακομιστές Xeon με διεπαφές 10Gbps, ωστόσο-ο Donenfeld ανέφερε ότι ορισμένοι πρώτοι δοκιμαστές ανέφεραν ότι το WireGuardNT μερικές φορές έλυνε τα τεράστια αποτελέσματα απόδοσης που παρατηρήθηκαν κατά τη χρήση της σύνδεσης VPN μέσω Wi-Fi.
Δοκιμάσαμε τη διαφορά ζωντανά, χρησιμοποιώντας ένα HP EliteBook με κάρτα Intel AX201 Wi-Fi 6, συνδεδεμένο στον κόμβο δρομολογητή της δοκιμαστικής σουίτας Plume Wi-Fi 6 Superpods. Αν και τα αποτελέσματά μας δεν ήταν τόσο συναρπαστικά όσο αυτά που έλαβαν μερικοί από τους πρώτους δοκιμαστές μας, επιβεβαιώνουν μια σημαντική αύξηση της απόδοσης. Στο ίδιο μηχάνημα και με τις ίδιες διαμορφώσεις, μετρήσαμε το WireGuardNT iperf3 που τρέχει 10 % έως 25 % γρηγορότερα από το Wireguard-go και το Wintun.
Δοκιμή WireGuardNT σήμερα
Το WireGuardNT είναι διαθέσιμο για δοκιμή σε δημόσια Windows Κατεβάστε Για το WireGuard τώρα, από την έκδοση 0.4. Αλλά επειδή εξακολουθεί να ταξινομείται ως πειραματικό, θα χρειαστεί να προσθέσετε μη αυτόματα ένα κλειδί μητρώου και DWORD για να το χρησιμοποιήσετε. Ανοιξε regedit
Ως διαχειριστής, μεταβείτε στο HKLM -> Προγράμματα. Στη συνέχεια, δημιουργήστε ένα κλειδί με το όνομα WireGuard και μέσα σε αυτό το κλειδί, ένα DWORD με το όνομα ExperimentalKernelDriver.
Με το ExperimentalKernelDriver ρυθμισμένο σε 1, οι σήραγγές σας θα χρησιμοποιούν τον νέο κωδικό WireGuardNT – χωρίς αυτόν (ή με το ExperimentalKernelDriver ρυθμισμένο στο 0), θα χρησιμοποιούν την προεπιλεγμένη συμπεριφορά, που είναι ο παλιός κώδικας wireguard -go/wintun. Για να εφαρμοστεί η αλλαγή σας, θα πρέπει να κάνετε δεξί κλικ στο εικονίδιο WireGuard στη γραμμή συστήματος και να κάνετε κλικ στο Τέλος. Όταν ανοίξετε ξανά την εφαρμογή WireGuard, θα σέβεται τη ρύθμιση ExperimentalKernelDriver.
Στο μέλλον, το WireGuardNT θα ενεργοποιηθεί από προεπιλογή και αντ ‘αυτού θα πρέπει να ορίσετε μια σημαία μητρώου εάν θέλετε τον παλαιό κώδικα. Από εκεί και πέρα, το έργο σχεδιάζει τελικά να τερματίσει εντελώς το Wireguard-go/wintun στο γενικό δίδυμο. Από την άλλη πλευρά, τα ίδια τα έργα θα παραμείνουν, αφού έχουν ένα ευρύτατο βοηθητικό πρόγραμμα πέρα από τον πελάτη WireGuard.