Časový limit pripojenia VPN: DNS, transport, vyjednávanie alebo prihlásenie
Časový limit znamená len to, že uplynula lehota. Porovnajte štyri fázy, preklad názvu, transport, vyjednávanie a prihlásenie, aby ste zistili, ktorá skončila ako posledná.
„Pripojenie vypršalo“ je najmenej konkrétna chyba, ktorú klient VPN dokáže vypísať. Znamená, že jedna operácia zmeškala svoj termín, a každá fáza od prekladu názvu po odpoveď prihlásenia má termín. Klienti, ktorí zobrazujú len záverečnú správu, robia fázy nerozoznateľnými, a tak ľudia zvyšujú limit, menia port a preinštalúvajú profil, v tomto poradí, bez toho aby sa niečo naučili. Porovnávanie fáz je rýchlejšie: každá zlyháva na inom mieste a každé zlyhanie zanecháva iný druh dôkazu.
Štyri fázy, štyri rôzne zlyhania
Poradie je pevné, aj keď ho klient skrýva: názov sa musí preložiť, k výslednej adrese sa musí nadviazať transport, protokol musí vyjednať svoje parametre a kľúče a účet musí byť overený. Sprievodca OpenVPN na odstraňovanie problémov s pripojením postupuje u vlastného klienta v rovnakom poradí a ostatní ho tesne nasledujú. Vypršanie v druhej fáze a vypršanie vo štvrtej nemajú nič spoločné okrem slova na obrazovke.
| Stage | Looks like | What it does not prove |
|---|---|---|
| Name resolution | fails in under a second, before any contact | nothing about the server being up |
| Transport | waits the full timeout, then gives up | nothing about the VPN service behind the port |
| Negotiation | connects, then stalls at handshake | nothing about credentials |
| Login | a reply arrives and is rejected or hangs on a prompt | nothing about reachability |
Čítajte protokol a hľadajte posledný riadok, ktorý ukazuje pokrok, nie posledný riadok pred chybou. Väčšina klientov vypíše niečo ako preloženú adresu, nadviazaný soket, začaté handshake alebo požiadavku na overenie, a fáza, ktorá nasleduje po tomto riadku, je tá, ktorá vypršala.
Preklad názvu zlyháva skôr, než sa čokoľvek kontaktuje
Ak sa koncový bod nikdy nepreloží, klient sa nemá k čomu pripojiť a neprebehla žiadna transportná práca. Také zlyhanie je zvyčajne okamžité, nie plné vypršanie, čo je najlacnejší spôsob, ako ho od ostatných odlíšiť. Otestujte názov systémovým resolverom a druhým resolverom a porovnajte obe odpovede, než usúdite, že server je mimo prevádzky.
Stará adresa skopírovaná z príspevku na fóre je častou príčinou vypršania, ktoré vyzerá ako problém servera, pretože adresa teraz patrí niečomu inému alebo ničomu. Použite aktuálny profil operátora namiesto nahradzovania adresy, ktorá predtým fungovala. Chýbajúca odpoveď na ping nie je dôkaz ani jedným smerom: mnoho koncových bodov zahadzuje ICMP, a pritom slúži veľmi dobre.
Nastavenie transportu čaká na paket, ktorý nepríde
Keď je DNS v poriadku a klient predsa spáli celý limit, podozrivým je transportná vrstva. Na TCP môžete port otestovať priamo; Test-NetConnection v Windows alebo nc -vz v Linuxe vám povie, či niečo prijíma pripojenie, a to je užitočnejšie ako ping. Na UDP to rovnako otestovať nejde, pretože v tej vrstve nie je handshake na dokončenie, a táto asymetria spôsobuje mnoho chybných záverov.
To, čo TCP test dokáže, je obmedzené: služba prijímajúca port 443 nemusí byť VPN poslucháč a koncový bod iba s UDP nemá žiadny TCP port, ktorý by niečo prijal. Prepísanie profilu z UDP na TCP nevytvorí poslucháča na druhej strane; len zmení, na čo váš klient čaká. Ak sieť filtruje protokol, zmena vyprodukuje iné vypršanie v tej istej fáze.
Captive portály si v tejto fáze zaslúžia vlastnú kontrolu. Kým portál neschváli zariadenie, odchádzajúca prevádzka ide na portál a pokus o tunel jednoducho visí. Najprv dokončite portál v prehliadači, potom to skúste znova, a nemeňte profil, kým portál ešte čaká.
Vyjednávanie a prihlásenie znamenajú, že server odpovedal
Hneď ako tunel dosiahne server, klient začne handshake a chyba zmení charakter. Zaseknutie tu súvisí s kompatibilitou, nie s dostupnosťou: nezodpovedajúce verzie protokolu, nastavenie šifry alebo dátového kanála, ktoré druhá strana neprijme, alebo profil, ktorý očakáva funkciu, ktorú server neponúka. OpenVPN menil svoje predvolené hodnoty vyjednávania medzi hlavnými verziami dosť často na to, aby profil napísaný pre jednu generáciu dosiahol server a napriek tomu sa nezdvihol.
Overenie je posledná fáza a najľahšie sa číta nesprávne. Explicitné odmietnutie je odpoveď, čo znamená, že cesta funguje a problém je v identite, certifikáte alebo stave účtu. Tok jednotného prihlásenia cez prehliadač je tretí prípad: klient čaká na akciu, ktorú ste nevykonali, alebo na prehliadač, ktorý nedokáže spustiť, a nič nepríde, kým ten krok nedokončíte.
Porovnajte dôkazy, než zmeníte opakovanie
Držte zariadenie a profil pevne a meňte po jednom, počnúc sieťou. Ak sa ten istý profil pripojí cez hotspot telefónu a na hotelovom Wi-Fi vyprší, premennou je cesta, nie server. Ak zlyháva všade, premennou je profil alebo koncový bod. Ak zlyháva len v určitú dennú dobu, zaznamenajte časovú pečiatku a porovnajte ju s udalosťami na strane servera, než čokoľvek predpokladáte o zaťažení.
Pre službu, ktorú spravujete, je rozhodujúce porovnanie, či pokus vôbec dorazí. Spojenie, ktoré dosiahne poslucháča a potom sa zasekne, patrí k fáze vyjednávania; to, ktoré sa v pohľade poslucháča nikdy neobjaví, je problém transportu alebo prekladu, a žiadne ladenie opakovania s ním nepohne. Serverové protokoly tiež oddeľujú odmietnuté prihlásenie od tichého zhodenia, čo je rozdiel medzi opravou identity a opravou firewallu.
Zaznamenajte verziu klienta, názov profilu, čas pokusu s jeho časovým pásmom a prvú užitočnú chybu namiesto záverečného riadku o odpojení. Pred zdieľaním výňatku odstráňte kľúče a materiál nesúci prihlasovacie údaje. Potom urobte jednu zmysluplnú opravu a skúste to znova, pretože dlhší termín pomáha len zdokumentovanej pomalej operácii a nič neurobí so zlou adresou alebo blokovaným portom.