El VPN de Windows no es connecta? Fes coincidir el codi amb el registre d'esdeveniments
Un diàleg del VPN de Windows amaga l'etapa que ha fallat. Llegeix el codi de resultat, extreu l'esdeveniment RasClient d'aquell intent i canvia només la capa que s'ha trencat.
Divendres funcionava. Dilluns el mateix client de Windows respon amb un diàleg que diu que l'intent de connexió ha fallat, i la frase de sota és una que ja has vist per a una dotzena de problemes sense relació. Aquest diàleg és el final d'una cadena, no el seu inici. Windows amaga l'etapa on l'intent va morir realment, i dues petites proves la nomenen: el codi numèric de resultat i un esdeveniment RasClient d'aquell mateix minut. Aquest és l'ordre que faig servir — fixa l'intent, llegeix el codi, extreu l'esdeveniment i després canvia exactament una capa.
El text del diàleg és l'últim pas, no la causa
La frase que llegeixes s'escull després que l'intent ja s'hagi desfet. "La connexió va ser acabada per l'ordinador remot abans que la connexió s'establís" apareix quan un servidor penja a mig negociar, quan IPsec falla abans que el teu nom d'usuari s'hagi enviat, i quan una política rebutja el túnel de ple. Tres propietaris diferents, una frase. Tracta la formulació com una classe de símptoma i no deixis que dirigeixi res fins que el codi hi estigui d'acord.
El que encara pots fixar és l'intent mateix. Anota el nom de la connexió, el tipus de túnel desat al perfil — PPTP, L2TP/IPsec, SSTP o IKEv2 —, l'hora fins al segon i el codi. Si no estàs segur de quin protocol va córrer realment, obre %APPDATA%\Microsoft\Network\Connections\Pbk\rasphone.pbk i llegeix l'entrada en lloc de confiar en la memòria; un perfil reutilitzat per a un protocol nou conserva el seu nom de visualització antic.
Llegeix el número abans de llegir les paraules
Els codis cauen en tres etapes, i l'etapa importa més que la formulació exacta: un intercanvi d'autenticació que es va assolir i es va rebutjar, un servidor que no va respondre mai, o una negociació que es va enfonsar després que l'enllaç pugés. 691 és el primer tipus — la comprovació de credencials es va executar i va fallar, ja sigui per una contrasenya dolenta, un compte bloquejat o caducat, o un protocol d'autenticació que el servidor no accepta. 812 també és un refús, però amb credencials vàlides: una política del servidor d'accés remot va decidir en contra teva. Microsoft manté la llista de codis d'error de connexió de marcació i VPN canònica, i val la pena llegir-hi el teu número abans de buscar el text del missatge.
809 és la classe oposada: no va tornar res. Això és un problema de camí — TCP 443 filtrat per a SSTP, GRE bloquejat per a PPTP, UDP 500 i 4500 o ESP descartats per al pas d'IPsec. Una contrasenya nova no ho pot arreglar i un certificat nou tampoc. 720 vol dir que l'enllaç va pujar i que PPP no va acabar mai de negociar, cosa que apunta a una discrepància de protocol o a un servidor que no va poder assignar una adreça. 789, o 13801 a IKEv2, és la identitat dins d'IPsec: un certificat el subjecte del qual no coincideix amb el nom que marques, una cadena no confiable, o una clau prèviament compartida que difereix entre els dos extrems.
Extreu l'esdeveniment RasClient d'aquell mateix minut
Al Visor d'esdeveniments, Windows Logs > Application filtrat per origen RasClient és el primer lloc on mirar. L'escrit de Microsoft sobre l'error 720 apunta a l'esdeveniment 20227 d'aquell registre. El mateix proveïdor emet altres identificadors per a altres resultats, així que llegeix el missatge i el codi de resultat incrustat en lloc de tractar l'ID com el diagnòstic; un diàleg genèric més un 20227 que porta 720 ja és una història molt més estreta.
Des de PowerShell, sense clicar per la GUI:
Get-WinEvent -FilterHashtable @{
LogName = 'Application'
ProviderName = 'RasClient'
StartTime = (Get-Date).AddMinutes(-15)
} | Format-List TimeCreated, Id, Message
Un resultat buit és informatiu. Normalment vol dir que la marcació no va arribar prou lluny perquè RAS registrés res, o que el programari que va fallar no és el client natiu de cap manera — els clients de tercers tenen la seva pròpia diagnosi i sovint no escriuen res al registre Application. Comprova el registre del proveïdor abans de concloure que el registre d'esdeveniments està trencat.
Construeix una línia temporal en lloc d'un munt d'esdeveniments
Els bucles de reintent fabriquen soroll. Cinc reconnexions automàtiques deixen un clúster d'esdeveniments, i la temptació és llegir-los com una sola seqüència amb una sola causa. Són cinc intents separats, i només alguns van arribar a un servidor. Agafa una finestra de dos o tres minuts, un nom de connexió, i llista cada esdeveniment amb el seu propi codi abans d'interpretar-ne res.
Aleshores pregunta on es va aturar l'intent. Quan la passarel·la o el backend d'autenticació no té cap registre per a aquell segell de temps, el client no hi va arribar mai, i estàs mirant un problema d'abast. Quan el backend mostra una petició i un rebuig, la decisió es va prendre allà, i s'aplica la classe de credencials o de política. Compara els rellotges abans de comparar les hores: els clients informen de l'hora local, moltes passarel·les registren en UTC, i un desfasament farà que una parella perfectament correlacionada sembli sense relació.
Per a una captura repetible, marca des de la línia d'ordres i deixa que imprimeixi el resultat:
rasdial "Office VPN"
rasdial "Office VPN" /disconnect
La consola mostra el número que la GUI amaga darrere d'un text amable, i executar-ho dues vegades et diu si el codi és estable o intermitent.
Què et diu cada etapa que has de canviar
Nomenar l'etapa només és útil si redueix el conjunt de canvis a una capa:
691— autenticació: el mètode EAP que ofereix el client contra el que accepta el servidor, l'estat del compte, la caducitat de la contrasenya, el permís de marcació.812— política del servidor: la política d'accés remot o la regla NPS que coincideix amb aquest usuari i aquesta finestra de temps.809— abast: regles de tallafoc al camí, NAT i pas de protocol, el port que necessita el tipus de túnel triat.720— negociació PPP: discrepància de protocol d'autenticació, assignació d'adreça, un paràmetre PPP del costat del servidor.789/13801— identitat IPsec: subjecte del certificat contra el nom que marques, cadena de confiança, clau prèviament compartida.
Canvia'n una, torna a provar el mateix perfil i anota el codi nou. Un codi diferent després d'un canvi és progrés, no contradicció: has mogut la fallada a una etapa posterior, i així és com es veu arreglar una encaixada de mans de diverses etapes. El que no hauries de fer és alterar el tallafoc, el certificat i la contrasenya en una sola sessió i després donar el mèrit al que va arribar últim.
Comparteix les proves, no l'entorn
Els missatges d'esdeveniment són més rics del que semblen. Porten el nom de la connexió, el compte, sovint el nom o l'adreça interna de la passarel·la, i de vegades una empremta de certificat. Guarda l'original on toca, i construeix una còpia redactada a part per a qualsevol altre; tornar a teclejar la línia temporal de memòria perd exactament els detalls que la fan útil.
Un traspàs que s'arriba a treballar necessita cinc camps: el codi, l'etapa a què pertany, el client i el tipus de túnel, el segell de temps amb la seva zona horària, i si la passarel·la va veure la petició. Tota la resta és opcional. Amb aquests cinc, la persona següent pot distingir una discussió de credencials d'una de routing sense repetir la investigació.
Abans de tancar res, reprodueix l'intent amb el mateix perfil i confirma on cau ara el codi. Un èxit ho acaba; una fallada diferent vol dir que l'etapa original està arreglada i tens la següent a les mans.