Ei offentleg nodeliste viser ein tenar med oppetid målt i veker, så du vel han, og tilkoplinga feilar på første forsøk. Det er ikkje falsk reklame; det er det gale spørsmålet stilt til eit tal som måler noko anna. Oppetid oppgir vanlegvis kor lenge ein prosess, container eller maskin har køyrt sidan siste start, og det er ein eigenskap ved infrastrukturen til utgjevaren, ikkje ved vegen din dit. Å handsame det som pålitelegheit er den same kategorifeilen som å handsame kilometerteljaren på ein bil som ein vegrapport.

Kva talet måler

På ein vert med ein moderne tenestebehandlar er teljaren forankra i ei hending du faktisk kan lese: tidsstempelet då eininga gjekk inn i aktiv tilstand, eller oppstartstida til maskinen. Alt anna er aritmetikk på den forankringa, og definisjonen av forankringa varierer mellom utgivarar. Éi liste kan nullstillast ved ein daemon-omstart, ei anna ved omstart av maskinen, og ei tredje ved ei manuell nullstilling utført av ein operatør som ville ha ein rein graf.

systemctl show -p ActiveEnterTimestamp --value openvpn-server@server
uptime -s
systemctl is-active openvpn-server@server

Dei tre kommandoane svarar på tre ulike spørsmål, og ei katalogliste som viser eitt tal kan ikkje fortelje deg kva for eitt av dei ho brukte. Å samanlikne ein rå teljar frå to lister er derfor ikkje ei samanlikning i det heile før du veit kva kvar av dei nullstillast på.

Ein prosess kan køyre medan vegen er nede

Daemonen lyttar. Sertifikatet er gyldig. Prosessen har levd i tjuetre dagar. Ingenting av dette garanterer at pakkar frå nettet ditt når han, fordi nåbarheit er ein eigenskap ved heile vegen: oppstraumsforbindelsen til leverandøren, peeringa mellom nettet deira og ditt, trengselen på ei delt transittlinje og brannmuren framfor di eiga tilkopling.

Ein tenar kan òg vere oppe og ubrukeleg av ein annan grunn. Ein node som har teke imot langt fleire klientar enn bandbreidda støttar, vil vise lang oppetid og ei forferdeleg oppleving, fordi teljaren ikkje måler kapasitet eller konkurranse. Dette er den vanlegaste måten ein node med høg oppetid skuffar: ingenting er i stykke, alt er oppteke.

Det motsette tilfellet er òg verdt å hugse. Ein node som vart starta på nytt for ein time sidan, kan vere heilt frisk no, og sortering etter det største talet utelèt han stille. Oppetid er ikkje ein kvalitetsscore, og å handsame det som ein slik vel etter alder i staden for etter eignaheit.

Ferskleik: rapporten er eldre enn forsøket ditt

Offentlege katalogar er sider genererte frå periodiske kontrollar, ikkje levande telemetri. Oppetida du les vart rekna ut ved førre oppdatering, og tilkoplinga du prøver skjer etterpå. I mellomtida kan ein leverandør miste ei linje, bytte eit sertifikat, flytte ei adresse eller ta ein node ut av teneste, og sida vil halde fram med å vise den sist kjende gode tilstanden til neste gjennomkøyring.

Det gapet verkar òg den andre vegen. Ein node som vert rapportert som nede, kan ha kome seg minutt etter at rapporten vart laga, så eit umiddelbart nytt forsøk mot ein annan node er ikkje alltid det betre valet.

Den praktiske regelen er at kvart rapporterte felt er ein påstand om fortida. Bruk det til å byggje ei kortliste, og verifiser deretter med ei måling du gjer sjølv i det augneblinken du bryr deg om.

Kva du bør teste i staden

Avgjer kva du treng frå noden, og test det. Treng du nåbarheit, fortel eit TCP-tilkoplingsforsøk til lyttporten deg meir på eitt sekund enn nokon teljar. Treng du ein fungerande tunnel, forhandle fram ein. Treng du brukbar gjennomstrøyming, overfør noko ekte og mål det, fordi tilkoplingstid og gjennomstrøyming er ulike eigenskapar, og eit raskt handtrykk seier ingenting om den andre.

nc -vz -w 5 vpn.example.net 1194
curl -sS -o /dev/null -w '%{time_connect} %{time_appconnect} %{time_total}\n' https://vpn.example.net/
mtr -rwc 20 vpn.example.net

Gjenta testen i staden for å stole på eitt forsøk. Pålitelegheit er ei fordeling over tid og forhold, og éi vellukka tilkopling er eit utval på storleik éin. Ein handfull forsøk i timane du faktisk brukar tilkoplinga, vil slå kvar publisert oppetid med god margin.

Å lese offentlege nodelister utan å bli villeda

Oppetid ber heller ingen informasjon om det folk vanlegvis vil ha frå ein VPN: gyldigheita til sertifikatet, kven som driv utgangen, kva DNS-policy som gjeld, og om operatøren lagrar tilkoplingsloggar. Dette er separate påstandar som krev separate bevis, og ein lang teljar er ikkje bevis for nokon av dei. Ein node kan vere stabil i månadsvis og likevel vere eit dårleg val for eit personvernkrav.

Der ei liste verkeleg hjelper, er ved å lage ei kortliste. Sorter etter det du veit du treng, filtrer ut nodar i regionar som er irrelevante for oppgåva, og test deretter dei tre eller fire som er att. Ta vare på feilsteget frå kvart forsøk i staden for eit enkelt ja eller nei, fordi «TLS-handtrykket mislykkast» og «tilkopla, men inga gjennomstrøyming» fører til heilt ulike konklusjonar.

Rammeverket for måling av ytinga til vegen gjer det same poenget i ei strengare form: definer metrikken, forholda og metoden før du samlar inn tal. Brukt på ei nodeliste betyr det at oppetidsfeltet er kontekst. Målinga du gjer sjølv, er avgjerda.

Relaterte artiklar