Otevřete dialog VPN ve Windows po selhání a dostanete číslo a větu, přičemž věta je obvykle ta méně užitečná polovina. Číslo určuje, která fáze spojení selhala, a fáze určuje, do kterého logu, kterého nastavení a kterého týmu se máte podívat dál. Projít fáze popořadě trvá asi deset minut a zabrání známé sekvenci přeinstalace adaptérů, přepínání protokolů a resetu zásobníku, abyste opravili účet, kterému nikdy nebylo povoleno se připojit.

Čtěte číslo jako fázi

Nativní spojení prochází čtyřmi milníky. Dosáhne serveru a naváže spojení, vyjedná zabezpečení, ověří uživatele a použije adresování a směrování. Selhání v každém z nich zanechává jiné důkazy a kód, který patří jedné fázi, vám o ostatních neřekne nic užitečného.

Chybou, které je třeba se vyhnout, je brát kód jako míru závažnosti. Selhání spojení i selhání autorizace se čtou jako "nepodařilo se připojit" a nic jiného společného nemají. Závažnost říká, jak je co naléhavé; fáze říká, co otevřít.

Code familyStageWhere the evidence lives
829, 703Link or dial completionClient event log, remote listener reachability
720PPP negotiation and miniport bindingAdapter state, bindings, client log detail
691, 649, 812Identity and authorizationGateway or authentication server decision
Connected, no trafficAddressing, routing and resolutionRoute table and resolver configuration

První fáze: spojení a pokus o vytáčení

829 znamená, že podkladové spojení spadlo. Neříká, zda vzdálený protějšek přestal odpovídat, zda mezilehlé zařízení zabilo relaci, nebo zda ji uzavřela zásada na klientovi. Kód dokončení vytáčení, jako je 703, je ještě dřívější: pokus se vůbec nedostal ke spojení, což obvykle ukazuje na profil, stav služby nebo místní zásadu.

Get-VpnConnection -Name 'Corp' | Select-Object Name,ServerAddress,TunnelType,AuthenticationMethod,ConnectionStatus
Test-NetConnection -ComputerName vpn.example.net -Port 443
Get-WinEvent -LogName Application -MaxEvents 200 | Where-Object ProviderName -match 'RasClient' | Select-Object -First 15 TimeCreated,Id,Message

Dotaz na události je část, kterou lidé přeskakují. Záznam na straně klienta s časovým razítkem a názvem rozhraní má větší cenu než dialog, protože říká, zda pokus vůbec opustil stroj. Žádný záznam a žádná odpověď naslouchajícího znamená problém s dostupností a žádné úpravy klienta to nezmění.

Pokud stejný profil funguje v jiné síti, zastavte se zde. Kód popisuje stav cesty, a ne chybu konfigurace, a dalším užitečným srovnáním jsou dva záznamy, ne další přeinstalace.

Druhá fáze: PPP a vazba miniportu

720 stojí mezi spojením a uživatelem. Tunel se zvedl a pak vrstva PPP nedokázala vyjednat adresu nebo řídicí protokol, což je často problém vazby na klientovi, a ne odmítnuté přihlašovací údaje. Tento rozdíl je celá hodnota kódu: říká, že přihlašovací údaje nebyly vůbec dosaženy, takže účet není podezřelý.

Get-NetAdapter -IncludeHidden | Where-Object InterfaceDescription -match 'WAN Miniport' | Select-Object Name,Status,ifIndex
Get-NetAdapterBinding | Where-Object ComponentID -match 'ms_pptp|ms_l2tp|ms_sstp|ms_agile' | Select-Object Name,ComponentID,Enabled

Čtení těchto dvou výstupů je informativnější než resetování čehokoli. Miniport, který existuje, ale není spuštěn, nebo vazba protokolu vypnutá jiným softwarem, vytváří přesně selhání této fáze. Obě lze opravit bez zásahu do zbytku zásobníku. Úplný reset naopak odstraní adresování a stav filtrování, které s poruchou neměly nic společného.

Třetí fáze: identita a autorizace

691 znamená, že přihlašovací údaje byly odmítnuty. 649 znamená, že účet nemá povoleno vytáčení, a 812 znamená, že zásada vzdáleného přístupu spojení odmítla. To jsou rozhodnutí, ne transportní poruchy, a klient je může jen ohlásit.

Důkazy jsou na druhé straně. Požádejte operátora brány o pokus v tom časovém razítku a o zásadu, která odpovídala; zeptejte se vlastníka adresáře, zda má účet oprávnění k vytáčení a zda je ve skupině, kterou zásada vyžaduje. Změna typu tunelu nebo přeinstalace klienta nemůže změnit rozhodnutí učiněné o identitě.

Užitečným zvykem v této fázi je napsat do tiketu přesný řetězec účtu včetně případného prefixu domény. Překvapivě mnoho případů 691 jsou uložené přihlašovací údaje pro špatnou doménu, a to je vidět v řetězci účtu, ne v nastavení protokolu.

Čtvrtá fáze: připojeno a nic nefunguje

Spojení se může dokončit a přesto být k ničemu. Drží adresu, klient hlásí úspěch a každý požadavek aplikace vyprší. Nic v dialogu to neodráží a není žádný kód k dohledání. V tu chvíli je dialog u konce a užitečné důkazy jsou jinde.

Get-NetRoute -DestinationPrefix 10.24.0.0/16 | Select-Object DestinationPrefix,NextHop,InterfaceAlias
Resolve-DnsName files.corp.example.internal
Test-NetConnection -ComputerName 10.24.6.15 -Port 445

Pokud trasa chybí, server ji neposlal nebo ji klient zahodil. Pokud trasa existuje a název selhává, problém je v překladu jmen. Pokud obojí funguje a aplikace přesto selhává, jste za tunelem a v konfiguraci samotné aplikace.

Držte změny na jedné vrstvě na jeden test. Každá úprava před dalším pokusem se stane součástí kontextu dalšího kódu a kód, který popisuje vaši poslední úpravu, je horší než žádný kód.

Jeden pokus, jedna změna, jeden záznam

Ať je fáze jakákoli, záznam by měl obsahovat kód, zprávu, název profilu, časové razítko a síť, na které jste byli. Pět polí a každé z nich už máte před sebou v dialogu nebo v logu klienta. Ta sada je dost malá na vložení do tiketu a dost konkrétní na to, aby ji někdo jiný zopakoval.

Pak položte to časové razítko vedle záznamu na druhé straně. Tabulka u horního okraje této stránky říká, které fázi patří každá neshoda. Bez druhého záznamu kód jen zužuje hledání; s ním je fáze rozhodnuta. Právě srovnání mění číslo v diagnózu, a ne v dohad.

Tento zvyk pokrývá téměř každou nativní poruchu VPN ve Windows a žádná z větví nevyžaduje cokoli přeinstalovat. Dialog vám vždy říkal, kterou máte; práce je v odmítnutí brát je všechny jako stejný problém.

Související články