dev tun w Windows nadal pokazuje adapter TAP. Czy to błąd?
Adapter TAP-Windows w profilu dev tun jest normalny. Sterownik warstwy 3 jest opcjonalnym przełącznikiem, a dziennik klienta, nie nazwa adaptera, mówi, który zadziałał.
Menedżer urządzeń pokazuje TAP-Windows Adapter V9, podczas gdy profil mówi dev tun, a tunel działa. Ten zestaw nie jest błędną konfiguracją i przełączanie trybu tam i z powrotem tego nie zmieni. Nazwa adaptera odzwierciedla, który sterownik Windows załadował klient, a nie jakie pakiety przenosi tunel. Przeczytaj wiersz sterownika w dzienniku klienta, zanim cokolwiek zmienisz.
Dlaczego tunel warstwy 3 dostaje adapter Ethernet
Przez większość historii klienta na Windows nie istniał żaden użyteczny wirtualny adapter warstwy 3. Jedyną opcją był sterownik TAP-Windows, który przedstawia interfejs Ethernet. Klient emulował potem brakujące zachowanie warstwy 2, aby Windows mógł go skonfigurować. To właśnie ta emulacja sprawia, że adapter nadal wygląda jak karta sieciowa.
Dwie części tej emulacji są widoczne, jeśli się przyjrzeć: klient odpowiada na ARP dla adresu tunelu i serwuje małą dzierżawę DHCP lokalnej maszynie. Windows widzi więc zwykły adapter Ethernet z adresem MAC i sterownikiem NDIS, podczas gdy sam tunel przenosi czyste pakiety IP. Kostium Ethernet należy do sterownika, nie do trybu tunelu.
Znajdź wiersz sterownika, zamiast oceniać po nazwie
Dwa adaptery mogą dzielić nazwę między wersjami sterownika, więc sama nazwa nie powie, co działało. Dziennik klienta podaje nazwę urządzenia, które otworzył, a w nowszych wersjach także sterownika, który wybrał; to ten wiersz trzeba przeczytać.
Sprawdź trzy rzeczy w dzienniku, w tej kolejności: czy klient w ogóle otworzył adapter, który sterownik zgłasza i czy po błędzie wrócił do starszego. Wiersz wycofania łatwo przeoczyć, bo połączenie i tak wstaje, a tunel działa wtedy na starszym sterowniku, podczas gdy użytkownik sądzi, że nowy jest aktywny.
Przełącz na sterownik warstwy 3 i sprawdź, co musi być obecne
Sterownik warstwy 3 dostarczany przez projekt WireGuard jest dostępny od wersji klienta 2.5, ale jest opcjonalny. Jedna dyrektywa go wybiera:
windows-driver wintun
Sterownik musi być zainstalowany na maszynie, a oficjalne wersje zawierają podpisaną kopię. Dostarczaj to podpisane wydanie, jeśli sam pakujesz klient, ponieważ sterownik zbudowany prywatnie koliduje z kopiami instalowanymi przez inne produkty VPN. Te kolizje powodują błędy trudne do przypisania i zwykle pojawiają się po przybyciu drugiego klienta VPN na maszynę. Brakujący sterownik natomiast zostawia wyraźny wiersz w dzienniku.
Sterownik wymusza też surowsze uprawnienia, więc klient tworzy adapter przez swoją usługę interaktywną działającą na koncie uprzywilejowanym. Uruchom klienta jako zwykły proces użytkownika bez tej usługi, a dyrektywa może zawieść, co pozostawia wcześniej zainstalowany adapter widocznym i wygląda, jakby przełączenie zostało zignorowane.
Kiedy TAP pozostaje właściwą odpowiedzią
Jeśli tunel musi przenosić ramki Ethernet, ruch rozgłoszeniowy lub protokoły inne niż IP, wymagany jest adapter warstwy 2, a sterownik TAP wynika z tego wymogu. Konstrukcja mostkowa w Windows ma to samo ograniczenie, ponieważ interfejs musi dołączyć do domeny warstwy 2.
Wydajność nie jest powodem, by na poziomie nazwy adaptera wybierać jeden zamiast drugiego. Wersja 2.6 dodaje sterownik odciążenia kanału danych, który przenosi przetwarzanie pakietów do jądra, i to ta opcja zmienia charakterystykę przepustowości. To decyzja o możliwościach, a nie warunek połączenia, i zależy od wersji oraz zainstalowanego pakietu. Profil, który działa bez niego, nadal działa.
| 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 |
Posprzątaj po przełączeniu
Usunięcie starego adaptera jest równie ważne jak dodanie nowego. Pozostały interfejs TAP może zachować adres i trasę z wcześniejszej sesji, a te wpisy żyją dłużej niż połączenie, które je utworzyło. Usuń nieaktualne urządzenie w Menedżerze urządzeń, połącz się ponownie i potwierdź, że tablica routingu już go nie wymienia.
Jeśli zainstalowanych jest kilka produktów VPN, zanotuj, który pakiet sterowników wnosi każdy z nich, zanim zaczniesz debugować profil. Dwaj klienci instalujący różne wersje tego samego sterownika to konflikt, którego nie rozwiąże żadna edycja profilu. Odinstaluj nieużywanego klienta i uruchom ponownie, potem poszukaj zduplikowanych adapterów w Menedżerze urządzeń. Dopiero potem warto porównywać wiersze dziennika między oboma produktami.