Un túnel de Windows falla e o rexistro ofrece o número 10051. Iso é WSAENETUNREACH, que se notifica cando unha operación de socket non atopa ningún camiño utilizable cara ao destino. Non é un contrasinal rexeitado, un certificado caducado nin a proba de que o servidor viu un paquete de túnel e o rexeitou.

Dúas operacións distintas poden producilo nunha mesma sesión. Significan cousas diferentes e pertencen a donos diferentes.

Que informa o código e que non

O erro describe unha decisión local: a pila non puido atopar unha ruta cara ao destino solicitado, así que a operación nunca saíu da máquina. É unha afirmación sobre o camiño, non sobre a opinión da outra parte acerca das súas credenciais. Lelo como un fallo de autenticación leva a almacéns de certificados e a restablecementos de contas por un problema que non poden causar. O código tampouco di nada sobre se unha devasa máis abaixo permitise o paquete, porque non se enviou ningún paquete.

Conserve as liñas de rexistro circundantes cando o anote. O número só perde o destino, o transporte e o momento, e eses tres feitos son o que fai que a entrada sexa interpretable unha semana despois.

Que operación fallou e cando

Un erro mentres o cliente busca o extremo exterior da VPN é un caso distinto dun fallo de aplicación despois de establecerse o túnel. No primeiro, a ruta de transporte cara ao servidor falta ou foi retirada. No segundo, o túnel existe e algo dentro del non pode resolver ou encamiñar o destino que pediu. Mesmo código, capa distinta, dono distinto. A marca de tempo relativa ao intento de conexión adoita decidir cal ten.

Cite a operación que fallou en lugar de só o erro: conexión a que enderezo, por que transporte e en que punto da secuencia. Ese enunciado é o que permite a unha segunda persoa reproducir a decisión.

Compare o extremo e a familia de enderezos

Anote o destino resolto, o transporte e o porto. Se o nome devolve tanto un enderezo IPv4 como un IPv6, unha comprobación IPv4 que funciona non explica nada sobre un intento IPv6 fallido. Pode que o cliente estea probando a familia que nunca probou, e forzar a outra familia cambia o experimento en lugar de corrixilo.

Resolve-DnsName vpn.example.net -Type A,AAAA
Find-NetRoute -RemoteIPAddress 198.51.100.62
Get-NetConnectionProfile

A consulta de ruta devolve o mellor enderezo local e a ruta para ese destino no estado actual, así que execútea mentres o fallo está presente. Un adaptador desconectado, unha rede cambiada ou unha ruta inesperada vense distintos despois de reiniciar todo. Un segundo túnel activo tamén pode capturar a ruta do extremo, o que produce este código para un cliente e non para o outro.

Lembre que é unha resposta de ruta: unha decisión local, non un permiso para enviar. Non pode dicirlle se unha devasa aceptaría o datagrama nin se algo escoita no extremo afastado.

Outros erros de socket e a transferencia

O erro 10054 é un informe distinto e, nunha recepción UDP, pode mostrar un ICMP de porto inalcanzable asociado a un envío anterior. É unha mensaxe sobre un porto de destino concreto, non unha afirmación de que non exista ningunha ruta, e ambos levan a investigacións diferentes. Tratar cada número de socket como unha variación de conexión fallida é como se 'repara' unha ruta ausente reinstalando un cliente.

A transferencia útil contén o código exacto, a operación fallida, o extremo e a familia de enderezos, a ruta seleccionada e a hora de calquera cambio de rede. Corrixa o problema de ruta demostrado a través de quen posúa esa configuración. Substituír certificados ou desactivar a verificación da outra parte non poden proporcionar unha ruta que non existe, e ambas as cousas dificultan o diagnóstico final.

Artigos relacionados