Un tunnel Windows fallisce e il registro offre il numero 10051. È WSAENETUNREACH, segnalato quando un'operazione socket non trova alcun percorso utilizzabile verso la destinazione. Non è una password rifiutata, un certificato scaduto né la prova che il server abbia visto un pacchetto del tunnel e lo abbia rifiutato.

Due operazioni diverse possono produrlo nella stessa sessione. Significano cose diverse e appartengono a proprietari diversi.

Cosa segnala il codice e cosa no

L'errore descrive una decisione locale: lo stack non è riuscito a trovare una rotta verso la destinazione richiesta, quindi l'operazione non ha mai lasciato la macchina. È un'affermazione sul percorso, non sull'opinione della controparte riguardo alle vostre credenziali. Leggerlo come un fallimento di autenticazione vi manda nei magazzini dei certificati e nei ripristini degli account per un problema che non possono causare. Il codice non dice nulla nemmeno sul fatto che un firewall più a valle avrebbe consentito il pacchetto, perché non è stato inviato alcun pacchetto.

Conservate le righe di registro circostanti quando lo annotate. Il solo numero perde la destinazione, il trasporto e il momento, e sono questi tre fatti a rendere la voce interpretabile una settimana dopo.

Quale operazione è fallita, e quando

Un errore mentre il client raggiunge l'endpoint esterno della VPN è un caso diverso da un guasto dell'applicazione dopo l'istituzione del tunnel. Nel primo, il percorso di trasporto verso il server manca o è stato rimosso. Nel secondo, il tunnel esiste e qualcosa al suo interno non riesce a risolvere o instradare la destinazione richiesta. Stesso codice, livello diverso, proprietario diverso. La marca temporale rispetto al tentativo di connessione di solito stabilisce quale dei due avete.

Citate l'operazione fallita invece del solo errore: connessione a quale indirizzo, su quale trasporto e in quale punto della sequenza. È quella formulazione che permette a una seconda persona di riprodurre la decisione.

Confrontate l'endpoint e la famiglia di indirizzi

Annotate la destinazione risolta, il trasporto e la porta. Se il nome restituisce sia un indirizzo IPv4 sia uno IPv6, un controllo IPv4 funzionante non spiega nulla su un tentativo IPv6 fallito. Il client potrebbe provare la famiglia che non avete mai testato, e forzare l'altra famiglia cambia l'esperimento invece di correggerlo.

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

La query di rotta restituisce il miglior indirizzo locale e la rotta per quella destinazione nello stato attuale, quindi eseguitela mentre il guasto è presente. Un adattatore disconnesso, una rete cambiata o una rotta inattesa appaiono tutti diversi dopo che tutto è stato reimpostato. Un secondo tunnel attivo può anche catturare il percorso dell'endpoint, il che produce questo codice per un client e non per l'altro.

Ricordate cos'è una risposta di rotta: una decisione locale, non un permesso di inviare. Non può dirvi se un firewall accetterebbe il datagramma né se qualcosa è in ascolto all'estremità remota.

Altri errori socket e il passaggio di consegne

L'errore 10054 è un rapporto diverso e, su una ricezione UDP, può far emergere un ICMP di porta irraggiungibile associato a un invio precedente. È un messaggio su una porta di destinazione specifica, non un'affermazione che non esista alcuna rotta, e i due portano a indagini diverse. Trattare ogni numero di socket come una variante di connessione fallita è il modo in cui una rotta mancante viene 'riparata' reinstallando un client.

Il passaggio di consegne utile contiene il codice esatto, l'operazione fallita, l'endpoint e la famiglia di indirizzi, la rotta selezionata e l'ora di ogni cambiamento di rete. Correggete il problema di percorso dimostrato tramite chi possiede quella configurazione. Sostituire certificati o disattivare la verifica della controparte non può fornire una rotta che non esiste, ed entrambe rendono più difficile la diagnosi finale.

Articoli correlati