V pátek to fungovalo. V pondělí stejný klient Windows odpovídá dialogem, že pokus o připojení selhal, a věta pod ním je ta, kterou jste už viděli u tuctu nesouvisejících problémů. Ten dialog je konec řetězu, ne jeho začátek. Windows skrývá fázi, ve které pokus skutečně zemřel, a dva malé důkazy ji pojmenují: číselný kód výsledku a jedna událost RasClient z téže minuty. Tohle je pořadí, které používám — zafixujte pokus, přečtěte kód, vytáhněte událost a pak změňte přesně jednu vrstvu.

Text dialogu je poslední krok, ne příčina

Věta, kterou čtete, se vybírá poté, co se pokus už rozvinul. "Připojení bylo ukončeno vzdáleným počítačem předtím, než bylo připojení navázáno" se objeví, když server zavěsí uprostřed vyjednávání, když IPsec selže dřív, než bylo vaše uživatelské jméno vůbec odesláno, a když zásada tunel rovnou odmítne. Tři různí vlastníci, jedna věta. Berte formulaci jako třídu symptomů a nedovolte jí nic řídit, dokud s ní kód nesouhlasí.

Co ještě můžete zafixovat, je samotný pokus. Zapište název připojení, typ tunelu uložený v profilu — PPTP, L2TP/IPsec, SSTP nebo IKEv2 — čas na sekundu a kód. Pokud si nejste jistí, který protokol skutečně běžel, otevřete %APPDATA%\Microsoft\Network\Connections\Pbk\rasphone.pbk a přečtěte záznam, místo abyste věřili paměti; profil znovu použitý pro nový protokol si ponechá staré zobrazované jméno.

Přečtěte číslo dřív, než přečtete slova

Kódy spadají do tří fází, a fáze je důležitější než přesná formulace: výměna ověřování, ke které se došlo a která byla odmítnuta, server, který nikdy neodpověděl, nebo vyjednávání, které se zhroutilo poté, co spojení naskočilo. 691 je první druh — kontrola přihlašovacích údajů proběhla a selhala, ať už kvůli špatnému heslu, uzamčenému nebo propadlému účtu, nebo protokolu ověřování, který server nepřijímá. 812 je také odmítnutí, ale s platnými přihlašovacími údaji: zásada na serveru vzdáleného přístupu se rozhodla proti vám. Microsoft udržuje kanonický seznam kódů chyb pro vytáčené a VPN připojení a vyplatí se přečíst si tam své číslo, než začnete hledat text zprávy.

809 je opačná třída: nic se nevrátilo. To je problém cesty — TCP 443 filtrovaný pro SSTP, GRE blokovaný pro PPTP, UDP 500 a 4500 nebo ESP zahozené pro průchod IPsec. Nové heslo to nespraví a nový certifikát taky ne. 720 znamená, že spojení naskočilo a PPP nikdy nedokončil vyjednávání, což ukazuje na neshodu protokolu nebo server, který nedokázal přidělit adresu. 789, nebo 13801 u IKEv2, je identita uvnitř IPsec: certifikát, jehož subjekt neodpovídá jménu, které vytáčíte, nedůvěryhodný řetěz, nebo předem sdílený klíč, který se mezi dvěma konci liší.

Vytáhněte událost RasClient pro tutéž minutu

V Prohlížeči událostí je Windows Logs > Application filtrovaný podle zdroje RasClient první místo, kam se dívat. Microsoftův popis chyby 720 ukazuje na událost 20227 v tomto protokolu. Stejný poskytovatel vydává jiné identifikátory pro jiné výsledky, takže čtěte zprávu a vložený kód výsledku, místo abyste ID brali jako diagnózu; obecný dialog plus 20227 nesoucí 720 je už mnohem užší příběh.

Z PowerShellu, bez klikání přes GUI:

Get-WinEvent -FilterHashtable @{
  LogName      = 'Application'
  ProviderName = 'RasClient'
  StartTime    = (Get-Date).AddMinutes(-15)
} | Format-List TimeCreated, Id, Message

Prázdný výsledek je informativní. Obvykle znamená, že vytáčení nedošlo dost daleko, aby RAS něco zalogoval, nebo že software, který selhal, vůbec není nativní klient — klienti třetích stran si drží vlastní diagnostiku a často do protokolu Application nic nezapisují. Než uzavřete, že je protokolování událostí rozbité, zkontrolujte protokol dodavatele.

Postavte jednu časovou osu místo hromady událostí

Smyčky opakování vytvářejí šum. Pět automatických opětovných připojení nechá shluk událostí a pokušení je číst jako jednu sekvenci s jedinou příčinou. Je to pět samostatných pokusů a jen některé z nich dosáhly serveru. Vezměte okno dvou nebo tří minut, jeden název připojení a vypište každou událost s jejím vlastním kódem, než cokoli vyložíte.

Pak se zeptejte, kde se pokus zastavil. Když brána nebo backend ověřování nemá pro tento časový otisk žádný záznam, klient se k němu nikdy nedostal a díváte se na problém dosažitelnosti. Když backend ukazuje požadavek a odmítnutí, rozhodnutí padlo tam a platí třída přihlašovacích údajů nebo zásady. Porovnejte hodiny, než porovnáte časy: klienti hlásí místní čas, mnoho bran loguje UTC a posun udělá z dokonale korelovaného páru nesouvisející dvojici.

Pro opakovatelný záznam vytočte z příkazového řádku a nechte ho vytisknout výsledek:

rasdial "Office VPN"
rasdial "Office VPN" /disconnect

Konzole ukazuje číslo, které GUI schovává za přátelským textem, a dvojí spuštění vám řekne, zda je kód stabilní, nebo občasný.

Co vám každá fáze říká změnit

Pojmenování fáze je užitečné jen tehdy, když zúží množinu změn na jednu vrstvu:

  • 691 — ověřování: metoda EAP, kterou klient nabízí, proti té, kterou server přijímá, stav účtu, vypršení hesla, oprávnění k vytáčenému připojení.
  • 812 — zásada serveru: zásada vzdáleného přístupu nebo pravidlo NPS, které odpovídá tomuto uživateli a tomuto časovému oknu.
  • 809 — dosažitelnost: pravidla firewallu na cestě, NAT a průchod protokolu, port, který zvolený typ tunelu potřebuje.
  • 720 — vyjednávání PPP: neshoda protokolu ověřování, přidělení adresy, nastavení PPP na straně serveru.
  • 789 / 13801 — identita IPsec: subjekt certifikátu proti jménu, které vytáčíte, řetěz důvěry, předem sdílený klíč.

Změňte jedno z toho, otestujte znovu stejný profil a zapište nový kód. Jiný kód po změně je pokrok, ne rozpor: posunuli jste selhání do pozdější fáze, a tak vypadá oprava vícestupňového handshake. Co byste neměli dělat, je změnit firewall, certifikát a heslo v jednom sezení a pak připsat zásluhu tomu, co přišlo poslední.

Sdílejte důkazy, ne prostředí

Zprávy událostí jsou bohatší, než vypadají. Nesou název připojení, účet, často interní název nebo adresu brány a někdy otisk certifikátu. Uchovávejte originál tam, kam patří, a pro kohokoli jiného postavte samostatnou redigovanou kopii; přepisování časové osy z paměti ztrácí přesně ty detaily, které ji činí užitečnou.

Předávka, která se skutečně zpracuje, potřebuje pět polí: kód, fázi, do které patří, klienta a typ tunelu, časový otisk s jeho časovým pásmem a to, zda brána požadavek vůbec viděla. Všechno ostatní je volitelné. S těmito pěti může další člověk rozeznat spor o přihlašovací údaje od sporu o směrování, aniž by vyšetřování opakoval.

Než něco uzavřete, přehrajte pokus na stejném profilu a potvrďte, kam kód nyní padá. Úspěch to ukončí; jiné selhání znamená, že původní fáze je opravená a tu další máte v ruce.

Související články