dev tun no Windows continua a mostrar um adaptador TAP. Está errado?
Um adaptador TAP-Windows num perfil dev tun é normal. O controlador de camada 3 é um interruptor opcional, e é o registo do cliente, não o nome do adaptador, que diz qual foi executado.
O Gestor de dispositivos mostra um TAP-Windows Adapter V9 enquanto o perfil diz dev tun, e o túnel funciona. Essa combinação não é uma configuração errada, e alternar o modo de um lado para o outro não a altera. O nome do adaptador reflete o controlador Windows carregado pelo cliente, não os pacotes que o túnel transporta. Leia a linha do controlador no registo do cliente antes de alterar seja o que for.
Porque é que um túnel de camada 3 recebe um adaptador Ethernet
Durante a maior parte da história do cliente em Windows não existia nenhum adaptador virtual de camada 3 utilizável. A única opção era o controlador TAP-Windows, que apresenta uma interface Ethernet. O cliente emulava depois o comportamento de camada 2 em falta para que o Windows o pudesse configurar. É essa emulação que explica porque o adaptador ainda parece uma placa de rede.
Duas partes dessa emulação são visíveis se observar: o cliente responde a ARP para o endereço do túnel e fornece um pequeno aluguer DHCP à máquina local. Por isso o Windows vê um adaptador Ethernet normal com endereço MAC e controlador NDIS, enquanto o próprio túnel transporta pacotes IP nus. O fato Ethernet pertence ao controlador, não ao modo do túnel.
Encontre a linha do controlador em vez de julgar pelo nome
Dois adaptadores podem partilhar um nome entre versões do controlador, por isso o nome só por si não diz o que foi executado. O registo do cliente indica o dispositivo que abriu, e nas compilações mais recentes também o controlador que escolheu; é essa a linha a ler.
Verifique três coisas no registo, por esta ordem: se o cliente abriu algum adaptador, que controlador reporta, e se recuou para outro após uma falha. Uma linha de recuo é fácil de perder porque a ligação estabelece-se de qualquer forma, e o túnel passa então a correr no controlador mais antigo enquanto o utilizador acredita que o novo está ativo.
Mude para o controlador de camada 3 e verifique o que tem de estar presente
O controlador de camada 3 distribuído pelo projeto WireGuard está disponível a partir da versão 2.5 do cliente, mas é opcional. Uma única diretiva seleciona-o:
windows-driver wintun
O controlador tem de estar instalado na máquina, e as compilações oficiais incluem uma cópia assinada. Distribua essa versão assinada se empacotar o cliente você mesmo, porque um controlador compilado em privado colide com as cópias instaladas por outros produtos VPN. Essas colisões produzem falhas difíceis de atribuir, e surgem normalmente depois de um segundo cliente VPN chegar à máquina. Um controlador em falta, em contrapartida, deixa uma linha clara no registo.
O controlador também impõe permissões mais estritas, por isso o cliente cria o adaptador através do seu serviço interativo executado como conta privilegiada. Inicie o cliente como um processo de utilizador normal sem esse serviço e a diretiva pode falhar, o que deixa o adaptador instalado anteriormente visível e parece que a mudança foi ignorada.
Quando TAP continua a ser a resposta certa
Se o túnel tiver de transportar tramas Ethernet, tráfego de difusão ou protocolos não IP, é necessário um adaptador de camada 2 e o controlador TAP decorre desse requisito. Uma conceção em ponte no Windows tem a mesma restrição, pois a interface tem de entrar num domínio de camada 2.
O desempenho não é razão para escolher um em vez do outro ao nível do nome do adaptador. A versão 2.6 acrescenta um controlador de descarga do canal de dados que move o processamento de pacotes para o kernel, e é essa a opção que altera as características de débito. É uma decisão de capacidade e não um requisito para ligar, e depende da compilação e do pacote instalado. Um perfil que funciona sem ele continua a funcionar.
| 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 |
Limpe após a mudança
Remover o adaptador antigo é tão importante como acrescentar o novo. Uma interface TAP remanescente pode manter um endereço e uma rota de uma sessão anterior, e essas entradas sobrevivem à ligação que as criou. Elimine o dispositivo obsoleto no Gestor de dispositivos, volte a ligar e confirme que a tabela de rotas já não o menciona.
Se estiverem instalados vários produtos VPN, anote que pacote de controladores cada um traz antes de depurar o perfil. Dois clientes a instalar compilações diferentes do mesmo controlador são um conflito que nenhuma edição do perfil resolverá. Desinstale o cliente que não usa e reinicie, depois procure adaptadores duplicados no Gestor de dispositivos. Só depois vale a pena comparar linhas de registo entre os dois produtos.