Otvoríš adresár, zoradíš podľa rýchlosti, vyberieš uzol označený ako online a klient to vzdá skôr, než dokončí pripájanie. Zoznam úplne neklamal. Oznamoval výsledok cudzej kontroly, z inej siete, v skoršom okamihu, voči službe, ktorú dobrovoľník môže kedykoľvek vypnúť. Pochopenie tejto medzery premení vyčerpávajúce hľadanie na krátky rad kontrol, ktoré môžeš spustiť na ktoromkoľvek kandidátovi.

Čo zoznam skutočne zmeral

Verejný adresár uchováva polia ako čas poslednej kontroly, nameranú hodnotu času odozvy, počet relácií a niekedy zoznam protokolov. Každé z nich opisuje posledné úspešné pozorovanie z vlastného pohľadu projektu, nie stav uzla v chvíli, keď dorazí tvoj paket.

Čerstvosť je dôležitejšia ako číslo. Uzol skontrolovaný pred štyrmi minútami a uzol skontrolovaný pred štyrmi hodinami môžu zobrazovať rovnakú zelenú značku a len jeden z nich ešte pripomína zaznamenaný stav. Hľadaj časovú pečiatku, nie farbu.

Dobrovoľnícka prevádzka pridáva druhý zdroj zmien, ktorý žiadny monitor nedokáže opraviť. Prevádzkovateľ možno reštartuje notebook, dochádza mu šírka pásma, mení poskytovateľa alebo jednoducho zatvára veko. Záznam v zozname je kandidát a považovať ho za dohodu o úrovni služieb je kategorická chyba.

Sleduj fázy klienta, nie točiace sa koliesko

Každý klient VPN prechádza rovnakou širokou postupnosťou: preložiť meno, otvoriť transportné spojenie, vyjednať zabezpečenie, overiť identitu, potom nastaviť tunel a prenášať dáta. Zlyhanie v každej fáze zanecháva iné dôkazy a točiace sa koliesko neukazuje žiadne z nich.

Začni prekladom mena. Ak sa meno hostiteľa nepreloží, nič o dostupnosti uzla nebolo testované, pretože spojenie nikdy neopustilo tvoj počítač. Ďalej transport: odmietnutá alebo časovo vypršaná výmena TCP alebo UDP ti hovorí, že koncový bod na tom porte neodpovedá, čo je skutočné zistenie o uzle. Potom vyjednávanie a overovanie, kde zlyhá nesprávny certifikát, prepadnutý profil alebo nezhodná šifra, kým uzol je úplne zdravý. Až po nastavení tunela môže porucha smerovania alebo DNS vysvetliť posledný krok.

Čítaj protokol klienta s najvyššou podrobnosťou, ktorá sa ešte zmestí na obrazovku, a poznač si posledný úspešný riadok. Na tom riadku sa začína diagnóza a býva poučnejší než čokoľvek, čo adresár zobrazuje.

Jedna premenná na pokus

Porovnávaj kandidátov s rovnakým klientom, rovnakou prístupovou sieťou a rovnakým formátom profilu a meň len koncový bod. Inak môže byť zlyhanie tvoje a pripíšeš ho uzlu.

Dva pokusy stačia na určenie vzoru a tretí ho potvrdí. Ak uzol A zlyhá vo fáze transportu a uzol B pri overovaní, máš dva nesúvisiace problémy, nie jeden zastaraný zoznam.

Keď každý uzol zlyháva rovnako

Univerzálne zlyhanie v prvej fáze ukazuje na tvoju stranu: prekladač, ktorý nedokáže odpovedať, miestny firewall, ktorý blokuje protokol, alebo sieť, ktorá povoľuje len webovú prevádzku. Adresár to nemôže oznámiť, pretože jeho kontroly nebežia z tvojho miesta.

Otestuj prípad tvarovanej siete zámerne. Niektoré prístupové siete povoľujú HTTPS na web a iné protokoly zahadzujú, takže každý kandidát vyzerá mŕtvy, kým zoznam je presný. Porovnanie načítania stránky v prehliadači s hrubým pokusom o spojenie oddelí tieto dve situácie za menej než minútu.

Čítaj zlyhanie vo fáze, v ktorej nastalo

Zopakuj pokus z terminálu, aby boli fázy viditeľné. Tri príkazy nižšie preložia meno, otestujú, či port odpovedá, a vypíšu riadky vyjednávania z profilu OpenVPN:

dig +short node.example.net
curl -s --max-time 5 telnet://node.example.net:443
openvpn --config node.ovpn --verb 4 2>&1 | grep -iE "TLS|AUTH|PUSH"

Ak port odpovedá a riadok vyjednávania hlási problém s certifikátom, uzol beží a tvoj profil je zastaraný. Ak port vôbec neodpovedá, záznam je kandidát, ktorý zlyhal, a prechod na ďalší je správna reakcia namiesto ladenia klienta. Poznač si fázu v krátkom riadku a ďalší pokus začína z vedomosti, nie z nádeje.

Súvisiace články