dev tun onder Windows toont nog steeds een TAP-adapter. Is dat fout?
Een TAP-Windows-adapter onder een dev tun-profiel is normaal. Het laag-3-stuurprogramma is een optionele schakelaar, en het clientlogboek, niet de adaptornaam, zegt welke er liep.
Apparaatbeheer toont een TAP-Windows Adapter V9 terwijl het profiel dev tun zegt, en de tunnel werkt. Die combinatie is geen verkeerde configuratie, en de modus heen en weer schakelen verandert daar niets aan. De adaptornaam weerspiegelt welk Windows-stuurprogramma de client heeft geladen, niet welke pakketten de tunnel vervoert. Lees de stuurprogrammaregel in het clientlogboek voordat je iets wijzigt.
Waarom een laag-3-tunnel een Ethernet-adapter krijgt
Gedurende het grootste deel van de Windows-geschiedenis van de client bestond er geen bruikbare virtuele laag-3-adapter. De enige optie was het TAP-Windows-stuurprogramma, dat een Ethernet-interface presenteert. De client emuleerde vervolgens het ontbrekende laag-2-gedrag zodat Windows het kon configureren. Die emulatie is de reden dat de adapter er nog steeds uitziet als een netwerkkaart.
Twee onderdelen van die emulatie zijn zichtbaar als je oplet: de client beantwoordt ARP voor het tunneladres en deelt een kleine DHCP-lease uit aan de lokale machine. Windows ziet daarom een normale Ethernet-adapter met een MAC-adres en een NDIS-stuurprogramma, terwijl de tunnel zelf kale IP-pakketten vervoert. Het Ethernet-kostuum hoort bij het stuurprogramma, niet bij de tunnelmodus.
Zoek de stuurprogrammaregel in plaats van op de naam af te gaan
Twee adapters kunnen een naam delen tussen stuurprogrammaversies, dus de naam alleen kan niet zeggen wat er liep. Het clientlogboek noemt het apparaat dat het opende, en op nieuwere builds ook het stuurprogramma dat het koos; dat is de regel die je moet lezen.
Controleer drie dingen in het logboek, in deze volgorde: of de client überhaupt een adapter opende, welk stuurprogramma hij meldt, en of hij na een fout terugviel. Een terugvalregel is makkelijk te missen omdat de verbinding toch tot stand komt, en de tunnel draait dan op het oudere stuurprogramma terwijl de gebruiker denkt dat het nieuwe actief is.
Schakel over naar het laag-3-stuurprogramma en controleer wat aanwezig moet zijn
Het laag-3-stuurprogramma dat het WireGuard-project levert, is beschikbaar vanaf clientversie 2.5, maar het is optioneel. Eén richtlijn selecteert het:
windows-driver wintun
Het stuurprogramma moet op de machine zijn geïnstalleerd, en officiële builds bevatten een ondertekende kopie. Lever die ondertekende release als je de client zelf verpakt, want een privé gebouwd stuurprogramma botst met de kopieën die andere VPN-producten installeren. Die botsingen veroorzaken fouten die lastig toe te schrijven zijn, en ze verschijnen meestal nadat een tweede VPN-client op de machine arriveert. Een ontbrekend stuurprogramma laat daarentegen een duidelijke regel in het logboek achter.
Het stuurprogramma dwingt ook strengere rechten af, dus maakt de client de adapter aan via zijn interactieve service die als bevoorrechte account draait. Start de client als een gewoon gebruikersproces zonder die service en de richtlijn kan mislukken, waardoor de eerder geïnstalleerde adapter zichtbaar blijft en het lijkt of de omschakeling is genegeerd.
Wanneer TAP het juiste antwoord blijft
Als de tunnel Ethernet-frames, broadcastverkeer of niet-IP-protocollen moet vervoeren, is een laag-2-adapter vereist en het TAP-stuurprogramma volgt uit die eis. Een bridge-opzet onder Windows heeft dezelfde beperking, omdat de interface lid moet worden van een laag-2-domein.
Prestatie is op het niveau van de adaptornaam geen reden om de een boven de ander te kiezen. Versie 2.6 voegt een datakanaal-offload-stuurprogramma toe dat pakketverwerking naar de kernel verplaatst, en dat is de optie die doorvoerkarakteristieken verandert. Het is een capaciteitsbeslissing, geen vereiste om te verbinden, en het hangt af van de build en het geïnstalleerde pakket. Een profiel dat zonder werkt, blijft werken.
| 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 |
Ruim op na de omschakeling
De oude adapter verwijderen is net zo belangrijk als de nieuwe toevoegen. Een achtergebleven TAP-interface kan een adres en een route uit een eerdere sessie behouden, en die vermeldingen leven langer dan de verbinding die ze heeft gemaakt. Verwijder het verouderde apparaat in Apparaatbeheer, maak daarna opnieuw verbinding en bevestig dat de routetabel het niet meer noemt.
Als er meerdere VPN-producten zijn geïnstalleerd, noteer dan welk stuurprogrammapakket elk meebrengt voordat je het profiel gaat debuggen. Twee clients die verschillende builds van hetzelfde stuurprogramma installeren, zijn een conflict dat geen profielbewerking oplost. Verwijder de ongebruikte client en herstart, zoek daarna naar dubbele adapters in Apparaatbeheer. Pas daarna is het de moeite waard om logregels tussen de twee producten te vergelijken.