„Připojení vypršelo“ je nejméně konkrétní chyba, kterou klient VPN umí vypsat. Znamená, že jedna operace propásla svůj termín, a každá fáze od překladu jména po odpověď při přihlášení má termín. Klienti, kteří zobrazují jen závěrečnou zprávu, dělají fáze nerozeznatelnými, a tak lidé prodlužují limit, mění port a přeinstalovávají profil, v tomto pořadí, aniž by se něco dozvěděli. Porovnávat fáze je rychlejší: každá selhává na jiném místě a každé selhání zanechává jiný druh důkazu.

Čtyři fáze, čtyři různá selhání

Pořadí je pevné, i když ho klient skrývá: jméno se musí přeložit, k výsledné adrese se musí navázat transport, protokol musí vyjednat své parametry a klíče a účet musí být ověřen. Průvodce OpenVPN pro odstraňování problémů s připojením postupuje u vlastního klienta ve stejném pořadí a ostatní ho těsně následují. Vypršení ve druhé fázi a vypršení ve čtvrté nemají nic společného kromě slova na obrazovce.

StageLooks likeWhat it does not prove
Name resolutionfails in under a second, before any contactnothing about the server being up
Transportwaits the full timeout, then gives upnothing about the VPN service behind the port
Negotiationconnects, then stalls at handshakenothing about credentials
Logina reply arrives and is rejected or hangs on a promptnothing about reachability

Čtěte protokol a hledejte poslední řádek, který ukazuje pokrok, ne poslední řádek před chybou. Většina klientů vypíše něco jako přeloženou adresu, navázaný soket, zahájené handshake nebo požadavek na ověření, a fáze, která následuje po tomto řádku, je ta, která vypršela.

Překlad jména selhává dřív, než se cokoli kontaktuje

Pokud se koncový bod nikdy nepřeloží, klient se nemá k čemu připojit a žádná transportní práce neproběhla. Takové selhání je obvykle okamžité, nikoli plné vypršení, což je nejlevnější způsob, jak ho od ostatních odlišit. Otestujte jméno systémovým resolverem a druhým resolverem a porovnejte obě odpovědi, než usoudíte, že server je mimo provoz.

Stará adresa zkopírovaná z příspěvku na fóru je častou příčinou vypršení, které vypadá jako problém serveru, protože adresa teď patří něčemu jinému nebo ničemu. Použijte aktuální profil operátora místo nahrazování adresy, která dřív fungovala. Chybějící odpověď na ping není důkaz ani jedním směrem: mnoho koncových bodů zahazuje ICMP, a přitom slouží naprosto dobře.

Nastavení transportu čeká na paket, který nepřijde

Když je DNS v pořádku a klient přesto spálí celý limit, podezřelým je transportní vrstva. Na TCP můžete port otestovat přímo; Test-NetConnection ve Windows nebo nc -vz v Linuxu vám řekne, zda něco připojení přijímá, a to je užitečnější než ping. Na UDP to stejně otestovat nelze, protože v této vrstvě není žádné handshake k dokončení, a tato asymetrie způsobuje mnoho chybných závěrů.

To, co TCP test prokáže, je omezené: služba přijímající port 443 nemusí být VPN listener a koncový bod pouze s UDP nemá žádný TCP port, který by něco přijal. Přepsání profilu z UDP na TCP nevytvoří listener na druhé straně; jen změní, na co váš klient čeká. Pokud síť protokol filtruje, změna vyprodukuje jiné vypršení ve stejné fázi.

Captive portály si v této fázi zaslouží vlastní kontrolu. Dokud portál zařízení neschválí, odchozí provoz jde na portál a pokus o tunel prostě visí. Nejprve portál dokončete v prohlížeči, potom to zkuste znovu, a neměňte profil, dokud portál stále čeká.

Vyjednávání a přihlášení znamenají, že server odpověděl

Jakmile tunel dosáhne serveru, klient zahájí handshake a chyba změní charakter. Zaseknutí tady souvisí s kompatibilitou, ne s dostupností: neshodné verze protokolu, nastavení šifry nebo datového kanálu, které druhá strana nepřijme, nebo profil, který očekává funkci, již server nenabízí. OpenVPN měnil své výchozí hodnoty vyjednávání mezi hlavními verzemi tak často, že profil napsaný pro jednu generaci může serveru dosáhnout a přesto se nezvednout.

Ověření je poslední fáze a nejlépe se dá přečíst špatně. Explicitní odmítnutí je odpověď, což znamená, že cesta funguje a problém je v identitě, certifikátu nebo stavu účtu. Tok jednotného přihlášení přes prohlížeč je třetí případ: klient čeká na akci, kterou jste neprovedli, nebo na prohlížeč, který nedokáže spustit, a nic nepřijde, dokud ten krok nedokončíte.

Porovnejte důkazy, než změníte opakování

Držte zařízení a profil pevně a měňte po jednom, počínaje sítí. Pokud se stejný profil připojí přes hotspot telefonu a na hotelovém Wi-Fi vyprší, proměnnou je cesta, ne server. Pokud selhává všude, proměnnou je profil nebo koncový bod. Pokud selhává jen v určitou denní dobu, zaznamenejte časové razítko a porovnejte ho s událostmi na straně serveru, než cokoli předpokládáte o zátěži.

U služby, kterou spravujete, je rozhodující srovnání, zda pokus vůbec dorazí. Spojení, které dosáhne listeneru a pak se zasekne, patří k fázi vyjednávání; to, které se v pohledu listeneru nikdy neobjeví, je problém transportu nebo překladu, a žádné ladění opakování s ním nepohne. Serverové protokoly také oddělují odmítnuté přihlášení od tichého shození, což je rozdíl mezi opravou identity a opravou firewallu.

Zaznamenejte verzi klienta, název profilu, čas pokusu s jeho časovým pásmem a první užitečnou chybu místo závěrečného řádku o odpojení. Před sdílením výňatku odstraňte klíče a materiál nesoucí přihlašovací údaje. Pak proveďte jednu smysluplnou opravu a zkuste to znovu, protože delší termín pomáhá jen zdokumentované pomalé operaci a nic neudělá se špatnou adresou nebo blokovaným portem.

Související články